| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 #include "SampleCode.h" | 8 #include "SampleCode.h" |
| 9 #include "SkView.h" | 9 #include "SkView.h" |
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
| 11 #include "SkGradientShader.h" | 11 #include "SkGradientShader.h" |
| 12 #include "SkGraphics.h" | 12 #include "SkGraphics.h" |
| 13 #include "SkImageDecoder.h" | 13 #include "SkImageDecoder.h" |
| 14 #include "SkPath.h" | 14 #include "SkPath.h" |
| 15 #include "SkRandom.h" | 15 #include "SkRandom.h" |
| 16 #include "SkRegion.h" | 16 #include "SkRegion.h" |
| 17 #include "SkShader.h" | 17 #include "SkShader.h" |
| 18 #include "SkUtils.h" | 18 #include "SkUtils.h" |
| 19 #include "SkXfermode.h" | 19 #include "SkXfermode.h" |
| 20 #include "SkColorPriv.h" | 20 #include "SkColorPriv.h" |
| 21 #include "SkColorFilter.h" | 21 #include "SkColorFilter.h" |
| 22 #include "SkTime.h" | 22 #include "SkTime.h" |
| 23 #include "SkTypeface.h" | 23 #include "SkTypeface.h" |
| 24 | 24 |
| 25 #include "SkOSFile.h" | 25 #include "SkOSFile.h" |
| 26 #include "SkStream.h" | 26 #include "SkStream.h" |
| 27 | 27 |
| 28 static SkShader* make_shader0(SkIPoint* size) { | 28 static sk_sp<SkShader> make_shader0(SkIPoint* size) { |
| 29 SkBitmap bm; | 29 SkBitmap bm; |
| 30 size->set(2, 2); | 30 size->set(2, 2); |
| 31 SkPMColor color0 = SkPreMultiplyARGB(0x80, 0x80, 0xff, 0x80); | 31 SkPMColor color0 = SkPreMultiplyARGB(0x80, 0x80, 0xff, 0x80); |
| 32 SkPMColor color1 = SkPreMultiplyARGB(0x40, 0xff, 0x00, 0xff); | 32 SkPMColor color1 = SkPreMultiplyARGB(0x40, 0xff, 0x00, 0xff); |
| 33 bm.allocN32Pixels(size->fX, size->fY); | 33 bm.allocN32Pixels(size->fX, size->fY); |
| 34 bm.eraseColor(color0); | 34 bm.eraseColor(color0); |
| 35 bm.lockPixels(); | 35 bm.lockPixels(); |
| 36 uint32_t* pixels = (uint32_t*) bm.getPixels(); | 36 uint32_t* pixels = (uint32_t*) bm.getPixels(); |
| 37 pixels[0] = pixels[2] = color0; | 37 pixels[0] = pixels[2] = color0; |
| 38 pixels[1] = pixels[3] = color1; | 38 pixels[1] = pixels[3] = color1; |
| 39 bm.unlockPixels(); | 39 bm.unlockPixels(); |
| 40 | 40 |
| 41 return SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode, | 41 return SkShader::MakeBitmapShader(bm, SkShader::kRepeat_TileMode, SkShader::
kRepeat_TileMode); |
| 42 SkShader::kRepeat_TileMode); | |
| 43 } | 42 } |
| 44 | 43 |
| 45 static SkShader* make_shader1(const SkIPoint& size) { | 44 static sk_sp<SkShader> make_shader1(const SkIPoint& size) { |
| 46 SkPoint pts[] = { { 0, 0 }, | 45 SkPoint pts[] = { { 0, 0 }, |
| 47 { SkIntToScalar(size.fX), SkIntToScalar(size.fY) } }; | 46 { SkIntToScalar(size.fX), SkIntToScalar(size.fY) } }; |
| 48 SkColor colors[] = { SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorRED }
; | 47 SkColor colors[] = { SK_ColorRED, SK_ColorGREEN, SK_ColorBLUE, SK_ColorRED }
; |
| 49 return SkGradientShader::CreateLinear(pts, colors, nullptr, | 48 return SkGradientShader::MakeLinear(pts, colors, nullptr, |
| 50 SK_ARRAY_COUNT(colors), SkShader::kMirror_TileMode); | 49 SK_ARRAY_COUNT(colors), SkShader::kMirror_TileMode); |
| 51 } | 50 } |
| 52 | 51 |
| 53 class VerticesView : public SampleView { | 52 class VerticesView : public SampleView { |
| 54 SkShader* fShader0; | 53 sk_sp<SkShader> fShader0; |
| 55 SkShader* fShader1; | 54 sk_sp<SkShader> fShader1; |
| 56 | 55 |
| 57 public: | 56 public: |
| 58 VerticesView() { | 57 VerticesView() { |
| 59 SkIPoint size; | 58 SkIPoint size; |
| 60 | 59 |
| 61 fShader0 = make_shader0(&size); | 60 fShader0 = make_shader0(&size); |
| 62 fShader1 = make_shader1(size); | 61 fShader1 = make_shader1(size); |
| 63 | 62 |
| 64 make_strip(&fRecs[0], size.fX, size.fY); | 63 make_strip(&fRecs[0], size.fX, size.fY); |
| 65 make_fan(&fRecs[1], size.fX, size.fY); | 64 make_fan(&fRecs[1], size.fX, size.fY); |
| 66 make_tris(&fRecs[2]); | 65 make_tris(&fRecs[2]); |
| 67 | 66 |
| 68 fScale = SK_Scalar1; | 67 fScale = SK_Scalar1; |
| 69 | 68 |
| 70 this->setBGColor(SK_ColorGRAY); | 69 this->setBGColor(SK_ColorGRAY); |
| 71 } | 70 } |
| 72 | 71 |
| 73 virtual ~VerticesView() { | |
| 74 SkSafeUnref(fShader0); | |
| 75 SkSafeUnref(fShader1); | |
| 76 } | |
| 77 | |
| 78 protected: | 72 protected: |
| 79 // overrides from SkEventSink | 73 // overrides from SkEventSink |
| 80 bool onQuery(SkEvent* evt) override { | 74 bool onQuery(SkEvent* evt) override { |
| 81 if (SampleCode::TitleQ(*evt)) { | 75 if (SampleCode::TitleQ(*evt)) { |
| 82 SampleCode::TitleR(evt, "Vertices"); | 76 SampleCode::TitleR(evt, "Vertices"); |
| 83 return true; | 77 return true; |
| 84 } | 78 } |
| 85 return this->INHERITED::onQuery(evt); | 79 return this->INHERITED::onQuery(evt); |
| 86 } | 80 } |
| 87 | 81 |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 | 217 |
| 224 Rec fRecs[3]; | 218 Rec fRecs[3]; |
| 225 | 219 |
| 226 typedef SampleView INHERITED; | 220 typedef SampleView INHERITED; |
| 227 }; | 221 }; |
| 228 | 222 |
| 229 ////////////////////////////////////////////////////////////////////////////// | 223 ////////////////////////////////////////////////////////////////////////////// |
| 230 | 224 |
| 231 static SkView* MyFactory() { return new VerticesView; } | 225 static SkView* MyFactory() { return new VerticesView; } |
| 232 static SkViewRegister reg(MyFactory); | 226 static SkViewRegister reg(MyFactory); |
| OLD | NEW |