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 | 9 |
10 #include "Resources.h" | 10 #include "Resources.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 bool onQuery(SkEvent* evt) SK_OVERRIDE { | 55 bool onQuery(SkEvent* evt) SK_OVERRIDE { |
56 if (SampleCode::TitleQ(*evt)) { | 56 if (SampleCode::TitleQ(*evt)) { |
57 SampleCode::TitleR(evt, "SubpixelTranslate"); | 57 SampleCode::TitleR(evt, "SubpixelTranslate"); |
58 return true; | 58 return true; |
59 } | 59 } |
60 return this->INHERITED::onQuery(evt); | 60 return this->INHERITED::onQuery(evt); |
61 } | 61 } |
62 | 62 |
63 void onDrawContent(SkCanvas* canvas) SK_OVERRIDE { | 63 void onDrawContent(SkCanvas* canvas) SK_OVERRIDE { |
64 | 64 |
65 static const SkPaint::FilterLevel gLevels[] = { | 65 static const SkFilterQuality gQualitys[] = { |
66 SkPaint::kNone_FilterLevel, | 66 kNone_SkFilterQuality, |
67 SkPaint::kLow_FilterLevel, | 67 kLow_SkFilterQuality, |
68 SkPaint::kMedium_FilterLevel, | 68 kMedium_SkFilterQuality, |
69 SkPaint::kHigh_FilterLevel | 69 kHigh_SkFilterQuality |
70 }; | 70 }; |
71 | 71 |
72 SkPaint paint; | 72 SkPaint paint; |
73 paint.setTextSize(48); | 73 paint.setTextSize(48); |
74 paint.setSubpixelText(true); | 74 paint.setSubpixelText(true); |
75 | 75 |
76 paint.setAntiAlias(true); | 76 paint.setAntiAlias(true); |
77 for (size_t i = 0; i < SK_ARRAY_COUNT(gLevels); ++i) { | 77 for (size_t i = 0; i < SK_ARRAY_COUNT(gQualitys); ++i) { |
78 paint.setFilterLevel(gLevels[i]); | 78 paint.setFilterQuality(gQualitys[i]); |
79 SkRect r = SkRect::MakeXYWH( fCurPos.fX + i * (fSize + 10), fCurPos.
fY, fSize, fSize ); | 79 SkRect r = SkRect::MakeXYWH( fCurPos.fX + i * (fSize + 10), fCurPos.
fY, fSize, fSize ); |
80 canvas->drawBitmapRect( fBM, r, &paint ); | 80 canvas->drawBitmapRect( fBM, r, &paint ); |
81 } | 81 } |
82 | 82 |
83 canvas->drawText( "AA Scaled", strlen("AA Scaled"), fCurPos.fX + SK_ARRA
Y_COUNT(gLevels) * (fSize + 10), fCurPos.fY + fSize/2, paint ); | 83 canvas->drawText( "AA Scaled", strlen("AA Scaled"), fCurPos.fX + SK_ARRA
Y_COUNT(gQualitys) * (fSize + 10), fCurPos.fY + fSize/2, paint ); |
84 | 84 |
85 paint.setAntiAlias(false); | 85 paint.setAntiAlias(false); |
86 for (size_t i = 0; i < SK_ARRAY_COUNT(gLevels); ++i) { | 86 for (size_t i = 0; i < SK_ARRAY_COUNT(gQualitys); ++i) { |
87 paint.setFilterLevel(gLevels[i]); | 87 paint.setFilterQuality(gQualitys[i]); |
88 SkRect r = SkRect::MakeXYWH( fCurPos.fX + i * (fSize + 10), fCurPos.
fY + fSize + 10, fSize, fSize ); | 88 SkRect r = SkRect::MakeXYWH( fCurPos.fX + i * (fSize + 10), fCurPos.
fY + fSize + 10, fSize, fSize ); |
89 canvas->drawBitmapRect( fBM, r, &paint ); | 89 canvas->drawBitmapRect( fBM, r, &paint ); |
90 } | 90 } |
91 canvas->drawText( "Scaled", strlen("Scaled"), fCurPos.fX + SK_ARRAY_COUN
T(gLevels) * (fSize + 10), fCurPos.fY + fSize + 10 + fSize/2, paint ); | 91 canvas->drawText( "Scaled", strlen("Scaled"), fCurPos.fX + SK_ARRAY_COUN
T(gQualitys) * (fSize + 10), fCurPos.fY + fSize + 10 + fSize/2, paint ); |
92 | 92 |
93 paint.setAntiAlias(true); | 93 paint.setAntiAlias(true); |
94 for (size_t i = 0; i < SK_ARRAY_COUNT(gLevels); ++i) { | 94 for (size_t i = 0; i < SK_ARRAY_COUNT(gQualitys); ++i) { |
95 paint.setFilterLevel(gLevels[i]); | 95 paint.setFilterQuality(gQualitys[i]); |
96 canvas->drawBitmap( fBM, fCurPos.fX + i * (fBM.width() + 10), fCurPo
s.fY + 2*(fSize + 10), &paint ); | 96 canvas->drawBitmap( fBM, fCurPos.fX + i * (fBM.width() + 10), fCurPo
s.fY + 2*(fSize + 10), &paint ); |
97 } | 97 } |
98 | 98 |
99 canvas->drawText( "AA No Scale", strlen("AA No Scale"), fCurPos.fX + SK_
ARRAY_COUNT(gLevels) * (fBM.width() + 10), fCurPos.fY + 2*(fSize + 10) + fSize/2
, paint ); | 99 canvas->drawText( "AA No Scale", strlen("AA No Scale"), fCurPos.fX + SK_
ARRAY_COUNT(gQualitys) * (fBM.width() + 10), fCurPos.fY + 2*(fSize + 10) + fSize
/2, paint ); |
100 | 100 |
101 paint.setAntiAlias(false); | 101 paint.setAntiAlias(false); |
102 for (size_t i = 0; i < SK_ARRAY_COUNT(gLevels); ++i) { | 102 for (size_t i = 0; i < SK_ARRAY_COUNT(gQualitys); ++i) { |
103 paint.setFilterLevel(gLevels[i]); | 103 paint.setFilterQuality(gQualitys[i]); |
104 canvas->drawBitmap( fBM, fCurPos.fX + i * (fBM.width() + 10), fCurPo
s.fY + 2*(fSize + 10) + fBM.height() + 10, &paint ); | 104 canvas->drawBitmap( fBM, fCurPos.fX + i * (fBM.width() + 10), fCurPo
s.fY + 2*(fSize + 10) + fBM.height() + 10, &paint ); |
105 } | 105 } |
106 | 106 |
107 canvas->drawText( "No Scale", strlen("No Scale"), fCurPos.fX + SK_ARRAY_
COUNT(gLevels) * (fBM.width() + 10), fCurPos.fY + 2*(fSize + 10) + fBM.height()
+ 10 + fSize/2, paint ); | 107 canvas->drawText( "No Scale", strlen("No Scale"), fCurPos.fX + SK_ARRAY_
COUNT(gQualitys) * (fBM.width() + 10), fCurPos.fY + 2*(fSize + 10) + fBM.height(
) + 10 + fSize/2, paint ); |
108 | 108 |
109 | 109 |
110 fCurPos.fX += fHorizontalVelocity; | 110 fCurPos.fX += fHorizontalVelocity; |
111 fCurPos.fY += fVerticalVelocity; | 111 fCurPos.fY += fVerticalVelocity; |
112 this->inval(NULL); | 112 this->inval(NULL); |
113 } | 113 } |
114 | 114 |
115 private: | 115 private: |
116 typedef SampleView INHERITED; | 116 typedef SampleView INHERITED; |
117 }; | 117 }; |
118 | 118 |
119 ////////////////////////////////////////////////////////////////////////////// | 119 ////////////////////////////////////////////////////////////////////////////// |
120 | 120 |
121 static SkView* MyFactory() { return new SubpixelTranslateView("mandrill_256.png"
, .05f, .05f); } | 121 static SkView* MyFactory() { return new SubpixelTranslateView("mandrill_256.png"
, .05f, .05f); } |
122 static SkViewRegister reg(MyFactory); | 122 static SkViewRegister reg(MyFactory); |
OLD | NEW |