aboutsummaryrefslogtreecommitdiffstats
path: root/samplecode/SampleFontScalerTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samplecode/SampleFontScalerTest.cpp')
-rw-r--r--samplecode/SampleFontScalerTest.cpp71
1 files changed, 46 insertions, 25 deletions
diff --git a/samplecode/SampleFontScalerTest.cpp b/samplecode/SampleFontScalerTest.cpp
index 0b0d349..062eca3 100644
--- a/samplecode/SampleFontScalerTest.cpp
+++ b/samplecode/SampleFontScalerTest.cpp
@@ -1,3 +1,10 @@
+
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
#include "SampleCode.h"
#include "SkView.h"
#include "SkCanvas.h"
@@ -38,7 +45,7 @@ public:
fFaces[i] = SkTypeface::CreateFromName(gFaces[i].fName,
gFaces[i].fStyle);
}
- this->setBGColor(0xFFDDDDDD);
+// this->setBGColor(0xFFDDDDDD);
}
virtual ~FontScalerTestView() {
@@ -57,6 +64,12 @@ protected:
return this->INHERITED::onQuery(evt);
}
+ static void rotate_about(SkCanvas* canvas, SkScalar degrees, SkScalar px, SkScalar py) {
+ canvas->translate(px, py);
+ canvas->rotate(degrees);
+ canvas->translate(-px, -py);
+ }
+
virtual void onDrawContent(SkCanvas* canvas) {
SkPaint paint;
@@ -74,35 +87,43 @@ protected:
canvas->drawPath(path, paint);
}
- canvas->translate(200, 20);
- canvas->rotate(30);
-
+// paint.setSubpixelText(true);
paint.setAntiAlias(true);
paint.setLCDRenderText(true);
SkSafeUnref(paint.setTypeface(SkTypeface::CreateFromName("Times Roman", SkTypeface::kNormal)));
// const char* text = "abcdefghijklmnopqrstuvwxyz";
- const char* text = "HnHnHnHnHnHnHnHnH";
- size_t textLen = strlen(text);
-
- SkScalar x = SkIntToScalar(10);
- SkScalar y = SkIntToScalar(20);
-
- {
- SkPaint p;
- p.setColor(SK_ColorRED);
- SkRect r;
- r.set(0, 0, x, y*20);
- canvas->drawRect(r, p);
- }
-
- int index = 0;
- for (int ps = 9; ps <= 24; ps++) {
- textLen = strlen(text);
- paint.setTextSize(SkIntToScalar(ps));
- canvas->drawText(text, textLen, x, y, paint);
- y += paint.getFontMetrics(NULL);
- index += 1;
+ const char* text = "Hamburgefons ooo mmm";
+ const size_t textLen = strlen(text);
+
+ for (int j = 0; j < 2; ++j) {
+ for (int i = 0; i < 6; ++i) {
+ SkScalar x = SkIntToScalar(10);
+ SkScalar y = SkIntToScalar(20);
+
+ SkAutoCanvasRestore acr(canvas, true);
+ canvas->translate(SkIntToScalar(50 + i * 230),
+ SkIntToScalar(20));
+ rotate_about(canvas, i * 5, x, y * 10);
+
+ {
+ SkPaint p;
+ p.setAntiAlias(true);
+ SkRect r;
+ r.set(x-3, 15, x-1, 280);
+ canvas->drawRect(r, p);
+ }
+
+ int index = 0;
+ for (int ps = 6; ps <= 22; ps++) {
+ paint.setTextSize(SkIntToScalar(ps));
+ canvas->drawText(text, textLen, x, y, paint);
+ y += paint.getFontMetrics(NULL);
+ index += 1;
+ }
+ }
+ canvas->translate(0, 400);
+ paint.setSubpixelText(true);
}
}