diff options
author | Mike Reed <reed@google.com> | 2016-11-12 08:06:55 -0600 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-11-13 18:31:13 +0000 |
commit | 5df4934b3e40cdc378e225d1dda39f015cae9bae (patch) | |
tree | f0871dcbca35730333ad3b14115e6a14987fac7b /include/utils | |
parent | f982cb37e3092e7a69c13a12ec09806ceff5af45 (diff) |
Revert[2] "Change SkCanvas to *not* inherit from SkRefCnt"
Changes over original:
- conditionalize ownership in SkPictureRecorder
- conditionalize ownership in SkCanvasStateUtils
This reverts commit b613c266df48cf45296ecc23d1bd7098c84bb7ba.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4742
Change-Id: Ib25514d6f546c69b6650b5c957403b04f7380dc2
Reviewed-on: https://skia-review.googlesource.com/4742
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'include/utils')
-rw-r--r-- | include/utils/SkCanvasStateUtils.h | 7 | ||||
-rw-r--r-- | include/utils/SkNullCanvas.h | 8 |
2 files changed, 13 insertions, 2 deletions
diff --git a/include/utils/SkCanvasStateUtils.h b/include/utils/SkCanvasStateUtils.h index 3071c7547c..fbc3a6f6e4 100644 --- a/include/utils/SkCanvasStateUtils.h +++ b/include/utils/SkCanvasStateUtils.h @@ -62,7 +62,12 @@ public: * identical to the captured canvas. The caller is responsible for * calling unref on the SkCanvas. */ - static SkCanvas* CreateFromCanvasState(const SkCanvasState* state); + static std::unique_ptr<SkCanvas> MakeFromCanvasState(const SkCanvasState* state); +#ifdef SK_SUPPORT_LEGACY_CANVAS_IS_REFCNT + static SkCanvas* CreateFromCanvasState(const SkCanvasState* state) { + return MakeFromCanvasState(state).release(); + } +#endif /** * Free the memory associated with the captured canvas state. The state diff --git a/include/utils/SkNullCanvas.h b/include/utils/SkNullCanvas.h index 99a26dafdd..884b68bfb1 100644 --- a/include/utils/SkNullCanvas.h +++ b/include/utils/SkNullCanvas.h @@ -15,6 +15,12 @@ class SkCanvas; /** * Creates a canvas that draws nothing. This is useful for performance testing. */ -SK_API SkCanvas* SkCreateNullCanvas(); +SK_API std::unique_ptr<SkCanvas> SkMakeNullCanvas(); + +#ifdef SK_SUPPORT_LEGACY_CANVAS_IS_REFCNT +static inline SkCanvas* SkCreateNullCanvas() { + return SkMakeNullCanvas().release(); +} +#endif #endif |