aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-09-28 15:24:00 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-09-28 15:24:00 +0000
commit021b4054960a8b670e7a2670f7a5b4707b5736e3 (patch)
tree977c467f82adb65f6c2eeeea7db7fb2618284eb9
parent950d7a8d8def14efc98d12d6947347fde351b737 (diff)
splitscreen for black and white versions
git-svn-id: http://skia.googlecode.com/svn/trunk@2348 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r--samplecode/SampleTextBox.cpp25
1 files changed, 22 insertions, 3 deletions
diff --git a/samplecode/SampleTextBox.cpp b/samplecode/SampleTextBox.cpp
index 8906f3df8a..5f37380e99 100644
--- a/samplecode/SampleTextBox.cpp
+++ b/samplecode/SampleTextBox.cpp
@@ -9,6 +9,7 @@
#include "SkView.h"
#include "SkBlurMaskFilter.h"
#include "SkCanvas.h"
+#include "SkColorShader.h"
#include "SkGradientShader.h"
#include "SkGraphics.h"
#include "SkImageDecoder.h"
@@ -27,6 +28,8 @@
#include "SkStream.h"
#include "SkKey.h"
+extern void skia_set_text_gamma(float blackGamma, float whiteGamma);
+
#ifdef SK_BUILD_FOR_WIN
extern SkTypeface* SkCreateTypefaceFromLOGFONT(const LOGFONT&);
#endif
@@ -54,7 +57,7 @@ public:
tf0->unref();
tf1->unref();
#endif
- }
+ }
protected:
// overrides from SkEventSink
@@ -67,17 +70,22 @@ protected:
return this->INHERITED::onQuery(evt);
}
- virtual void onDrawContent(SkCanvas* canvas) {
+ void drawTest(SkCanvas* canvas, SkScalar w, SkScalar h, SkColor fg, SkColor bg) {
+ SkAutoCanvasRestore acr(canvas, true);
+
+ canvas->clipRect(SkRect::MakeWH(w, h));
+ canvas->drawColor(bg);
SkScalar margin = 20;
SkTextBox tbox;
tbox.setMode(SkTextBox::kLineBreak_Mode);
tbox.setBox(margin, margin,
- this->width() - margin, this->height() - margin);
+ w - margin, h - margin);
tbox.setSpacing(SkIntToScalar(3)/3, 0);
SkPaint paint;
paint.setAntiAlias(true);
paint.setLCDRenderText(true);
+ paint.setColor(fg);
tbox.setText(gText, strlen(gText), paint);
for (int i = 9; i < 24; i += 2) {
@@ -87,6 +95,17 @@ protected:
}
}
+ virtual void onDrawContent(SkCanvas* canvas) {
+ SkScalar width = this->width() / 3;
+ drawTest(canvas, width, this->height(), SK_ColorBLACK, SK_ColorWHITE);
+ canvas->translate(width, 0);
+ drawTest(canvas, width, this->height(), SK_ColorWHITE, SK_ColorBLACK);
+ canvas->translate(width, 0);
+ drawTest(canvas, width, this->height()/2, SK_ColorGRAY, SK_ColorWHITE);
+ canvas->translate(0, this->height()/2);
+ drawTest(canvas, width, this->height()/2, SK_ColorGRAY, SK_ColorBLACK);
+ }
+
private:
typedef SampleView INHERITED;
};