diff options
author | 2018-05-20 23:15:43 +0000 | |
---|---|---|
committer | 2018-05-20 23:15:48 +0000 | |
commit | 32a4910e57b1fdd3c8671de1ee85e05ca21d079f (patch) | |
tree | 9ae07529b8f56406fa5890827782b592895245a0 /src/shaders | |
parent | 5191880cbf3ee4d122b0d11b4945fbab0784fda7 (diff) |
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 <caryclark@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
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 <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Diffstat (limited to 'src/shaders')
26 files changed, 247 insertions, 0 deletions
diff --git a/src/shaders/SkColorFilterShader.cpp b/src/shaders/SkColorFilterShader.cpp index 16bf56522c..0f25518669 100644 --- a/src/shaders/SkColorFilterShader.cpp +++ b/src/shaders/SkColorFilterShader.cpp @@ -71,6 +71,19 @@ std::unique_ptr<GrFragmentProcessor> 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> SkShader::makeWithColorFilter(sk_sp<SkColorFilter> filter) const { diff --git a/src/shaders/SkColorFilterShader.h b/src/shaders/SkColorFilterShader.h index d97dd063a5..2f5b4693ee 100644 --- a/src/shaders/SkColorFilterShader.h +++ b/src/shaders/SkColorFilterShader.h @@ -21,6 +21,7 @@ public: std::unique_ptr<GrFragmentProcessor> 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 c3f86b9cfb..152a0b5529 100644 --- a/src/shaders/SkColorShader.cpp +++ b/src/shaders/SkColorShader.cpp @@ -97,6 +97,17 @@ std::unique_ptr<GrFragmentProcessor> SkColorShader::asFragmentProcessor( #endif +void SkColorShader::toString(SkString* str) const { + str->append("SkColorShader: ("); + + str->append("Color: "); + str->appendHex(fColor); + + this->INHERITED::toString(str); + + str->append(")"); +} + /////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// @@ -212,6 +223,16 @@ std::unique_ptr<GrFragmentProcessor> 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<SkShader> SkColor4Shader::onMakeColorSpace(SkColorSpaceXformer* xformer) const { return SkShader::MakeColorShader(xformer->apply(fCachedByteColor)); } diff --git a/src/shaders/SkColorShader.h b/src/shaders/SkColorShader.h index 235f8e330a..9fab094996 100644 --- a/src/shaders/SkColorShader.h +++ b/src/shaders/SkColorShader.h @@ -50,6 +50,7 @@ public: std::unique_ptr<GrFragmentProcessor> asFragmentProcessor(const GrFPArgs&) const override; #endif + void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkColorShader) protected: @@ -105,6 +106,7 @@ public: std::unique_ptr<GrFragmentProcessor> 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 845d320490..e7125ad966 100644 --- a/src/shaders/SkComposeShader.cpp +++ b/src/shaders/SkComposeShader.cpp @@ -141,3 +141,18 @@ std::unique_ptr<GrFragmentProcessor> 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 c2dc2c3984..9208502613 100644 --- a/src/shaders/SkComposeShader.h +++ b/src/shaders/SkComposeShader.h @@ -35,6 +35,7 @@ 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 7956003625..12848b3738 100644 --- a/src/shaders/SkEmptyShader.h +++ b/src/shaders/SkEmptyShader.h @@ -20,6 +20,7 @@ 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 7744f89be9..8ef647f5c9 100644 --- a/src/shaders/SkImageShader.cpp +++ b/src/shaders/SkImageShader.cpp @@ -173,6 +173,17 @@ sk_sp<SkShader> SkImageShader::Make(sk_sp<SkImage> image, return sk_sp<SkShader>{ 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 0d40c23ea4..3e980d38f4 100644 --- a/src/shaders/SkImageShader.h +++ b/src/shaders/SkImageShader.h @@ -23,6 +23,7 @@ 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 28d7775b27..509c66d43e 100644 --- a/src/shaders/SkLocalMatrixShader.cpp +++ b/src/shaders/SkLocalMatrixShader.cpp @@ -71,6 +71,16 @@ 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> SkShader::makeWithLocalMatrix(const SkMatrix& localMatrix) const { if (localMatrix.isIdentity()) { return sk_ref_sp(const_cast<SkShader*>(this)); diff --git a/src/shaders/SkLocalMatrixShader.h b/src/shaders/SkLocalMatrixShader.h index 9f89812139..48d1ef17a9 100644 --- a/src/shaders/SkLocalMatrixShader.h +++ b/src/shaders/SkLocalMatrixShader.h @@ -38,6 +38,7 @@ 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 b3dc9d428f..d864e165e5 100644 --- a/src/shaders/SkPerlinNoiseShader.cpp +++ b/src/shaders/SkPerlinNoiseShader.cpp @@ -364,6 +364,7 @@ public: std::unique_ptr<GrFragmentProcessor> asFragmentProcessor(const GrFPArgs&) const override; #endif + void toString(SkString* str) const override; SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPerlinNoiseShaderImpl) protected: @@ -1476,6 +1477,37 @@ std::unique_ptr<GrFragmentProcessor> 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 576598bfe6..f958814ca1 100644 --- a/src/shaders/SkPictureShader.cpp +++ b/src/shaders/SkPictureShader.cpp @@ -338,6 +338,22 @@ 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<GrFragmentProcessor> SkPictureShader::asFragmentProcessor( const GrFPArgs& args) const { diff --git a/src/shaders/SkPictureShader.h b/src/shaders/SkPictureShader.h index 25fe53feb5..6e5201e8fb 100644 --- a/src/shaders/SkPictureShader.h +++ b/src/shaders/SkPictureShader.h @@ -28,6 +28,7 @@ public: static sk_sp<SkShader> Make(sk_sp<SkPicture>, 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 a17cca191c..f3ffd26ef4 100644 --- a/src/shaders/SkShader.cpp +++ b/src/shaders/SkShader.cpp @@ -208,6 +208,13 @@ sk_sp<SkShader> SkShader::MakePictureShader(sk_sp<SkPicture> 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); } @@ -251,3 +258,13 @@ bool SkShaderBase::onAppendStages(const StageRec& rec) const { sk_sp<SkFlattenable> 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 d0b830b6a2..cddc5540ee 100644 --- a/src/shaders/SkShaderBase.h +++ b/src/shaders/SkShaderBase.h @@ -207,6 +207,8 @@ 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 eea70ca847..78f514c1c6 100644 --- a/src/shaders/gradients/SkGradientShader.cpp +++ b/src/shaders/gradients/SkGradientShader.cpp @@ -626,6 +626,38 @@ 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 e50f1a69e4..dccb4e70cb 100644 --- a/src/shaders/gradients/SkGradientShaderPriv.h +++ b/src/shaders/gradients/SkGradientShaderPriv.h @@ -80,6 +80,7 @@ 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 34cac269f5..a377442dc4 100644 --- a/src/shaders/gradients/SkLinearGradient.cpp +++ b/src/shaders/gradients/SkLinearGradient.cpp @@ -207,4 +207,14 @@ std::unique_ptr<GrFragmentProcessor> 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 d100a1cf30..111ed99744 100644 --- a/src/shaders/gradients/SkLinearGradient.h +++ b/src/shaders/gradients/SkLinearGradient.h @@ -19,6 +19,7 @@ public: std::unique_ptr<GrFragmentProcessor> 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 ec0f8a0f95..6d193615a4 100644 --- a/src/shaders/gradients/SkRadialGradient.cpp +++ b/src/shaders/gradients/SkRadialGradient.cpp @@ -185,3 +185,19 @@ 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 d6963f6971..b0d6854221 100644 --- a/src/shaders/gradients/SkRadialGradient.h +++ b/src/shaders/gradients/SkRadialGradient.h @@ -19,6 +19,7 @@ public: std::unique_ptr<GrFragmentProcessor> 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 cfce5fe025..c409d9a4e1 100644 --- a/src/shaders/gradients/SkSweepGradient.cpp +++ b/src/shaders/gradients/SkSweepGradient.cpp @@ -241,6 +241,20 @@ sk_sp<SkShader> 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 a58c95752d..dce9a3561b 100644 --- a/src/shaders/gradients/SkSweepGradient.h +++ b/src/shaders/gradients/SkSweepGradient.h @@ -20,6 +20,7 @@ public: std::unique_ptr<GrFragmentProcessor> 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 7d5026bc22..73ec3f213b 100644 --- a/src/shaders/gradients/SkTwoPointConicalGradient.cpp +++ b/src/shaders/gradients/SkTwoPointConicalGradient.cpp @@ -199,6 +199,31 @@ sk_sp<SkShader> 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 b965e15038..f0d341f17c 100644 --- a/src/shaders/gradients/SkTwoPointConicalGradient.h +++ b/src/shaders/gradients/SkTwoPointConicalGradient.h @@ -65,6 +65,7 @@ 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: |