| Index: skia/ext/bitmap_platform_device_win.cc
|
| ===================================================================
|
| --- skia/ext/bitmap_platform_device_win.cc (revision 97366)
|
| +++ skia/ext/bitmap_platform_device_win.cc (working copy)
|
| @@ -8,6 +8,7 @@
|
| #include "skia/ext/bitmap_platform_device_win.h"
|
|
|
| #include "skia/ext/bitmap_platform_device_data.h"
|
| +#include "skia/ext/platform_device.h"
|
| #include "third_party/skia/include/core/SkMatrix.h"
|
| #include "third_party/skia/include/core/SkRefCnt.h"
|
| #include "third_party/skia/include/core/SkRegion.h"
|
| @@ -144,18 +145,20 @@
|
|
|
| // The device object will take ownership of the HBITMAP. The initial refcount
|
| // of the data object will be 1, which is what the constructor expects.
|
| - return new BitmapPlatformDevice(new BitmapPlatformDeviceData(hbitmap),
|
| - bitmap);
|
| + BitmapPlatformDevice* bitmap_platform_device =
|
| + new BitmapPlatformDevice(new BitmapPlatformDeviceData(hbitmap),
|
| + bitmap);
|
| + return bitmap_platform_device;
|
| }
|
|
|
| // static
|
| BitmapPlatformDevice* BitmapPlatformDevice::create(int width,
|
| - int height,
|
| - bool is_opaque,
|
| - HANDLE shared_section) {
|
| + int height,
|
| + bool is_opaque,
|
| + HANDLE shared_section) {
|
| HDC screen_dc = GetDC(NULL);
|
| - BitmapPlatformDevice* device = BitmapPlatformDevice::create(
|
| - screen_dc, width, height, is_opaque, shared_section);
|
| + SkDevice* device = BitmapPlatformDevice::create(screen_dc, width, height,
|
| + is_opaque, shared_section);
|
| ReleaseDC(NULL, screen_dc);
|
| return device;
|
| }
|
| @@ -165,10 +168,16 @@
|
| BitmapPlatformDevice::BitmapPlatformDevice(
|
| BitmapPlatformDeviceData* data,
|
| const SkBitmap& bitmap)
|
| - : PlatformDevice(bitmap),
|
| + : PlatformDevice(this),
|
| + SkDevice(bitmap),
|
| data_(data) {
|
| // The data object is already ref'ed for us by create().
|
| SkDEBUGCODE(begin_paint_count_ = 0);
|
| +
|
| + // Pass false, because BitmapPlatformDevice inherits both SkDevice, and
|
| + // PlatformDevice, so there is no need to explicitly bind the lifetime of the
|
| + // two classes.
|
| + SetPlatformDevice(this, this, false);
|
| }
|
|
|
| BitmapPlatformDevice::~BitmapPlatformDevice() {
|
| @@ -262,4 +271,3 @@
|
| }
|
|
|
| } // namespace skia
|
| -
|
|
|