OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "gm.h" | 8 #include "gm.h" |
9 #include "SkBlurMaskFilter.h" | 9 #include "SkBlurMaskFilter.h" |
10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 canvas.drawCircle(50, 50, 50, paint); | 22 canvas.drawCircle(50, 50, 50, paint); |
23 return bm; | 23 return bm; |
24 } | 24 } |
25 | 25 |
26 class EmbossGM : public skiagm::GM { | 26 class EmbossGM : public skiagm::GM { |
27 public: | 27 public: |
28 EmbossGM() { | 28 EmbossGM() { |
29 } | 29 } |
30 | 30 |
31 protected: | 31 protected: |
32 virtual SkString onShortName() SK_OVERRIDE { | 32 SkString onShortName() SK_OVERRIDE { |
33 return SkString("emboss"); | 33 return SkString("emboss"); |
34 } | 34 } |
35 | 35 |
36 virtual SkISize onISize() SK_OVERRIDE { | 36 SkISize onISize() SK_OVERRIDE { |
37 return SkISize::Make(600, 120); | 37 return SkISize::Make(600, 120); |
38 } | 38 } |
39 | 39 |
40 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { | 40 void onDraw(SkCanvas* canvas) SK_OVERRIDE { |
41 SkPaint paint; | 41 SkPaint paint; |
42 SkBitmap bm = make_bm(); | 42 SkBitmap bm = make_bm(); |
43 canvas->drawBitmap(bm, 10, 10, &paint); | 43 canvas->drawBitmap(bm, 10, 10, &paint); |
44 | 44 |
45 const SkScalar dir[] = { 1, 1, 1 }; | 45 const SkScalar dir[] = { 1, 1, 1 }; |
46 paint.setMaskFilter(SkBlurMaskFilter::CreateEmboss(3, dir, 0.3f, 0.1f))-
>unref(); | 46 paint.setMaskFilter(SkBlurMaskFilter::CreateEmboss(3, dir, 0.3f, 0.1f))-
>unref(); |
47 canvas->translate(bm.width() + SkIntToScalar(10), 0); | 47 canvas->translate(bm.width() + SkIntToScalar(10), 0); |
48 canvas->drawBitmap(bm, 10, 10, &paint); | 48 canvas->drawBitmap(bm, 10, 10, &paint); |
49 | 49 |
50 // this combination of emboss+colorfilter used to crash -- so we exercis
e it to | 50 // this combination of emboss+colorfilter used to crash -- so we exercis
e it to |
51 // confirm that we have a fix. | 51 // confirm that we have a fix. |
52 paint.setColorFilter(SkColorFilter::CreateModeFilter(0xFFFF0000, SkXferm
ode::kSrcATop_Mode))->unref(); | 52 paint.setColorFilter(SkColorFilter::CreateModeFilter(0xFFFF0000, SkXferm
ode::kSrcATop_Mode))->unref(); |
53 canvas->translate(bm.width() + SkIntToScalar(10), 0); | 53 canvas->translate(bm.width() + SkIntToScalar(10), 0); |
54 canvas->drawBitmap(bm, 10, 10, &paint); | 54 canvas->drawBitmap(bm, 10, 10, &paint); |
55 } | 55 } |
56 | 56 |
57 private: | 57 private: |
58 typedef skiagm::GM INHERITED; | 58 typedef skiagm::GM INHERITED; |
59 }; | 59 }; |
60 | 60 |
61 DEF_GM( return SkNEW(EmbossGM); ) | 61 DEF_GM( return SkNEW(EmbossGM); ) |
OLD | NEW |