aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-07-22 19:21:01 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-07-22 19:21:01 +0000
commitf549369fcd9f203dc8020b5b15ee49330058782a (patch)
tree5cb52dc6a23c9912706415f643d6b408728cbb0b /samplecode
parent01f82da73b38cdaaebf8862b4cb0bc636a52f78a (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.cpp61
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);
+