| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 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 "SkCanvas.h" | 9 #include "SkCanvas.h" |
| 10 #include "SkGradientShader.h" | 10 #include "SkGradientShader.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 | 31 |
| 32 public: | 32 public: |
| 33 VerticesGM(unsigned alpha) : fShader(NULL), fAlpha(alpha) { | 33 VerticesGM(unsigned alpha) : fShader(NULL), fAlpha(alpha) { |
| 34 } | 34 } |
| 35 | 35 |
| 36 virtual ~VerticesGM() { | 36 virtual ~VerticesGM() { |
| 37 SkSafeUnref(fShader); | 37 SkSafeUnref(fShader); |
| 38 } | 38 } |
| 39 | 39 |
| 40 protected: | 40 protected: |
| 41 virtual uint32_t onGetFlags() const SK_OVERRIDE { | 41 uint32_t onGetFlags() const SK_OVERRIDE { |
| 42 return kSkipTiled_Flag; | 42 return kSkipTiled_Flag; |
| 43 } | 43 } |
| 44 | 44 |
| 45 virtual void onOnceBeforeDraw() SK_OVERRIDE { | 45 void onOnceBeforeDraw() SK_OVERRIDE { |
| 46 const SkScalar X = 150; | 46 const SkScalar X = 150; |
| 47 const SkScalar Y = 150; | 47 const SkScalar Y = 150; |
| 48 | 48 |
| 49 fPts[0].set(0, 0); fPts[1].set(X/2, 10); fPts[2].set(X, 0); | 49 fPts[0].set(0, 0); fPts[1].set(X/2, 10); fPts[2].set(X, 0); |
| 50 fPts[3].set(10, Y/2); fPts[4].set(X/2, Y/2); fPts[5].set(X-10, Y/2); | 50 fPts[3].set(10, Y/2); fPts[4].set(X/2, Y/2); fPts[5].set(X-10, Y/2); |
| 51 fPts[6].set(0, Y); fPts[7].set(X/2, Y-10); fPts[8].set(X, Y); | 51 fPts[6].set(0, Y); fPts[7].set(X/2, Y-10); fPts[8].set(X, Y); |
| 52 | 52 |
| 53 const SkScalar w = 200; | 53 const SkScalar w = 200; |
| 54 const SkScalar h = 200; | 54 const SkScalar h = 200; |
| 55 | 55 |
| 56 fTexs[0].set(0, 0); fTexs[1].set(w/2, 0); fTexs[2].set(w, 0); | 56 fTexs[0].set(0, 0); fTexs[1].set(w/2, 0); fTexs[2].set(w, 0); |
| 57 fTexs[3].set(0, h/2); fTexs[4].set(w/2, h/2); fTexs[5].set(w, h/2); | 57 fTexs[3].set(0, h/2); fTexs[4].set(w/2, h/2); fTexs[5].set(w, h/2); |
| 58 fTexs[6].set(0, h); fTexs[7].set(w/2, h); fTexs[8].set(w, h); | 58 fTexs[6].set(0, h); fTexs[7].set(w/2, h); fTexs[8].set(w, h); |
| 59 | 59 |
| 60 fShader = make_shader(w, h); | 60 fShader = make_shader(w, h); |
| 61 | 61 |
| 62 SkRandom rand; | 62 SkRandom rand; |
| 63 for (size_t i = 0; i < SK_ARRAY_COUNT(fColors); ++i) { | 63 for (size_t i = 0; i < SK_ARRAY_COUNT(fColors); ++i) { |
| 64 fColors[i] = rand.nextU() | 0xFF000000; | 64 fColors[i] = rand.nextU() | 0xFF000000; |
| 65 } | 65 } |
| 66 } | 66 } |
| 67 | 67 |
| 68 virtual SkString onShortName() SK_OVERRIDE { | 68 SkString onShortName() SK_OVERRIDE { |
| 69 SkString name("vertices"); | 69 SkString name("vertices"); |
| 70 if (0xFF != fAlpha) { | 70 if (0xFF != fAlpha) { |
| 71 name.appendf("_%02X", fAlpha); | 71 name.appendf("_%02X", fAlpha); |
| 72 } | 72 } |
| 73 return name; | 73 return name; |
| 74 } | 74 } |
| 75 | 75 |
| 76 virtual SkISize onISize() SK_OVERRIDE { | 76 SkISize onISize() SK_OVERRIDE { |
| 77 return SkISize::Make(600, 600); | 77 return SkISize::Make(600, 600); |
| 78 } | 78 } |
| 79 | 79 |
| 80 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { | 80 void onDraw(SkCanvas* canvas) SK_OVERRIDE { |
| 81 // start with the center of a 3x3 grid | 81 // start with the center of a 3x3 grid |
| 82 static const uint16_t fan[] = { | 82 static const uint16_t fan[] = { |
| 83 4, | 83 4, |
| 84 0, 1, 2, 5, 8, 7, 6, 3, 0 | 84 0, 1, 2, 5, 8, 7, 6, 3, 0 |
| 85 }; | 85 }; |
| 86 | 86 |
| 87 const struct { | 87 const struct { |
| 88 const SkColor* fColors; | 88 const SkColor* fColors; |
| 89 const SkPoint* fTexs; | 89 const SkPoint* fTexs; |
| 90 } rec[] = { | 90 } rec[] = { |
| (...skipping 30 matching lines...) Expand all Loading... |
| 121 } | 121 } |
| 122 | 122 |
| 123 private: | 123 private: |
| 124 typedef skiagm::GM INHERITED; | 124 typedef skiagm::GM INHERITED; |
| 125 }; | 125 }; |
| 126 | 126 |
| 127 ////////////////////////////////////////////////////////////////////////////////
///// | 127 ////////////////////////////////////////////////////////////////////////////////
///// |
| 128 | 128 |
| 129 DEF_GM( return SkNEW_ARGS(VerticesGM, (0xFF)); ) | 129 DEF_GM( return SkNEW_ARGS(VerticesGM, (0xFF)); ) |
| 130 DEF_GM( return SkNEW_ARGS(VerticesGM, (0x80)); ) | 130 DEF_GM( return SkNEW_ARGS(VerticesGM, (0x80)); ) |
| OLD | NEW |