| 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 |