diff options
author | reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2009-07-22 19:21:01 +0000 |
---|---|---|
committer | reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2009-07-22 19:21:01 +0000 |
commit | f549369fcd9f203dc8020b5b15ee49330058782a (patch) | |
tree | 5cb52dc6a23c9912706415f643d6b408728cbb0b /samplecode | |
parent | 01f82da73b38cdaaebf8862b4cb0bc636a52f78a (diff) |
rename SK_BUILD_SUBPIXEL to SK_SUPPORT_LCDTEXT to better match the name of the
feature (since we already have subpixel text support)
fix some debug-compile problems
update Makefile for lcd files
git-svn-id: http://skia.googlecode.com/svn/trunk@282 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode')
-rw-r--r-- | samplecode/SampleLCD.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/samplecode/SampleLCD.cpp b/samplecode/SampleLCD.cpp new file mode 100644 index 0000000000..098958f4e0 --- /dev/null +++ b/samplecode/SampleLCD.cpp @@ -0,0 +1,61 @@ +#include "SampleCode.h" +#include "SkView.h" +#include "SkCanvas.h" +#include "SkDevice.h" +#include "SkPaint.h" +#include "SkShader.h" + +class LCDView : public SkView { +public: + LCDView() {} + +protected: + // overrides from SkEventSink + virtual bool onQuery(SkEvent* evt) { + if (SampleCode::TitleQ(*evt)) { + SampleCode::TitleR(evt, "LCD Text"); + return true; + } + return this->INHERITED::onQuery(evt); + } + + void drawBG(SkCanvas* canvas) { + canvas->drawColor(SK_ColorWHITE); + } + + virtual void onDraw(SkCanvas* canvas) { + this->drawBG(canvas); + + SkPaint paint; + paint.setAntiAlias(true); + + SkScalar textSize = SkIntToScalar(6); + SkScalar delta = SK_Scalar1; + const char* text = "HHHamburgefonts iii"; + size_t len = strlen(text); + SkScalar x0 = SkIntToScalar(10); + SkScalar x1 = SkIntToScalar(310); + SkScalar y = SkIntToScalar(20); + + for (int i = 0; i < 20; i++) { + paint.setTextSize(textSize); + textSize += delta; + + paint.setLCDRenderText(false); + canvas->drawText(text, len, x0, y, paint); + paint.setLCDRenderText(true); + canvas->drawText(text, len, x1, y, paint); + + y += paint.getFontSpacing(); + } + } + +private: + typedef SkView INHERITED; +}; + +////////////////////////////////////////////////////////////////////////////// + +static SkView* MyFactory() { return new LCDView; } +static SkViewRegister reg(MyFactory); + |