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 "SkPath.h" | 10 #include "SkPath.h" |
11 | 11 |
12 /** | 12 /** |
13 * Skia may draw from outlines when the size is very large, so we exercise that | 13 * Skia may draw from outlines when the size is very large, so we exercise that |
14 * here. | 14 * here. |
15 */ | 15 */ |
16 | 16 |
17 class BigTextGM : public skiagm::GM { | 17 class BigTextGM : public skiagm::GM { |
18 public: | 18 public: |
19 BigTextGM() {} | 19 BigTextGM() {} |
20 | 20 |
21 protected: | 21 protected: |
22 virtual uint32_t onGetFlags() const SK_OVERRIDE { | 22 uint32_t onGetFlags() const SK_OVERRIDE { |
23 return kSkipTiled_Flag; | 23 return kSkipTiled_Flag; |
24 } | 24 } |
25 | 25 |
26 virtual SkString onShortName() SK_OVERRIDE { | 26 SkString onShortName() SK_OVERRIDE { |
27 return SkString("bigtext"); | 27 return SkString("bigtext"); |
28 } | 28 } |
29 | 29 |
30 virtual SkISize onISize() SK_OVERRIDE { | 30 SkISize onISize() SK_OVERRIDE { |
31 return SkISize::Make(640, 480); | 31 return SkISize::Make(640, 480); |
32 } | 32 } |
33 | 33 |
34 virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE { | 34 void onDraw(SkCanvas* canvas) SK_OVERRIDE { |
35 SkPaint paint; | 35 SkPaint paint; |
36 paint.setAntiAlias(true); | 36 paint.setAntiAlias(true); |
37 sk_tool_utils::set_portable_typeface(&paint); | 37 sk_tool_utils::set_portable_typeface(&paint); |
38 paint.setTextSize(1500); | 38 paint.setTextSize(1500); |
39 | 39 |
40 SkRect r; | 40 SkRect r; |
41 (void)paint.measureText("/", 1, &r); | 41 (void)paint.measureText("/", 1, &r); |
42 SkPoint pos = { | 42 SkPoint pos = { |
43 this->width()/2 - r.centerX(), | 43 this->width()/2 - r.centerX(), |
44 this->height()/2 - r.centerY() | 44 this->height()/2 - r.centerY() |
45 }; | 45 }; |
46 | 46 |
47 paint.setColor(SK_ColorRED); | 47 paint.setColor(SK_ColorRED); |
48 canvas->drawText("/", 1, pos.fX, pos.fY, paint); | 48 canvas->drawText("/", 1, pos.fX, pos.fY, paint); |
49 | 49 |
50 paint.setColor(SK_ColorBLUE); | 50 paint.setColor(SK_ColorBLUE); |
51 canvas->drawPosText("\\", 1, &pos, paint); | 51 canvas->drawPosText("\\", 1, &pos, paint); |
52 } | 52 } |
53 | 53 |
54 private: | 54 private: |
55 typedef skiagm::GM INHERITED; | 55 typedef skiagm::GM INHERITED; |
56 }; | 56 }; |
57 | 57 |
58 DEF_GM( return SkNEW(BigTextGM); ) | 58 DEF_GM( return SkNEW(BigTextGM); ) |
OLD | NEW |