aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode
diff options
context:
space:
mode:
authorGravatar scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-07-02 13:35:09 +0000
committerGravatar scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-07-02 13:35:09 +0000
commit4f1f6bf0505b80e14c2f3d7299d4ae565fdd1e3a (patch)
treecc68e896b04ef1cd29f4e587fe26ebd299ccfc22 /samplecode
parent366f1c6a09f63c76e78145cb08028f66062f31fd (diff)
Properly handle extracted bitmaps in cross process/shared addr space SkGPipe.
Use the pixel ref which we have already copied and the appropriate pixel ref offset. Turn SampleDrawBitmap into a GM to test this functionality. Review URL: https://codereview.appspot.com/6348059 git-svn-id: http://skia.googlecode.com/svn/trunk@4417 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode')
-rw-r--r--samplecode/SampleDrawBitmap.cpp84
1 files changed, 0 insertions, 84 deletions
diff --git a/samplecode/SampleDrawBitmap.cpp b/samplecode/SampleDrawBitmap.cpp
deleted file mode 100644
index aaf112346b..0000000000
--- a/samplecode/SampleDrawBitmap.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-
-/*
- * 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 "SkCanvas.h"
-#include "SkShader.h"
-#include "SkUtils.h"
-#include "SkDevice.h"
-
-static void create_bitmap(SkBitmap* bitmap) {
- const int W = 100;
- const int H = 100;
- bitmap->setConfig(SkBitmap::kARGB_8888_Config, W, H);
- bitmap->allocPixels();
-
- SkCanvas canvas(*bitmap);
- canvas.drawColor(SK_ColorRED);
- SkPaint paint;
- paint.setColor(SK_ColorBLUE);
- canvas.drawCircle(SkIntToScalar(W)/2, SkIntToScalar(H)/2, SkIntToScalar(W)/2, paint);
-}
-
-class DrawBitmapView : public SampleView {
- SkPath fPath;
-public:
- DrawBitmapView() {}
-
-protected:
- // overrides from SkEventSink
- virtual bool onQuery(SkEvent* evt) {
- if (SampleCode::TitleQ(*evt)) {
- SampleCode::TitleR(evt, "DrawBitmap");
- return true;
- }
- return this->INHERITED::onQuery(evt);
- }
-
- virtual void onDrawContent(SkCanvas* canvas) {
- SkBitmap bitmap;
- create_bitmap(&bitmap);
- int x = bitmap.width() / 2;
- int y = bitmap.height() / 2;
- SkBitmap subset;
- bitmap.extractSubset(&subset, SkIRect::MakeXYWH(x, y, x, y));
-
- canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
-
- canvas->drawBitmap(bitmap, 0, 0);
- canvas->drawBitmap(subset, 0, 0);
-
- // Now do the same but with a device bitmap as source image
- SkRefPtr<SkDevice> primaryDevice(canvas->getDevice());
- SkRefPtr<SkDevice> secondDevice(canvas->createCompatibleDevice(
- SkBitmap::kARGB_8888_Config, bitmap.width(),
- bitmap.height(), true));
- secondDevice->unref();
- SkCanvas secondCanvas(secondDevice.get());
- secondCanvas.writePixels(bitmap, 0, 0);
-
- SkBitmap deviceBitmap = secondDevice->accessBitmap(false);
- SkBitmap deviceSubset;
- deviceBitmap.extractSubset(&deviceSubset,
- SkIRect::MakeXYWH(x, y, x, y));
-
- canvas->translate(SkIntToScalar(120), SkIntToScalar(0));
-
- canvas->drawBitmap(deviceBitmap, 0, 0);
- canvas->drawBitmap(deviceSubset, 0, 0);
-
- }
-
-private:
- typedef SampleView INHERITED;
-};
-
-//////////////////////////////////////////////////////////////////////////////
-
-static SkView* MyFactory() { return new DrawBitmapView; }
-static SkViewRegister reg(MyFactory);