1 /* 2 * Copyright 2011 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 #include "SampleCode.h" 8 #include "SkView.h" 9 #include "SkCanvas.h" 10 #include "SkPaint.h" 11 #include "SkShader.h" 12 13 class LCDView : public SkView { 14 public: 15 LCDView() {} 16 17 protected: 18 // overrides from SkEventSink 19 virtual bool onQuery(SkEvent* evt) { 20 if (SampleCode::TitleQ(*evt)) { 21 SampleCode::TitleR(evt, "LCD Text"); 22 return true; 23 } 24 return this->INHERITED::onQuery(evt); 25 } 26 27 void drawBG(SkCanvas* canvas) { 28 canvas->drawColor(SK_ColorWHITE); 29 } 30 31 virtual void onDraw(SkCanvas* canvas) { 32 this->drawBG(canvas); 33 34 SkPaint paint; 35 paint.setAntiAlias(true); 36 37 SkScalar textSize = SkIntToScalar(6); 38 SkScalar delta = SK_Scalar1; 39 const char* text = "HHHamburgefonts iii"; 40 size_t len = strlen(text); 41 SkScalar x0 = SkIntToScalar(10); 42 SkScalar x1 = SkIntToScalar(310); 43 SkScalar y = SkIntToScalar(20); 44 45 for (int i = 0; i < 20; i++) { 46 paint.setTextSize(textSize); 47 textSize += delta; 48 49 paint.setLCDRenderText(false); 50 canvas->drawText(text, len, x0, y, paint); 51 paint.setLCDRenderText(true); 52 canvas->drawText(text, len, x1, y, paint); 53 54 y += paint.getFontSpacing(); 55 } 56 } 57 58 private: 59 typedef SkView INHERITED; 60 }; 61 62 ////////////////////////////////////////////////////////////////////////////// 63 64 static SkView* MyFactory() { return new LCDView; } 65 static SkViewRegister reg(MyFactory); 66