diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-04-24 21:51:58 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-04-24 21:51:58 +0000 |
commit | d70fa2013adccaa52d1f3e6ca501a4d4ab1520f3 (patch) | |
tree | d3e748bd0a529ba8cc7910bb48bf82c6fade3cdc /include | |
parent | 0b27f2ec0fd097b381016f92d07da0960fb84634 (diff) |
Deprecate SaveFlags use in the public SkCanvas API.
Because we still have internal users for now (to support the deprecated
mode), this CL introduces an external-only variant of deprecation.
Chromium is no longer using the deprecated methods, but Android may need
to suppress SK_ATTR_EXTERNALLY_DEPRECATED warnings.
R=reed@google.com, robertphillips@google.com, scroggo@google.com, bungeman@google.com, mtklein@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/246023008
git-svn-id: http://skia.googlecode.com/svn/trunk@14367 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkCanvas.h | 52 | ||||
-rw-r--r-- | include/core/SkPostConfig.h | 8 |
2 files changed, 55 insertions, 5 deletions
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h index 562999da47..70cfe287b8 100644 --- a/include/core/SkCanvas.h +++ b/include/core/SkCanvas.h @@ -330,6 +330,16 @@ public: operate on this copy. When the balancing call to restore() is made, the previous matrix, clip, and drawFilter are restored. + + @return The value to pass to restoreToCount() to balance this save() + */ + int save(); + + /** DEPRECATED - use save() instead. + + This behaves the same as save(), but it allows fine-grained control of + which state bits to be saved (and subsequently restored). + @param flags The flags govern what portion of the Matrix/Clip/drawFilter state the save (and matching restore) effect. For example, if only kMatrix is specified, then only the matrix state @@ -338,7 +348,8 @@ public: by calls to save/restore. @return The value to pass to restoreToCount() to balance this save() */ - int save(SaveFlags flags = kMatrixClip_SaveFlag); + SK_ATTR_EXTERNALLY_DEPRECATED("SaveFlags use is deprecated") + int save(SaveFlags flags); /** This behaves the same as save(), but in addition it allocates an offscreen bitmap. All drawing calls are directed there, and only when @@ -350,11 +361,27 @@ public: happen. If exact clipping is desired, use clipRect(). @param paint (may be null) This is copied, and is applied to the offscreen when restore() is called + @return The value to pass to restoreToCount() to balance this save() + */ + int saveLayer(const SkRect* bounds, const SkPaint* paint); + + /** DEPRECATED - use saveLayer(const SkRect*, const SkPaint*) instead. + + This behaves the same as saveLayer(const SkRect*, const SkPaint*), + but it allows fine-grained control of which state bits to be saved + (and subsequently restored). + + @param bounds (may be null) This rect, if non-null, is used as a hint to + limit the size of the offscreen, and thus drawing may be + clipped to it, though that clipping is not guaranteed to + happen. If exact clipping is desired, use clipRect(). + @param paint (may be null) This is copied, and is applied to the + offscreen when restore() is called @param flags LayerFlags @return The value to pass to restoreToCount() to balance this save() */ - int saveLayer(const SkRect* bounds, const SkPaint* paint, - SaveFlags flags = kARGB_ClipLayer_SaveFlag); + SK_ATTR_EXTERNALLY_DEPRECATED("SaveFlags use is deprecated") + int saveLayer(const SkRect* bounds, const SkPaint* paint, SaveFlags flags); /** This behaves the same as save(), but in addition it allocates an offscreen bitmap. All drawing calls are directed there, and only when @@ -365,11 +392,26 @@ public: clipped to it, though that clipping is not guaranteed to happen. If exact clipping is desired, use clipRect(). @param alpha This is applied to the offscreen when restore() is called. + @return The value to pass to restoreToCount() to balance this save() + */ + int saveLayerAlpha(const SkRect* bounds, U8CPU alpha); + + /** DEPRECATED - use saveLayerAlpha(const SkRect*, U8CPU) instead. + + This behaves the same as saveLayerAlpha(const SkRect*, U8CPU), + but it allows fine-grained control of which state bits to be saved + (and subsequently restored). + + @param bounds (may be null) This rect, if non-null, is used as a hint to + limit the size of the offscreen, and thus drawing may be + clipped to it, though that clipping is not guaranteed to + happen. If exact clipping is desired, use clipRect(). + @param alpha This is applied to the offscreen when restore() is called. @param flags LayerFlags @return The value to pass to restoreToCount() to balance this save() */ - int saveLayerAlpha(const SkRect* bounds, U8CPU alpha, - SaveFlags flags = kARGB_ClipLayer_SaveFlag); + SK_ATTR_EXTERNALLY_DEPRECATED("SaveFlags use is deprecated") + int saveLayerAlpha(const SkRect* bounds, U8CPU alpha, SaveFlags flags); /** This call balances a previous call to save(), and is used to remove all modifications to the matrix/clip/drawFilter state since the last save diff --git a/include/core/SkPostConfig.h b/include/core/SkPostConfig.h index 53b4adfaa5..bee87e6212 100644 --- a/include/core/SkPostConfig.h +++ b/include/core/SkPostConfig.h @@ -323,6 +323,14 @@ # define SK_ATTR_DEPRECATED(msg) SK_ATTRIBUTE(deprecated) #endif +#if !defined(SK_ATTR_EXTERNALLY_DEPRECATED) +# if !defined(SK_INTERNAL) +# define SK_ATTR_EXTERNALLY_DEPRECATED(msg) SK_ATTR_DEPRECATED(msg) +# else +# define SK_ATTR_EXTERNALLY_DEPRECATED(msg) +# endif +#endif + /** * If your judgment is better than the compiler's (i.e. you've profiled it), * you can use SK_ALWAYS_INLINE to force inlining. E.g. |