aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode/SampleXfermodesBlur.cpp
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-06 18:25:08 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-06 18:25:08 +0000
commit13636fe4b9aa2d58c1008b534875d4139bc8c881 (patch)
tree1a054bb3c42baa579aea5d31756f40f481b4e6f0 /samplecode/SampleXfermodesBlur.cpp
parent5f068f15ccde5d08a73104d7471a42dd47ee2f79 (diff)
add debugging code for degenerate gradients (to be removed later)
git-svn-id: http://skia.googlecode.com/svn/trunk@1805 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleXfermodesBlur.cpp')
-rw-r--r--samplecode/SampleXfermodesBlur.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/samplecode/SampleXfermodesBlur.cpp b/samplecode/SampleXfermodesBlur.cpp
index 166e4e5c7c..e7a8692716 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 {