| 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 "SkTArray.h" | 10 #include "SkTArray.h" |
| 11 | 11 |
| 12 namespace skiagm { | 12 namespace skiagm { |
| 13 | 13 |
| 14 class HairlinesGM : public GM { | 14 class HairlinesGM : public GM { |
| 15 protected: | 15 protected: |
| 16 virtual uint32_t onGetFlags() const SK_OVERRIDE { | 16 uint32_t onGetFlags() const SK_OVERRIDE { |
| 17 return kSkipTiled_Flag; | 17 return kSkipTiled_Flag; |
| 18 } | 18 } |
| 19 | 19 |
| 20 | 20 |
| 21 virtual SkString onShortName() SK_OVERRIDE { | 21 SkString onShortName() SK_OVERRIDE { |
| 22 return SkString("hairlines"); | 22 return SkString("hairlines"); |
| 23 } | 23 } |
| 24 | 24 |
| 25 virtual SkISize onISize() SK_OVERRIDE { return SkISize::Make(1250, 1250); } | 25 SkISize onISize() SK_OVERRIDE { return SkISize::Make(1250, 1250); } |
| 26 | 26 |
| 27 virtual void onOnceBeforeDraw() SK_OVERRIDE { | 27 void onOnceBeforeDraw() SK_OVERRIDE { |
| 28 { | 28 { |
| 29 SkPath* lineAnglesPath = &fPaths.push_back(); | 29 SkPath* lineAnglesPath = &fPaths.push_back(); |
| 30 enum { | 30 enum { |
| 31 kNumAngles = 15, | 31 kNumAngles = 15, |
| 32 kRadius = 40, | 32 kRadius = 40, |
| 33 }; | 33 }; |
| 34 for (int i = 0; i < kNumAngles; ++i) { | 34 for (int i = 0; i < kNumAngles; ++i) { |
| 35 SkScalar angle = SK_ScalarPI * SkIntToScalar(i) / kNumAngles; | 35 SkScalar angle = SK_ScalarPI * SkIntToScalar(i) / kNumAngles; |
| 36 SkScalar x = kRadius * SkScalarCos(angle); | 36 SkScalar x = kRadius * SkScalarCos(angle); |
| 37 SkScalar y = kRadius * SkScalarSin(angle); | 37 SkScalar y = kRadius * SkScalarSin(angle); |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 | 157 |
| 158 sinV = SkScalarSinCos(SkDegreesToRadians(kStartAngle + kSweepAngle),
&cosV); | 158 sinV = SkScalarSinCos(SkDegreesToRadians(kStartAngle + kSweepAngle),
&cosV); |
| 159 | 159 |
| 160 SkPoint p1 = SkPoint::Make(kRad * cosV, kRad * sinV); | 160 SkPoint p1 = SkPoint::Make(kRad * cosV, kRad * sinV); |
| 161 | 161 |
| 162 bug->moveTo(p0); | 162 bug->moveTo(p0); |
| 163 bug->lineTo(p1); | 163 bug->lineTo(p1); |
| 164 } | 164 } |
| 165 } | 165 } |
| 166 | 166 |
| 167 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { | 167 void onDraw(SkCanvas* canvas) SK_OVERRIDE { |
| 168 static const SkAlpha kAlphaValue[] = { 0xFF, 0x40 }; | 168 static const SkAlpha kAlphaValue[] = { 0xFF, 0x40 }; |
| 169 static const SkScalar kWidths[] = { 0, 0.5f, 1.5f }; | 169 static const SkScalar kWidths[] = { 0, 0.5f, 1.5f }; |
| 170 | 170 |
| 171 enum { | 171 enum { |
| 172 kMargin = 5, | 172 kMargin = 5, |
| 173 }; | 173 }; |
| 174 int wrapX = canvas->getDeviceSize().fWidth - kMargin; | 174 int wrapX = canvas->getDeviceSize().fWidth - kMargin; |
| 175 | 175 |
| 176 SkScalar maxH = 0; | 176 SkScalar maxH = 0; |
| 177 canvas->translate(SkIntToScalar(kMargin), SkIntToScalar(kMargin)); | 177 canvas->translate(SkIntToScalar(kMargin), SkIntToScalar(kMargin)); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 SkTArray<SkPath> fPaths; | 219 SkTArray<SkPath> fPaths; |
| 220 typedef GM INHERITED; | 220 typedef GM INHERITED; |
| 221 }; | 221 }; |
| 222 | 222 |
| 223 ////////////////////////////////////////////////////////////////////////////// | 223 ////////////////////////////////////////////////////////////////////////////// |
| 224 | 224 |
| 225 static GM* MyFactory(void*) { return new HairlinesGM; } | 225 static GM* MyFactory(void*) { return new HairlinesGM; } |
| 226 static GMRegistry reg(MyFactory); | 226 static GMRegistry reg(MyFactory); |
| 227 | 227 |
| 228 } | 228 } |
| OLD | NEW |