Chromium Code Reviews| Index: gm/aaclip.cpp |
| diff --git a/gm/aaclip.cpp b/gm/aaclip.cpp |
| index 6419c8f989d98e72d802bd6fd2219be49513d4f9..b56ccd6a1c6af9e2e0ed6cbbad029af0a41e0062 100644 |
| --- a/gm/aaclip.cpp |
| +++ b/gm/aaclip.cpp |
| @@ -9,6 +9,49 @@ |
| #include "SkCanvas.h" |
| #include "SkPath.h" |
| +#include "SkGradientShader.h" |
| +static void set_gradient(SkPaint* paint) { |
| + const SkPoint pts[] = { { 0, 0 }, { 240, 0 } }; |
| + SkColor colors[2]; |
| + colors[0] = paint->getColor(); |
| + colors[1] = SkColorSetA(colors[0], 0); |
| + SkShader* shader = SkGradientShader::CreateLinear(pts, colors, NULL, 2, SkShader::kClamp_TileMode); |
| + paint->setShader(shader)->unref(); |
| +} |
| + |
| +static void set_face(SkPaint* paint) { |
| + SkTypeface* face = SkTypeface::CreateFromName("serif", SkTypeface::kItalic); |
| + SkSafeUnref(paint->setTypeface(face)); |
| +} |
| + |
| +static void draw_pair(SkCanvas* canvas, SkPaint* paint) { |
| + const char text[] = "Now is the time for all good"; |
| + const size_t len = strlen(text); |
| + |
| + paint->setShader(NULL); |
| + canvas->drawText(text, len, 10, 20, *paint); |
| + set_gradient(paint); |
| + canvas->drawText(text, len, 10, 40, *paint); |
| +} |
| + |
| +static void test_gamma(SkCanvas* canvas) { |
| + SkPaint paint; |
| + paint.setAntiAlias(true); |
| + paint.setLCDRenderText(true); |
| + paint.setTextSize(18); |
| + set_face(&paint); |
| + |
| + draw_pair(canvas, &paint); |
| + |
| + canvas->translate(0, 50); |
| + paint.setColor(SK_ColorRED); |
| + draw_pair(canvas, &paint); |
| + |
| + canvas->translate(0, 50); |
| + paint.setColor(SK_ColorBLUE); |
| + draw_pair(canvas, &paint); |
| +} |
| + |
| /** Draw a 2px border around the target, then red behind the target; |
| set the clip to match the target, then draw >> the target in blue. |
| */ |
| @@ -80,6 +123,7 @@ protected: |
| } |
| virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { |
| + if (true) { test_gamma(canvas); return; } |
|
bungeman-skia
2014/08/21 14:15:43
I'm supposing this needs to be updated.
reed1
2014/08/21 20:07:38
Done.
|
| // Initial pixel-boundary-aligned draw |
| draw_rect_tests(canvas); |