From b9bfb7b275d11eb6ba90dc2dfa9cfa9f73cc613e Mon Sep 17 00:00:00 2001 From: Mike Reed Date: Wed, 3 Jan 2018 10:11:57 -0500 Subject: [PATCH] partial revert of https://skia-review.googlesource.com/c/skia/+/90026 for android Some errors: frameworks/base/core/jni/android/graphics/Bitmap.cpp:385: error: undefined reference to 'gDitherMatrix_4Bit_16' frameworks/base/core/jni/android/graphics/Bitmap.cpp:397: error: undefined reference to 'gDitherMatrix_4Bit_16' frameworks/base/core/jni/android/graphics/Bitmap.cpp:373: error: undefined reference to 'gDitherMatrix_3Bit_16' frameworks/base/core/jni/android/graphics/Bitmap.cpp:322: error: undefined reference to 'SkPM4f::toF16() const' frameworks/base/core/jni/android/graphics/Bitmap.cpp:333: error: undefined reference to 'SkFloatToHalf(float)' frameworks/base/core/jni/android/graphics/Bitmap.cpp:334: error: undefined reference to 'SkFloatToHalf(float)' frameworks/base/core/jni/android/graphics/Bitmap.cpp:335: error: undefined reference to 'SkFloatToHalf(float)' frameworks/base/core/jni/android/graphics/Bitmap.cpp:336: error: undefined reference to 'SkFloatToHalf(float)' frameworks/base/core/jni/android/graphics/Bitmap.cpp:639: error: undefined reference to 'SkPM4f::toF16() const' frameworks/base/core/jni/android/graphics/Bitmap.cpp:494: error: undefined reference to 'SkPM4f::FromF16(unsigned short const*)' frameworks/base/core/jni/android/graphics/Bitmap.cpp:494: error: undefined reference to 'SkPM4f::unpremul() const' external/skia/src/core/SkUtils.h:24: error: undefined reference to 'SkOpts::memset32' frameworks/base/core/jni/android/graphics/NinePatch.cpp:112: error: undefined reference to 'SkLatticeIter::Valid(int, int, SkCanvas::Lattice const&)' frameworks/base/core/jni/android/graphics/NinePatch.cpp:113: error: undefined reference to 'SkLatticeIter::SkLatticeIter(SkCanvas::Lattice const&, SkRect const&)' frameworks/base/core/jni/android/graphics/NinePatch.cpp:118: error: undefined reference to 'SkLatticeIter::next(SkRect*, SkRect*, bool*, unsigned int*)' frameworks/base/core/jni/android/graphics/NinePatch.cpp:118: error: undefined reference to 'SkLatticeIter::next(SkRect*, SkRect*, bool*, unsigned int*)' frameworks/base/core/jni/android/graphics/NinePatch.cpp:118: error: undefined reference to 'SkLatticeIter::next(SkRect*, SkRect*, bool*, unsigned int*)' external/skia/src/core/SkGeometry.h:427: error: undefined reference to 'SkConic::computeQuadPOW2(float) const' external/skia/src/core/SkGeometry.h:430: error: undefined reference to 'SkConic::chopIntoQuadsPOW2(SkPoint*, int) const' frameworks/base/core/jni/android/graphics/Shader.cpp:77: error: undefined reference to 'SkMakeImageFromRasterBitmap(SkBitmap const&, SkCopyPixelsMode)' Bug: skia:7454 Change-Id: I49b7c0890ac38b576b39e1ce76b22e2420c99889 Reviewed-on: https://skia-review.googlesource.com/90524 Reviewed-by: Mike Reed Commit-Queue: Mike Reed --- src/core/SkDither.h | 4 ++-- src/core/SkGeometry.h | 6 +++--- src/core/SkHalf.h | 2 +- src/core/SkImagePriv.h | 2 +- src/core/SkLatticeIter.h | 2 +- src/core/SkOpts.h | 2 +- src/core/SkPM4f.h | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/core/SkDither.h b/src/core/SkDither.h index b73f72e3df..685d11754e 100644 --- a/src/core/SkDither.h +++ b/src/core/SkDither.h @@ -183,8 +183,8 @@ static inline SkPMColor16 SkDitherARGB32To4444(SkPMColor c, unsigned dither) #define DITHER_VALUE(x) dither_scan[(x) & 3] #else - extern const uint16_t gDitherMatrix_4Bit_16[4]; - extern const uint16_t gDitherMatrix_3Bit_16[4]; + extern SK_API const uint16_t gDitherMatrix_4Bit_16[4]; + extern SK_API const uint16_t gDitherMatrix_3Bit_16[4]; #define DITHER_4444_SCAN(y) const uint16_t dither_scan = gDitherMatrix_4Bit_16[(y) & 3] #define DITHER_565_SCAN(y) const uint16_t dither_scan = gDitherMatrix_3Bit_16[(y) & 3] diff --git a/src/core/SkGeometry.h b/src/core/SkGeometry.h index 0e10df5151..96b617fc76 100644 --- a/src/core/SkGeometry.h +++ b/src/core/SkGeometry.h @@ -89,7 +89,7 @@ int SkChopQuadAtMaxCurvature(const SkPoint src[3], SkPoint dst[5]); convert it into the cubic fitting the same curve. The new cubic curve is returned in dst[0..3]. */ -void SkConvertQuadToCubic(const SkPoint src[3], SkPoint dst[4]); +SK_API void SkConvertQuadToCubic(const SkPoint src[3], SkPoint dst[4]); /////////////////////////////////////////////////////////////////////////////// @@ -272,13 +272,13 @@ struct SkConic { * return the power-of-2 number of quads needed to approximate this conic * with a sequence of quads. Will be >= 0. */ - int computeQuadPOW2(SkScalar tol) const; + int SK_API computeQuadPOW2(SkScalar tol) const; /** * Chop this conic into N quads, stored continguously in pts[], where * N = 1 << pow2. The amount of storage needed is (1 + 2 * N) */ - int SK_WARN_UNUSED_RESULT chopIntoQuadsPOW2(SkPoint pts[], int pow2) const; + int SK_API SK_WARN_UNUSED_RESULT chopIntoQuadsPOW2(SkPoint pts[], int pow2) const; bool findXExtrema(SkScalar* t) const; bool findYExtrema(SkScalar* t) const; diff --git a/src/core/SkHalf.h b/src/core/SkHalf.h index 926137b45c..a862990d4a 100644 --- a/src/core/SkHalf.h +++ b/src/core/SkHalf.h @@ -23,7 +23,7 @@ static constexpr uint16_t SK_Half1 = 0x3C00; // 1 // convert between half and single precision floating point float SkHalfToFloat(SkHalf h); -SkHalf SkFloatToHalf(float f); +SkHalf SK_API SkFloatToHalf(float f); // Convert between half and single precision floating point, // assuming inputs and outputs are both finite, and may diff --git a/src/core/SkImagePriv.h b/src/core/SkImagePriv.h index 509b7fa34f..349402491d 100644 --- a/src/core/SkImagePriv.h +++ b/src/core/SkImagePriv.h @@ -43,7 +43,7 @@ sk_sp SkMakeBitmapShader(const SkBitmap& src, SkShader::TileMode, SkSh * SkImageInfo, or the bitmap's pixels cannot be accessed, this will return * nullptr. */ -extern sk_sp SkMakeImageFromRasterBitmap(const SkBitmap&, SkCopyPixelsMode); +extern SK_API sk_sp SkMakeImageFromRasterBitmap(const SkBitmap&, SkCopyPixelsMode); /** * Similar to SkMakeImageFromRasterBitmap, this wraps a |src| bitmap in an image. diff --git a/src/core/SkLatticeIter.h b/src/core/SkLatticeIter.h index 85de83232d..08cdd5a965 100644 --- a/src/core/SkLatticeIter.h +++ b/src/core/SkLatticeIter.h @@ -18,7 +18,7 @@ struct SkRect; /** * Disect a lattice request into an sequence of src-rect / dst-rect pairs */ -class SkLatticeIter { +class SK_API SkLatticeIter { public: static bool Valid(int imageWidth, int imageHeight, const SkCanvas::Lattice& lattice); diff --git a/src/core/SkOpts.h b/src/core/SkOpts.h index 9cf0ba9d8f..6e6e16805a 100644 --- a/src/core/SkOpts.h +++ b/src/core/SkOpts.h @@ -46,7 +46,7 @@ namespace SkOpts { inverted_CMYK_to_BGR1; // i.e. convert color space extern void (*memset16)(uint16_t[], uint16_t, int); - extern void (*memset32)(uint32_t[], uint32_t, int); + extern void SK_API (*memset32)(uint32_t[], uint32_t, int); extern void (*memset64)(uint64_t[], uint64_t, int); // The fastest high quality 32-bit hash we can provide on this platform. diff --git a/src/core/SkPM4f.h b/src/core/SkPM4f.h index dd54403a7b..e1cb1cd27d 100644 --- a/src/core/SkPM4f.h +++ b/src/core/SkPM4f.h @@ -26,7 +26,7 @@ static inline Sk4f swizzle_rb_if_bgra(const Sk4f& x) { /* * The float values are 0...1 premultiplied in RGBA order (regardless of SkPMColor order) */ -struct SkPM4f { +struct SK_API SkPM4f { enum { R, G, B, A, };