blob: 098958f4e038990a9a46c207b94e3992c59c4d32 [file] [log] [blame]
reed@android.comf5493692009-07-22 19:21:01 +00001#include "SampleCode.h"
2#include "SkView.h"
3#include "SkCanvas.h"
4#include "SkDevice.h"
5#include "SkPaint.h"
6#include "SkShader.h"
7
8class LCDView : public SkView {
9public:
10 LCDView() {}
11
12protected:
13 // overrides from SkEventSink
14 virtual bool onQuery(SkEvent* evt) {
15 if (SampleCode::TitleQ(*evt)) {
16 SampleCode::TitleR(evt, "LCD Text");
17 return true;
18 }
19 return this->INHERITED::onQuery(evt);
20 }
21
22 void drawBG(SkCanvas* canvas) {
23 canvas->drawColor(SK_ColorWHITE);
24 }
25
26 virtual void onDraw(SkCanvas* canvas) {
27 this->drawBG(canvas);
28
29 SkPaint paint;
30 paint.setAntiAlias(true);
31
32 SkScalar textSize = SkIntToScalar(6);
33 SkScalar delta = SK_Scalar1;
34 const char* text = "HHHamburgefonts iii";
35 size_t len = strlen(text);
36 SkScalar x0 = SkIntToScalar(10);
37 SkScalar x1 = SkIntToScalar(310);
38 SkScalar y = SkIntToScalar(20);
39
40 for (int i = 0; i < 20; i++) {
41 paint.setTextSize(textSize);
42 textSize += delta;
43
44 paint.setLCDRenderText(false);
45 canvas->drawText(text, len, x0, y, paint);
46 paint.setLCDRenderText(true);
47 canvas->drawText(text, len, x1, y, paint);
48
49 y += paint.getFontSpacing();
50 }
51 }
52
53private:
54 typedef SkView INHERITED;
55};
56
57//////////////////////////////////////////////////////////////////////////////
58
59static SkView* MyFactory() { return new LCDView; }
60static SkViewRegister reg(MyFactory);
61