From 2fbf1bc8c96f749a4c098bcfc827053445c2e12d Mon Sep 17 00:00:00 2001 From: Derek Sollenberger Date: Wed, 20 Sep 2017 15:51:08 -0400 Subject: [PATCH] Add SK_API to APIs used by the android framework. This CL enables us to set the default visibility of the symbols on Android to hidden. It is the intent that all of he SK_APIs that have been added to /src directies should be removed as soon as we can remove their callers within Android. Bug: b/31971097 Change-Id: Ic787f94df0fb0c2b8d941aa7095a12b317c4b5de Reviewed-on: https://skia-review.googlesource.com/49501 Reviewed-by: Mike Reed Commit-Queue: Derek Sollenberger --- include/android/SkBitmapRegionDecoder.h | 2 +- include/codec/SkAndroidCodec.h | 2 +- include/core/SkColor.h | 2 +- include/core/SkDrawable.h | 2 +- include/core/SkVertices.h | 2 +- include/effects/SkBlurDrawLooper.h | 2 +- include/utils/SkCamera.h | 2 +- include/utils/SkFrontBufferedStream.h | 2 +- include/utils/SkInterpolator.h | 4 ++-- include/utils/SkShadowUtils.h | 2 +- src/core/SkDither.h | 4 ++-- src/core/SkGeometry.h | 4 ++-- 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 +- src/effects/SkBlurMask.h | 4 ++-- src/images/SkJPEGWriteUtility.h | 4 ++-- 19 files changed, 24 insertions(+), 24 deletions(-) diff --git a/include/android/SkBitmapRegionDecoder.h b/include/android/SkBitmapRegionDecoder.h index c41d11247b..b5a4c813bb 100644 --- a/include/android/SkBitmapRegionDecoder.h +++ b/include/android/SkBitmapRegionDecoder.h @@ -17,7 +17,7 @@ * This class aims to provide an interface to test multiple implementations of * SkBitmapRegionDecoder. */ -class SkBitmapRegionDecoder { +class SK_API SkBitmapRegionDecoder { public: enum Strategy { diff --git a/include/codec/SkAndroidCodec.h b/include/codec/SkAndroidCodec.h index cc93bf18c4..8dfa8ba5fe 100644 --- a/include/codec/SkAndroidCodec.h +++ b/include/codec/SkAndroidCodec.h @@ -17,7 +17,7 @@ * Abstract interface defining image codec functionality that is necessary for * Android. */ -class SkAndroidCodec : SkNoncopyable { +class SK_API SkAndroidCodec : SkNoncopyable { public: /** * If this stream represents an encoded image that we know how to decode, diff --git a/include/core/SkColor.h b/include/core/SkColor.h index 8197408739..c8c6a6acf3 100644 --- a/include/core/SkColor.h +++ b/include/core/SkColor.h @@ -175,7 +175,7 @@ struct SkPM4f; /* * The float values are 0...1 unpremultiplied */ -struct SkColor4f { +struct SK_API SkColor4f { float fR; float fG; float fB; diff --git a/include/core/SkDrawable.h b/include/core/SkDrawable.h index f466d0a59c..6b9bf7ee34 100644 --- a/include/core/SkDrawable.h +++ b/include/core/SkDrawable.h @@ -23,7 +23,7 @@ struct SkRect; * allow for clients of the drawable that may want to cache the results, the drawable must * change its generation ID whenever its internal state changes such that it will draw differently. */ -class SkDrawable : public SkFlattenable { +class SK_API SkDrawable : public SkFlattenable { public: SkDrawable(); diff --git a/include/core/SkVertices.h b/include/core/SkVertices.h index a245c18502..13aab5b3a8 100644 --- a/include/core/SkVertices.h +++ b/include/core/SkVertices.h @@ -17,7 +17,7 @@ /** * An immutable set of vertex data that can be used with SkCanvas::drawVertices. */ -class SkVertices : public SkNVRefCnt { +class SK_API SkVertices : public SkNVRefCnt { public: enum VertexMode { kTriangles_VertexMode, diff --git a/include/effects/SkBlurDrawLooper.h b/include/effects/SkBlurDrawLooper.h index 45289c8941..08e77666b9 100644 --- a/include/effects/SkBlurDrawLooper.h +++ b/include/effects/SkBlurDrawLooper.h @@ -16,7 +16,7 @@ * its original position. */ namespace SkBlurDrawLooper { - sk_sp Make(SkColor color, SkScalar sigma, SkScalar dx, SkScalar dy); + sk_sp SK_API Make(SkColor color, SkScalar sigma, SkScalar dx, SkScalar dy); }; #endif diff --git a/include/utils/SkCamera.h b/include/utils/SkCamera.h index 911ff15031..db7235f0b8 100644 --- a/include/utils/SkCamera.h +++ b/include/utils/SkCamera.h @@ -115,7 +115,7 @@ private: void doUpdate() const; }; -class Sk3DView : SkNoncopyable { +class SK_API Sk3DView : SkNoncopyable { public: Sk3DView(); ~Sk3DView(); diff --git a/include/utils/SkFrontBufferedStream.h b/include/utils/SkFrontBufferedStream.h index 228c6cbab1..e504dc5da6 100644 --- a/include/utils/SkFrontBufferedStream.h +++ b/include/utils/SkFrontBufferedStream.h @@ -19,7 +19,7 @@ * X bytes (inclusive), and the wrapped stream is not necessarily * able to rewind at all. */ -class SkFrontBufferedStream { +class SK_API SkFrontBufferedStream { public: /** * Creates a new stream that wraps and buffers an SkStream. diff --git a/include/utils/SkInterpolator.h b/include/utils/SkInterpolator.h index 61e652519a..31d50eeac7 100644 --- a/include/utils/SkInterpolator.h +++ b/include/utils/SkInterpolator.h @@ -12,7 +12,7 @@ #include "SkScalar.h" -class SkInterpolatorBase : SkNoncopyable { +class SK_API SkInterpolatorBase : SkNoncopyable { public: enum Result { kNormal_Result, @@ -84,7 +84,7 @@ protected: #endif }; -class SkInterpolator : public SkInterpolatorBase { +class SK_API SkInterpolator : public SkInterpolatorBase { public: SkInterpolator(); SkInterpolator(int elemCount, int frameCount); diff --git a/include/utils/SkShadowUtils.h b/include/utils/SkShadowUtils.h index 659908961a..c362488f15 100644 --- a/include/utils/SkShadowUtils.h +++ b/include/utils/SkShadowUtils.h @@ -17,7 +17,7 @@ class SkCanvas; class SkPath; class SkResourceCache; -class SkShadowUtils { +class SK_API SkShadowUtils { public: /** * Draw an offset spot shadow and outlining ambient shadow for the given path using a disc 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 96565888d8..675ee80ae0 100644 --- a/src/core/SkGeometry.h +++ b/src/core/SkGeometry.h @@ -258,13 +258,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 f3d37e6688..aad39824d5 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 b54ed1f276..329a75cbef 100644 --- a/src/core/SkOpts.h +++ b/src/core/SkOpts.h @@ -49,7 +49,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, }; diff --git a/src/effects/SkBlurMask.h b/src/effects/SkBlurMask.h index e2e4aea7ca..9da19fab5a 100644 --- a/src/effects/SkBlurMask.h +++ b/src/effects/SkBlurMask.h @@ -47,9 +47,9 @@ public: SkBlurStyle, SkIPoint* margin = nullptr); // If radius > 0, return the corresponding sigma, else return 0 - static SkScalar ConvertRadiusToSigma(SkScalar radius); + static SkScalar SK_API ConvertRadiusToSigma(SkScalar radius); // If sigma > 0.5, return the corresponding radius, else return 0 - static SkScalar ConvertSigmaToRadius(SkScalar sigma); + static SkScalar SK_API ConvertSigmaToRadius(SkScalar sigma); /* Helper functions for analytic rectangle blurs */ diff --git a/src/images/SkJPEGWriteUtility.h b/src/images/SkJPEGWriteUtility.h index 3765e7e674..c153459349 100644 --- a/src/images/SkJPEGWriteUtility.h +++ b/src/images/SkJPEGWriteUtility.h @@ -19,13 +19,13 @@ extern "C" { #include -void skjpeg_error_exit(j_common_ptr cinfo); +void SK_API skjpeg_error_exit(j_common_ptr cinfo); ///////////////////////////////////////////////////////////////////////////// /* Our destination struct for directing decompressed pixels to our stream * object. */ -struct skjpeg_destination_mgr : jpeg_destination_mgr { +struct SK_API skjpeg_destination_mgr : jpeg_destination_mgr { skjpeg_destination_mgr(SkWStream* stream); SkWStream* fStream;