aboutsummaryrefslogtreecommitdiffstats
path: root/samplecode/SampleTextBox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samplecode/SampleTextBox.cpp')
-rw-r--r--samplecode/SampleTextBox.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/samplecode/SampleTextBox.cpp b/samplecode/SampleTextBox.cpp
index 37a6be0..5f37380 100644
--- a/samplecode/SampleTextBox.cpp
+++ b/samplecode/SampleTextBox.cpp
@@ -1,7 +1,15 @@
+
+/*
+ * 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 "SkBlurMaskFilter.h"
#include "SkCanvas.h"
+#include "SkColorShader.h"
#include "SkGradientShader.h"
#include "SkGraphics.h"
#include "SkImageDecoder.h"
@@ -20,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
@@ -47,7 +57,7 @@ public:
tf0->unref();
tf1->unref();
#endif
- }
+ }
protected:
// overrides from SkEventSink
@@ -60,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) {
@@ -80,8 +95,19 @@ 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 SkView INHERITED;
+ typedef SampleView INHERITED;
};
//////////////////////////////////////////////////////////////////////////////