aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode/SampleBitmapRect.cpp
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-06 13:59:47 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-07-06 13:59:47 +0000
commit3cec4d71e6f53fda99705427f9820d025cfbf64b (patch)
tree3fdae1343aa1abf51b6edafb74a03dad96f48d6b /samplecode/SampleBitmapRect.cpp
parenta3237875f807aed9608cb4a023bc044f32850727 (diff)
check-point for testing drawBitmap [raster,gpu] -> [raster,gpu]
git-svn-id: http://skia.googlecode.com/svn/trunk@1796 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleBitmapRect.cpp')
-rw-r--r--samplecode/SampleBitmapRect.cpp33
1 files changed, 21 insertions, 12 deletions
diff --git a/samplecode/SampleBitmapRect.cpp b/samplecode/SampleBitmapRect.cpp
index 002b2b9b17..08b8a5acd4 100644
--- a/samplecode/SampleBitmapRect.cpp
+++ b/samplecode/SampleBitmapRect.cpp
@@ -17,28 +17,34 @@
#include "SkOSFile.h"
#include "SkStream.h"
-static SkBitmap make_bitmap() {
- SkBitmap bm;
- bm.setConfig(SkBitmap::kARGB_8888_Config, 64, 64);
- bm.allocPixels();
- SkCanvas canvas(bm);
+#include "SkGpuDevice.h"
+
+static SkDevice* make_bitmap(SkBitmap* bitmap, GrContext* ctx) {
+ SkCanvas canvas;
+
+ if (ctx) {
+ SkDevice* dev = new SkGpuDevice(ctx, SkBitmap::kARGB_8888_Config, 64, 64);
+ canvas.setDevice(dev)->unref();
+ *bitmap = dev->accessBitmap(false);
+ } else {
+ bitmap->setConfig(SkBitmap::kARGB_8888_Config, 64, 64);
+ bitmap->allocPixels();
+ canvas.setBitmapDevice(*bitmap);
+ }
+
canvas.drawColor(SK_ColorRED);
SkPaint paint;
paint.setAntiAlias(true);
const SkPoint pts[] = { { 0, 0 }, { 64, 64 } };
const SkColor colors[] = { SK_ColorWHITE, SK_ColorBLUE };
paint.setShader(SkGradientShader::CreateLinear(pts, colors, NULL, 2,
- SkShader::kClamp_TileMode))->unref();
+ SkShader::kClamp_TileMode))->unref();
canvas.drawCircle(32, 32, 32, paint);
- return bm;
}
class BitmapRectView : public SampleView {
public:
- SkBitmap fBitmap;
-
BitmapRectView() {
- fBitmap = make_bitmap();
this->setBGColor(SK_ColorGRAY);
}
@@ -64,6 +70,9 @@ protected:
paint.setStyle(SkPaint::kStroke_Style);
paint.setColor(SK_ColorGREEN);
+ SkBitmap bitmap;
+ make_bitmap(&bitmap, NULL /*SampleCode::GetGr()*/);
+
SkRect dstR = { 0, 200, 128, 380 };
canvas->translate(16, 40);
@@ -71,8 +80,8 @@ protected:
SkRect srcR;
srcR.set(src[i]);
- canvas->drawBitmap(fBitmap, 0, 0, &paint);
- canvas->drawBitmapRect(fBitmap, &src[i], dstR, &paint);
+ canvas->drawBitmap(bitmap, 0, 0, &paint);
+ canvas->drawBitmapRect(bitmap, &src[i], dstR, &paint);
canvas->drawRect(dstR, paint);
canvas->drawRect(srcR, paint);