aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-08-14 19:20:45 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-08-14 19:20:45 +0000
commitde1559c5a7f1d2affa493e542776c6b71751d948 (patch)
treef4143fded51276887b69a6958d8df39c8764ff03 /gm
parentfe87fb8a335be0565fd98701eb05e94bfdc2b1db (diff)
Make xfermodes3 GM also test stroked rects
R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/22866002 git-svn-id: http://skia.googlecode.com/svn/trunk@10720 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm')
-rw-r--r--gm/xfermodes3.cpp78
1 files changed, 44 insertions, 34 deletions
diff --git a/gm/xfermodes3.cpp b/gm/xfermodes3.cpp
index c14c7856a9..f1eff1f369 100644
--- a/gm/xfermodes3.cpp
+++ b/gm/xfermodes3.cpp
@@ -32,7 +32,7 @@ protected:
}
virtual SkISize onISize() SK_OVERRIDE {
- return make_isize(630, 620);
+ return make_isize(630, 1215);
}
virtual void onDrawBackground(SkCanvas* canvas) SK_OVERRIDE {
@@ -62,40 +62,50 @@ protected:
int test = 0;
int x = 0, y = 0;
- for (size_t m = 0; m <= SkXfermode::kLastMode; ++m) {
- SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(m);
- canvas->drawText(SkXfermode::ModeName(mode),
- strlen(SkXfermode::ModeName(mode)),
- SkIntToScalar(x),
- SkIntToScalar(y + kSize + 3) + labelP.getTextSize(),
- labelP);
- for (size_t c = 0; c < SK_ARRAY_COUNT(kSolidColors); ++c) {
- SkPaint modePaint;
- modePaint.setXfermodeMode(mode);
- modePaint.setColor(kSolidColors[c]);
-
- this->drawMode(canvas, x, y, kSize, kSize, modePaint, tempCanvas.get());
-
- ++test;
- x += kSize + 10;
- if (!(test % kTestsPerRow)) {
- x = 0;
- y += kSize + 30;
+ static const struct { SkPaint::Style fStyle; SkScalar fWidth; } kStrokes[] = {
+ {SkPaint::kFill_Style, 0},
+ {SkPaint::kStroke_Style, SkIntToScalar(kSize) / 2},
+ };
+ for (size_t s = 0; s < SK_ARRAY_COUNT(kStrokes); ++s) {
+ for (size_t m = 0; m <= SkXfermode::kLastMode; ++m) {
+ SkXfermode::Mode mode = static_cast<SkXfermode::Mode>(m);
+ canvas->drawText(SkXfermode::ModeName(mode),
+ strlen(SkXfermode::ModeName(mode)),
+ SkIntToScalar(x),
+ SkIntToScalar(y + kSize + 3) + labelP.getTextSize(),
+ labelP);
+ for (size_t c = 0; c < SK_ARRAY_COUNT(kSolidColors); ++c) {
+ SkPaint modePaint;
+ modePaint.setXfermodeMode(mode);
+ modePaint.setColor(kSolidColors[c]);
+ modePaint.setStyle(kStrokes[s].fStyle);
+ modePaint.setStrokeWidth(kStrokes[s].fWidth);
+
+ this->drawMode(canvas, x, y, kSize, kSize, modePaint, tempCanvas.get());
+
+ ++test;
+ x += kSize + 10;
+ if (!(test % kTestsPerRow)) {
+ x = 0;
+ y += kSize + 30;
+ }
}
- }
- for (size_t a = 0; a < SK_ARRAY_COUNT(kBmpAlphas); ++a) {
- SkPaint modePaint;
- modePaint.setXfermodeMode(mode);
- modePaint.setAlpha(kBmpAlphas[a]);
- modePaint.setShader(fBmpShader);
-
- this->drawMode(canvas, x, y, kSize, kSize, modePaint, tempCanvas.get());
-
- ++test;
- x += kSize + 10;
- if (!(test % kTestsPerRow)) {
- x = 0;
- y += kSize + 30;
+ for (size_t a = 0; a < SK_ARRAY_COUNT(kBmpAlphas); ++a) {
+ SkPaint modePaint;
+ modePaint.setXfermodeMode(mode);
+ modePaint.setAlpha(kBmpAlphas[a]);
+ modePaint.setShader(fBmpShader);
+ modePaint.setStyle(kStrokes[s].fStyle);
+ modePaint.setStrokeWidth(kStrokes[s].fWidth);
+
+ this->drawMode(canvas, x, y, kSize, kSize, modePaint, tempCanvas.get());
+
+ ++test;
+ x += kSize + 10;
+ if (!(test % kTestsPerRow)) {
+ x = 0;
+ y += kSize + 30;
+ }
}
}
}