From 92e37b6d79f12ccfaaf7671413316952d182267d Mon Sep 17 00:00:00 2001 From: Cary Clark Date: Wed, 23 May 2018 08:02:27 -0400 Subject: Reland "remove toString" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 32a4910e57b1fdd3c8671de1ee85e05ca21d079f. Reason for revert: SkMatrix::toString use has been removed from flutter and has been picked up in fuchsia Original change's description: > Revert "remove toString" > > This reverts commit 5191880cbf3ee4d122b0d11b4945fbab0784fda7. > > Reason for revert: broke flutter > > Original change's description: > > remove toString > > > > toString may have been used by obsolete debugger only > > find out if that is so > > > > R=​brianosman@google.com,bsalomon@google.com > > > > Docs-Preview: https://skia.org/?cl=119894 > > Bug:830651 > > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > > Reviewed-on: https://skia-review.googlesource.com/119894 > > Commit-Queue: Cary Clark > > Reviewed-by: Brian Salomon > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 830651 > Reviewed-on: https://skia-review.googlesource.com/129340 > Reviewed-by: Cary Clark > Commit-Queue: Cary Clark TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 830651 Change-Id: Ida8725b6051132d8c46faf99358a8fcc1bcabf34 Reviewed-on: https://skia-review.googlesource.com/129623 Reviewed-by: Cary Clark Reviewed-by: Cary Clark Commit-Queue: Cary Clark --- src/shaders/SkColorFilterShader.cpp | 13 --------- src/shaders/SkColorFilterShader.h | 1 - src/shaders/SkColorShader.cpp | 21 -------------- src/shaders/SkColorShader.h | 2 -- src/shaders/SkComposeShader.cpp | 15 ---------- src/shaders/SkComposeShader.h | 1 - src/shaders/SkEmptyShader.h | 1 - src/shaders/SkImageShader.cpp | 11 -------- src/shaders/SkImageShader.h | 1 - src/shaders/SkLocalMatrixShader.cpp | 10 ------- src/shaders/SkLocalMatrixShader.h | 1 - src/shaders/SkPerlinNoiseShader.cpp | 32 ---------------------- src/shaders/SkPictureShader.cpp | 16 ----------- src/shaders/SkPictureShader.h | 1 - src/shaders/SkShader.cpp | 17 ------------ src/shaders/SkShaderBase.h | 2 -- src/shaders/gradients/SkGradientShader.cpp | 32 ---------------------- src/shaders/gradients/SkGradientShaderPriv.h | 1 - src/shaders/gradients/SkLinearGradient.cpp | 10 ------- src/shaders/gradients/SkLinearGradient.h | 1 - src/shaders/gradients/SkRadialGradient.cpp | 16 ----------- src/shaders/gradients/SkRadialGradient.h | 1 - src/shaders/gradients/SkSweepGradient.cpp | 14 ---------- src/shaders/gradients/SkSweepGradient.h | 1 - .../gradients/SkTwoPointConicalGradient.cpp | 25 ----------------- src/shaders/gradients/SkTwoPointConicalGradient.h | 1 - 26 files changed, 247 deletions(-) (limited to 'src/shaders') diff --git a/src/shaders/SkColorFilterShader.cpp b/src/shaders/SkColorFilterShader.cpp index 0f25518669..16bf56522c 100644 --- a/src/shaders/SkColorFilterShader.cpp +++ b/src/shaders/SkColorFilterShader.cpp @@ -71,19 +71,6 @@ std::unique_ptr SkColorFilterShader::asFragmentProcessor( } #endif -void SkColorFilterShader::toString(SkString* str) const { - str->append("SkColorFilterShader: ("); - - str->append("Shader: "); - as_SB(fShader)->toString(str); - str->append(" Filter: "); - // TODO: add "fFilter->toString(str);" once SkColorFilter::toString is added - - this->INHERITED::toString(str); - - str->append(")"); -} - /////////////////////////////////////////////////////////////////////////////////////////////////// sk_sp SkShader::makeWithColorFilter(sk_sp filter) const { diff --git a/src/shaders/SkColorFilterShader.h b/src/shaders/SkColorFilterShader.h index 2f5b4693ee..d97dd063a5 100644 --- a/src/shaders/SkColorFilterShader.h +++ b/src/shaders/SkColorFilterShader.h @@ -21,7 +21,6 @@ public: std::unique_ptr asFragmentProcessor(const GrFPArgs&) const override; #endif - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorFilterShader) protected: diff --git a/src/shaders/SkColorShader.cpp b/src/shaders/SkColorShader.cpp index 152a0b5529..c3f86b9cfb 100644 --- a/src/shaders/SkColorShader.cpp +++ b/src/shaders/SkColorShader.cpp @@ -97,17 +97,6 @@ std::unique_ptr SkColorShader::asFragmentProcessor( #endif -void SkColorShader::toString(SkString* str) const { - str->append("SkColorShader: ("); - - str->append("Color: "); - str->appendHex(fColor); - - this->INHERITED::toString(str); - - str->append(")"); -} - /////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// @@ -223,16 +212,6 @@ std::unique_ptr SkColor4Shader::asFragmentProcessor( #endif -void SkColor4Shader::toString(SkString* str) const { - str->append("SkColor4Shader: ("); - - str->append("RGBA:"); - for (int i = 0; i < 4; ++i) { - str->appendf(" %g", fColor4.vec()[i]); - } - str->append(" )"); -} - sk_sp SkColor4Shader::onMakeColorSpace(SkColorSpaceXformer* xformer) const { return SkShader::MakeColorShader(xformer->apply(fCachedByteColor)); } diff --git a/src/shaders/SkColorShader.h b/src/shaders/SkColorShader.h index 9fab094996..235f8e330a 100644 --- a/src/shaders/SkColorShader.h +++ b/src/shaders/SkColorShader.h @@ -50,7 +50,6 @@ public: std::unique_ptr asFragmentProcessor(const GrFPArgs&) const override; #endif - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorShader) protected: @@ -106,7 +105,6 @@ public: std::unique_ptr asFragmentProcessor(const GrFPArgs&) const override; #endif - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorShader) protected: diff --git a/src/shaders/SkComposeShader.cpp b/src/shaders/SkComposeShader.cpp index e7125ad966..845d320490 100644 --- a/src/shaders/SkComposeShader.cpp +++ b/src/shaders/SkComposeShader.cpp @@ -141,18 +141,3 @@ std::unique_ptr SkComposeShader::asFragmentProcessor( std::move(fpA), fMode); } #endif - -void SkComposeShader::toString(SkString* str) const { - str->append("SkComposeShader: ("); - - str->append("dst: "); - as_SB(fDst)->toString(str); - str->append(" src: "); - as_SB(fSrc)->toString(str); - str->appendf(" mode: %s", SkBlendMode_Name(fMode)); - str->appendf(" lerpT: %g", fLerpT); - - this->INHERITED::toString(str); - - str->append(")"); -} diff --git a/src/shaders/SkComposeShader.h b/src/shaders/SkComposeShader.h index 9208502613..c2dc2c3984 100644 --- a/src/shaders/SkComposeShader.h +++ b/src/shaders/SkComposeShader.h @@ -35,7 +35,6 @@ public: bool asACompose(ComposeRec* rec) const override; #endif - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposeShader) protected: diff --git a/src/shaders/SkEmptyShader.h b/src/shaders/SkEmptyShader.h index 12848b3738..7956003625 100644 --- a/src/shaders/SkEmptyShader.h +++ b/src/shaders/SkEmptyShader.h @@ -20,7 +20,6 @@ class SkEmptyShader : public SkShaderBase { public: SkEmptyShader() {} - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkEmptyShader) protected: diff --git a/src/shaders/SkImageShader.cpp b/src/shaders/SkImageShader.cpp index bd1b17f029..008ceda7b0 100644 --- a/src/shaders/SkImageShader.cpp +++ b/src/shaders/SkImageShader.cpp @@ -173,17 +173,6 @@ sk_sp SkImageShader::Make(sk_sp image, return sk_sp{ new SkImageShader(image, tx,ty, localMatrix, clampAsIfUnpremul) }; } -void SkImageShader::toString(SkString* str) const { - const char* gTileModeName[SkShader::kTileModeCount] = { - "clamp", "repeat", "mirror" - }; - - str->appendf("ImageShader: ((%s %s) ", gTileModeName[fTileModeX], gTileModeName[fTileModeY]); - fImage->toString(str); - this->INHERITED::toString(str); - str->append(")"); -} - /////////////////////////////////////////////////////////////////////////////////////////////////// #if SK_SUPPORT_GPU diff --git a/src/shaders/SkImageShader.h b/src/shaders/SkImageShader.h index 3e980d38f4..0d40c23ea4 100644 --- a/src/shaders/SkImageShader.h +++ b/src/shaders/SkImageShader.h @@ -23,7 +23,6 @@ public: bool isOpaque() const override; - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkImageShader) #if SK_SUPPORT_GPU diff --git a/src/shaders/SkLocalMatrixShader.cpp b/src/shaders/SkLocalMatrixShader.cpp index 509c66d43e..28d7775b27 100644 --- a/src/shaders/SkLocalMatrixShader.cpp +++ b/src/shaders/SkLocalMatrixShader.cpp @@ -71,16 +71,6 @@ bool SkLocalMatrixShader::onAppendStages(const StageRec& rec) const { return as_SB(fProxyShader)->appendStages(newRec); } -void SkLocalMatrixShader::toString(SkString* str) const { - str->append("SkLocalMatrixShader: ("); - - as_SB(fProxyShader)->toString(str); - - this->INHERITED::toString(str); - - str->append(")"); -} - sk_sp SkShader::makeWithLocalMatrix(const SkMatrix& localMatrix) const { if (localMatrix.isIdentity()) { return sk_ref_sp(const_cast(this)); diff --git a/src/shaders/SkLocalMatrixShader.h b/src/shaders/SkLocalMatrixShader.h index 48d1ef17a9..9f89812139 100644 --- a/src/shaders/SkLocalMatrixShader.h +++ b/src/shaders/SkLocalMatrixShader.h @@ -38,7 +38,6 @@ public: return fProxyShader; } - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLocalMatrixShader) protected: diff --git a/src/shaders/SkPerlinNoiseShader.cpp b/src/shaders/SkPerlinNoiseShader.cpp index d864e165e5..b3dc9d428f 100644 --- a/src/shaders/SkPerlinNoiseShader.cpp +++ b/src/shaders/SkPerlinNoiseShader.cpp @@ -364,7 +364,6 @@ public: std::unique_ptr asFragmentProcessor(const GrFPArgs&) const override; #endif - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPerlinNoiseShaderImpl) protected: @@ -1477,37 +1476,6 @@ std::unique_ptr SkPerlinNoiseShaderImpl::asFragmentProcesso #endif -void SkPerlinNoiseShaderImpl::toString(SkString* str) const { - str->append("SkPerlinNoiseShaderImpl: ("); - - str->append("type: "); - switch (fType) { - case kFractalNoise_Type: - str->append("\"fractal noise\""); - break; - case kTurbulence_Type: - str->append("\"turbulence\""); - break; - default: - str->append("\"unknown\""); - break; - } - str->append(" base frequency: ("); - str->appendScalar(fBaseFrequencyX); - str->append(", "); - str->appendScalar(fBaseFrequencyY); - str->append(") number of octaves: "); - str->appendS32(fNumOctaves); - str->append(" seed: "); - str->appendScalar(fSeed); - str->append(" stitch tiles: "); - str->append(fStitchTiles ? "true " : "false "); - - this->INHERITED::toString(str); - - str->append(")"); -} - /////////////////////////////////////////////////////////////////////////////////////////////////// static bool valid_input(SkScalar baseX, SkScalar baseY, int numOctaves, const SkISize* tileSize, diff --git a/src/shaders/SkPictureShader.cpp b/src/shaders/SkPictureShader.cpp index f958814ca1..576598bfe6 100644 --- a/src/shaders/SkPictureShader.cpp +++ b/src/shaders/SkPictureShader.cpp @@ -338,22 +338,6 @@ void SkPictureShader::PictureShaderContext::shadeSpan(int x, int y, SkPMColor ds fBitmapShaderContext->shadeSpan(x, y, dstC, count); } -void SkPictureShader::toString(SkString* str) const { - static const char* gTileModeName[SkShader::kTileModeCount] = { - "clamp", "repeat", "mirror" - }; - - str->appendf("PictureShader: [%f:%f:%f:%f] ", - fPicture->cullRect().fLeft, - fPicture->cullRect().fTop, - fPicture->cullRect().fRight, - fPicture->cullRect().fBottom); - - str->appendf("(%s, %s)", gTileModeName[fTmx], gTileModeName[fTmy]); - - this->INHERITED::toString(str); -} - #if SK_SUPPORT_GPU std::unique_ptr SkPictureShader::asFragmentProcessor( const GrFPArgs& args) const { diff --git a/src/shaders/SkPictureShader.h b/src/shaders/SkPictureShader.h index 6e5201e8fb..25fe53feb5 100644 --- a/src/shaders/SkPictureShader.h +++ b/src/shaders/SkPictureShader.h @@ -28,7 +28,6 @@ public: static sk_sp Make(sk_sp, TileMode, TileMode, const SkMatrix*, const SkRect*); - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPictureShader) #if SK_SUPPORT_GPU diff --git a/src/shaders/SkShader.cpp b/src/shaders/SkShader.cpp index f3ffd26ef4..a17cca191c 100644 --- a/src/shaders/SkShader.cpp +++ b/src/shaders/SkShader.cpp @@ -208,13 +208,6 @@ sk_sp SkShader::MakePictureShader(sk_sp src, TileMode tmx, return SkPictureShader::Make(std::move(src), tmx, tmy, localMatrix, tile); } -void SkShaderBase::toString(SkString* str) const { - if (!fLocalMatrix.isIdentity()) { - str->append(" "); - fLocalMatrix.toString(str); - } -} - bool SkShaderBase::appendStages(const StageRec& rec) const { return this->onAppendStages(rec); } @@ -258,13 +251,3 @@ bool SkShaderBase::onAppendStages(const StageRec& rec) const { sk_sp SkEmptyShader::CreateProc(SkReadBuffer&) { return SkShader::MakeEmptyShader(); } - -#include "SkEmptyShader.h" - -void SkEmptyShader::toString(SkString* str) const { - str->append("SkEmptyShader: ("); - - this->INHERITED::toString(str); - - str->append(")"); -} diff --git a/src/shaders/SkShaderBase.h b/src/shaders/SkShaderBase.h index 53ec0dc853..9cfca4c6ba 100644 --- a/src/shaders/SkShaderBase.h +++ b/src/shaders/SkShaderBase.h @@ -208,8 +208,6 @@ public: return nullptr; } - virtual void toString(SkString* str) const; - SK_DEFINE_FLATTENABLE_TYPE(SkShaderBase) SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP() diff --git a/src/shaders/gradients/SkGradientShader.cpp b/src/shaders/gradients/SkGradientShader.cpp index a574b7d46d..692d793c6a 100644 --- a/src/shaders/gradients/SkGradientShader.cpp +++ b/src/shaders/gradients/SkGradientShader.cpp @@ -627,38 +627,6 @@ void SkGradientShaderBase::commonAsAGradient(GradientInfo* info) const { } } -void SkGradientShaderBase::toString(SkString* str) const { - - str->appendf("%d colors: ", fColorCount); - - for (int i = 0; i < fColorCount; ++i) { - str->appendHex(this->getLegacyColor(i), 8); - if (i < fColorCount-1) { - str->append(", "); - } - } - - if (fColorCount > 2) { - str->append(" points: ("); - for (int i = 0; i < fColorCount; ++i) { - str->appendScalar(this->getPos(i)); - if (i < fColorCount-1) { - str->append(", "); - } - } - str->append(")"); - } - - static const char* gTileModeName[SkShader::kTileModeCount] = { - "clamp", "repeat", "mirror", "decal", - }; - - str->append(" "); - str->append(gTileModeName[fTileMode]); - - this->INHERITED::toString(str); -} - /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// diff --git a/src/shaders/gradients/SkGradientShaderPriv.h b/src/shaders/gradients/SkGradientShaderPriv.h index dccb4e70cb..e50f1a69e4 100644 --- a/src/shaders/gradients/SkGradientShaderPriv.h +++ b/src/shaders/gradients/SkGradientShaderPriv.h @@ -80,7 +80,6 @@ protected: SkGradientShaderBase(SkReadBuffer& ); void flatten(SkWriteBuffer&) const override; - void toString(SkString* str) const override; void commonAsAGradient(GradientInfo*) const; diff --git a/src/shaders/gradients/SkLinearGradient.cpp b/src/shaders/gradients/SkLinearGradient.cpp index a377442dc4..34cac269f5 100644 --- a/src/shaders/gradients/SkLinearGradient.cpp +++ b/src/shaders/gradients/SkLinearGradient.cpp @@ -207,14 +207,4 @@ std::unique_ptr SkLinearGradient::asFragmentProcessor( #endif -void SkLinearGradient::toString(SkString* str) const { - str->append("SkLinearGradient ("); - - str->appendf("start: (%f, %f)", fStart.fX, fStart.fY); - str->appendf(" end: (%f, %f) ", fEnd.fX, fEnd.fY); - - this->INHERITED::toString(str); - - str->append(")"); -} diff --git a/src/shaders/gradients/SkLinearGradient.h b/src/shaders/gradients/SkLinearGradient.h index 111ed99744..d100a1cf30 100644 --- a/src/shaders/gradients/SkLinearGradient.h +++ b/src/shaders/gradients/SkLinearGradient.h @@ -19,7 +19,6 @@ public: std::unique_ptr asFragmentProcessor(const GrFPArgs&) const override; #endif - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkLinearGradient) protected: diff --git a/src/shaders/gradients/SkRadialGradient.cpp b/src/shaders/gradients/SkRadialGradient.cpp index 6d193615a4..ec0f8a0f95 100644 --- a/src/shaders/gradients/SkRadialGradient.cpp +++ b/src/shaders/gradients/SkRadialGradient.cpp @@ -185,19 +185,3 @@ void SkRadialGradient::appendGradientStages(SkArenaAlloc*, SkRasterPipeline* p, SkRasterPipeline*) const { p->append(SkRasterPipeline::xy_to_radius); } - -void SkRadialGradient::toString(SkString* str) const { - str->append("SkRadialGradient: ("); - - str->append("center: ("); - str->appendScalar(fCenter.fX); - str->append(", "); - str->appendScalar(fCenter.fY); - str->append(") radius: "); - str->appendScalar(fRadius); - str->append(" "); - - this->INHERITED::toString(str); - - str->append(")"); -} diff --git a/src/shaders/gradients/SkRadialGradient.h b/src/shaders/gradients/SkRadialGradient.h index b0d6854221..d6963f6971 100644 --- a/src/shaders/gradients/SkRadialGradient.h +++ b/src/shaders/gradients/SkRadialGradient.h @@ -19,7 +19,6 @@ public: std::unique_ptr asFragmentProcessor(const GrFPArgs&) const override; #endif - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkRadialGradient) protected: diff --git a/src/shaders/gradients/SkSweepGradient.cpp b/src/shaders/gradients/SkSweepGradient.cpp index c409d9a4e1..cfce5fe025 100644 --- a/src/shaders/gradients/SkSweepGradient.cpp +++ b/src/shaders/gradients/SkSweepGradient.cpp @@ -241,20 +241,6 @@ sk_sp SkSweepGradient::onMakeColorSpace(SkColorSpaceXformer* xformer) fGradFlags, &this->getLocalMatrix()); } -void SkSweepGradient::toString(SkString* str) const { - str->append("SkSweepGradient: ("); - - str->append("center: ("); - str->appendScalar(fCenter.fX); - str->append(", "); - str->appendScalar(fCenter.fY); - str->append(") "); - - this->INHERITED::toString(str); - - str->append(")"); -} - void SkSweepGradient::appendGradientStages(SkArenaAlloc* alloc, SkRasterPipeline* p, SkRasterPipeline*) const { p->append(SkRasterPipeline::xy_to_unit_angle); diff --git a/src/shaders/gradients/SkSweepGradient.h b/src/shaders/gradients/SkSweepGradient.h index dce9a3561b..a58c95752d 100644 --- a/src/shaders/gradients/SkSweepGradient.h +++ b/src/shaders/gradients/SkSweepGradient.h @@ -20,7 +20,6 @@ public: std::unique_ptr asFragmentProcessor(const GrFPArgs&) const override; #endif - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSweepGradient) protected: diff --git a/src/shaders/gradients/SkTwoPointConicalGradient.cpp b/src/shaders/gradients/SkTwoPointConicalGradient.cpp index 73ec3f213b..7d5026bc22 100644 --- a/src/shaders/gradients/SkTwoPointConicalGradient.cpp +++ b/src/shaders/gradients/SkTwoPointConicalGradient.cpp @@ -199,31 +199,6 @@ sk_sp SkTwoPointConicalGradient::onMakeColorSpace(SkColorSpaceXformer* fTileMode, fGradFlags, &this->getLocalMatrix()); } - -void SkTwoPointConicalGradient::toString(SkString* str) const { - str->append("SkTwoPointConicalGradient: ("); - - str->append("center1: ("); - str->appendScalar(fCenter1.fX); - str->append(", "); - str->appendScalar(fCenter1.fY); - str->append(") radius1: "); - str->appendScalar(fRadius1); - str->append(" "); - - str->append("center2: ("); - str->appendScalar(fCenter2.fX); - str->append(", "); - str->appendScalar(fCenter2.fY); - str->append(") radius2: "); - str->appendScalar(fRadius2); - str->append(" "); - - this->INHERITED::toString(str); - - str->append(")"); -} - void SkTwoPointConicalGradient::appendGradientStages(SkArenaAlloc* alloc, SkRasterPipeline* p, SkRasterPipeline* postPipeline) const { const auto dRadius = fRadius2 - fRadius1; diff --git a/src/shaders/gradients/SkTwoPointConicalGradient.h b/src/shaders/gradients/SkTwoPointConicalGradient.h index f0d341f17c..b965e15038 100644 --- a/src/shaders/gradients/SkTwoPointConicalGradient.h +++ b/src/shaders/gradients/SkTwoPointConicalGradient.h @@ -65,7 +65,6 @@ public: const SkMatrix& getGradientMatrix() const { return fPtsToUnit; } const FocalData& getFocalData() const { return fFocalData; } - void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTwoPointConicalGradient) protected: -- cgit v1.2.3