diff --git a/samplecode/SampleXfermodesBlur.cpp b/samplecode/SampleXfermodesBlur.cpp index 166e4e5c7..e7a869271 100644 --- a/samplecode/SampleXfermodesBlur.cpp +++ b/samplecode/SampleXfermodesBlur.cpp @@ -24,6 +24,40 @@ #include "SkImageDecoder.h" #include "SkBlurMaskFilter.h" +static void test_gradient2(SkCanvas* canvas) { +/* + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(-80, 25, 70, 0, 25, 150); + g.addColorStop(0, '#f00'); + g.addColorStop(0.01, '#0f0'); + g.addColorStop(0.99, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); +*/ + SkColor colors[] = { SK_ColorRED, SK_ColorGREEN, SK_ColorGREEN, SK_ColorRED }; + SkScalar pos[] = { 0, SkFloatToScalar(0.01f), SkFloatToScalar(0.99f), SK_Scalar1 }; + SkPoint c0 = { -80, 25 }; + SkScalar r0 = 70; + SkPoint c1 = { 0, 25 }; + SkScalar r1 = 150; + SkShader* s = SkGradientShader::CreateTwoPointRadial(c0, r0, c1, r1, colors, + pos, SK_ARRAY_COUNT(pos), + SkShader::kClamp_TileMode); + + SkPaint paint; + paint.setShader(s)->unref(); + + canvas->drawPaint(paint); + + paint.setShader(NULL); + paint.setStyle(SkPaint::kStroke_Style); + SkRect r = { 0, 0, 100, 50 }; + canvas->drawRect(r, paint); +} + static void setNamedTypeface(SkPaint* paint, const char name[]) { SkTypeface* face = SkTypeface::CreateFromName(name, SkTypeface::kNormal); paint->setTypeface(face); @@ -86,6 +120,10 @@ protected: } virtual void onDrawContent(SkCanvas* canvas) { + if (false) { + test_gradient2(canvas); + return; + } canvas->translate(SkIntToScalar(10), SkIntToScalar(20)); const struct {