From e8464994bbcc797b47a5ee24aa513530d2bade3b Mon Sep 17 00:00:00 2001 From: robertphillips Date: Mon, 14 Jul 2014 07:53:26 -0700 Subject: [PATCH] Make SkPictureShader and SkPictureImageFilter use const SkPictures R=mtklein@google.com, reed@google.com TBR=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/390023002 --- include/effects/SkPictureImageFilter.h | 12 ++++++------ src/core/SkPictureShader.cpp | 4 ++-- src/core/SkPictureShader.h | 8 ++++---- src/effects/SkPictureImageFilter.cpp | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/effects/SkPictureImageFilter.h b/include/effects/SkPictureImageFilter.h index fe07215..84d0c10 100644 --- a/include/effects/SkPictureImageFilter.h +++ b/include/effects/SkPictureImageFilter.h @@ -16,7 +16,7 @@ public: /** * Refs the passed-in picture. */ - static SkPictureImageFilter* Create(SkPicture* picture) { + static SkPictureImageFilter* Create(const SkPicture* picture) { return SkNEW_ARGS(SkPictureImageFilter, (picture)); } @@ -24,15 +24,15 @@ public: * Refs the passed-in picture. cropRect can be used to crop or expand the destination rect when * the picture is drawn. (No scaling is implied by the dest rect; only the CTM is applied.) */ - static SkPictureImageFilter* Create(SkPicture* picture, const SkRect& cropRect) { + static SkPictureImageFilter* Create(const SkPicture* picture, const SkRect& cropRect) { return SkNEW_ARGS(SkPictureImageFilter, (picture, cropRect)); } SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPictureImageFilter) protected: - explicit SkPictureImageFilter(SkPicture* picture); - SkPictureImageFilter(SkPicture* picture, const SkRect& cropRect); + explicit SkPictureImageFilter(const SkPicture* picture); + SkPictureImageFilter(const SkPicture* picture, const SkRect& cropRect); virtual ~SkPictureImageFilter(); /* Constructs an SkPictureImageFilter object from an SkReadBuffer. * Note: If the SkPictureImageFilter object construction requires bitmap @@ -48,8 +48,8 @@ protected: SkIRect* dst) const SK_OVERRIDE; private: - SkPicture* fPicture; - SkRect fCropRect; + const SkPicture* fPicture; + SkRect fCropRect; typedef SkImageFilter INHERITED; }; diff --git a/src/core/SkPictureShader.cpp b/src/core/SkPictureShader.cpp index ab4de03..6ea67f8 100644 --- a/src/core/SkPictureShader.cpp +++ b/src/core/SkPictureShader.cpp @@ -18,7 +18,7 @@ #include "GrContext.h" #endif -SkPictureShader::SkPictureShader(SkPicture* picture, TileMode tmx, TileMode tmy, +SkPictureShader::SkPictureShader(const SkPicture* picture, TileMode tmx, TileMode tmy, const SkMatrix* localMatrix) : INHERITED(localMatrix) , fPicture(SkRef(picture)) @@ -36,7 +36,7 @@ SkPictureShader::~SkPictureShader() { fPicture->unref(); } -SkPictureShader* SkPictureShader::Create(SkPicture* picture, TileMode tmx, TileMode tmy, +SkPictureShader* SkPictureShader::Create(const SkPicture* picture, TileMode tmx, TileMode tmy, const SkMatrix* localMatrix) { if (!picture || 0 == picture->width() || 0 == picture->height()) { return NULL; diff --git a/src/core/SkPictureShader.h b/src/core/SkPictureShader.h index 8df6030..00aee9b 100644 --- a/src/core/SkPictureShader.h +++ b/src/core/SkPictureShader.h @@ -21,7 +21,7 @@ class SkPicture; */ class SkPictureShader : public SkShader { public: - static SkPictureShader* Create(SkPicture*, TileMode, TileMode, const SkMatrix* = NULL); + static SkPictureShader* Create(const SkPicture*, TileMode, TileMode, const SkMatrix* = NULL); virtual ~SkPictureShader(); virtual size_t contextSize() const SK_OVERRIDE; @@ -38,12 +38,12 @@ protected: virtual Context* onCreateContext(const ContextRec&, void* storage) const SK_OVERRIDE; private: - SkPictureShader(SkPicture*, TileMode, TileMode, const SkMatrix* = NULL); + SkPictureShader(const SkPicture*, TileMode, TileMode, const SkMatrix* = NULL); SkShader* refBitmapShader(const SkMatrix&, const SkMatrix* localMatrix) const; - SkPicture* fPicture; - TileMode fTmx, fTmy; + const SkPicture* fPicture; + TileMode fTmx, fTmy; mutable SkMutex fCachedBitmapShaderMutex; mutable SkAutoTUnref fCachedBitmapShader; diff --git a/src/effects/SkPictureImageFilter.cpp b/src/effects/SkPictureImageFilter.cpp index 2d2df92..d0f4d54 100644 --- a/src/effects/SkPictureImageFilter.cpp +++ b/src/effects/SkPictureImageFilter.cpp @@ -12,7 +12,7 @@ #include "SkWriteBuffer.h" #include "SkValidationUtils.h" -SkPictureImageFilter::SkPictureImageFilter(SkPicture* picture) +SkPictureImageFilter::SkPictureImageFilter(const SkPicture* picture) : INHERITED(0, 0), fPicture(picture), fCropRect(SkRect::MakeWH(picture ? SkIntToScalar(picture->width()) : 0, @@ -20,7 +20,7 @@ SkPictureImageFilter::SkPictureImageFilter(SkPicture* picture) SkSafeRef(fPicture); } -SkPictureImageFilter::SkPictureImageFilter(SkPicture* picture, const SkRect& cropRect) +SkPictureImageFilter::SkPictureImageFilter(const SkPicture* picture, const SkRect& cropRect) : INHERITED(0, 0), fPicture(picture), fCropRect(cropRect) { -- 2.7.4