| 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 | 
|---|