splitscreen for black and white versions



git-svn-id: http://skia.googlecode.com/svn/trunk@2348 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleTextBox.cpp b/samplecode/SampleTextBox.cpp
index 8906f3d..5f37380 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 @@
 		tf0->unref();
 		tf1->unref();
 #endif
-	}
+    }
 
 protected:
     // overrides from SkEventSink
@@ -67,17 +70,22 @@
         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 @@
 		}
     }
 
+    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;
 };