aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/tinybitmap.cpp
diff options
context:
space:
mode:
authorGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-18 21:19:31 +0000
committerGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-18 21:19:31 +0000
commit1936f26a0fe6fcdbb384562d5d9e631c3ba85536 (patch)
tree6d8d7e3809c70984bbf7a54dc096e7d783003e99 /gm/tinybitmap.cpp
parent5c63865b529eb5714e41419dfa23c70d26ff6e4e (diff)
Add tinybitmap gm and windows baselines.
Review URL: http://codereview.appspot.com/4674048/ git-svn-id: http://skia.googlecode.com/svn/trunk@1888 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm/tinybitmap.cpp')
-rw-r--r--gm/tinybitmap.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/gm/tinybitmap.cpp b/gm/tinybitmap.cpp
new file mode 100644
index 0000000000..d309970b27
--- /dev/null
+++ b/gm/tinybitmap.cpp
@@ -0,0 +1,61 @@
+#include "gm.h"
+#include "SkColorPriv.h"
+#include "SkShader.h"
+#include "SkCanvas.h"
+#include "SkUtils.h"
+
+namespace skiagm {
+
+static SkBitmap make_bitmap() {
+ SkBitmap bm;
+
+ SkColorTable* ctable = new SkColorTable(1);
+ SkPMColor* c = ctable->lockColors();
+ c[0] = SkPackARGB32(0x80, 0x80, 0, 0);
+ ctable->unlockColors(true);
+
+ bm.setConfig(SkBitmap::kIndex8_Config, 1, 1);
+ bm.allocPixels(ctable);
+ ctable->unref();
+
+ bm.lockPixels();
+ *bm.getAddr8(0, 0) = 0;
+ bm.unlockPixels();
+ return bm;
+}
+
+class TinyBitmapGM : public GM {
+ SkBitmap fBM;
+public:
+ TinyBitmapGM() {
+ fBM = make_bitmap();
+ }
+
+protected:
+ SkString onShortName() {
+ return SkString("tinybitmap");
+ }
+
+ virtual SkISize onISize() { return make_isize(100, 100); }
+
+ virtual void onDraw(SkCanvas* canvas) {
+ canvas->drawColor(0xFFDDDDDD);
+ SkShader* s =
+ SkShader::CreateBitmapShader(fBM, SkShader::kRepeat_TileMode,
+ SkShader::kMirror_TileMode);
+ SkPaint paint;
+ paint.setAlpha(0x80);
+ paint.setShader(s)->unref();
+ canvas->drawPaint(paint);
+ }
+
+private:
+ typedef GM INHERITED;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+static GM* MyFactory(void*) { return new TinyBitmapGM; }
+static GMRegistry reg(MyFactory);
+
+}