Chromium Code Reviews| Index: skia/ext/vector_platform_device_emf_win.cc |
| =================================================================== |
| --- skia/ext/vector_platform_device_emf_win.cc (revision 97282) |
| +++ skia/ext/vector_platform_device_emf_win.cc (working copy) |
| @@ -15,9 +15,9 @@ |
| namespace skia { |
| //static |
| -PlatformDevice* VectorPlatformDeviceEmf::CreateDevice(int width, int height, |
| - bool is_opaque, |
| - HANDLE shared_section) { |
| +SkDevice* VectorPlatformDeviceEmf::CreateDevice(int width, int height, |
| + bool is_opaque, |
| + HANDLE shared_section) { |
| if (!is_opaque) { |
| // TODO(maruel): http://crbug.com/18382 When restoring a semi-transparent |
| // layer, i.e. merging it, we need to rasterize it because GDI doesn't |
| @@ -40,7 +40,7 @@ |
| // SkScalarRound(value) as SkScalarRound(value * 10). Safari is already |
| // doing the same for text rendering. |
| SkASSERT(shared_section); |
| - PlatformDevice* device = VectorPlatformDeviceEmf::create( |
| + SkDevice* device = VectorPlatformDeviceEmf::create( |
| reinterpret_cast<HDC>(shared_section), width, height); |
| return device; |
| } |
| @@ -59,9 +59,7 @@ |
| hdr->biClrImportant = 0; |
| } |
| -VectorPlatformDeviceEmf* VectorPlatformDeviceEmf::create(HDC dc, |
| - int width, |
| - int height) { |
| +SkDevice* VectorPlatformDeviceEmf::create(HDC dc, int width, int height) { |
| InitializeDC(dc); |
| // Link the SkBitmap to the current selected bitmap in the device context. |
| @@ -92,16 +90,24 @@ |
| if (!succeeded) |
| bitmap.setConfig(SkBitmap::kARGB_8888_Config, width, height); |
| - return new VectorPlatformDeviceEmf(dc, bitmap); |
| + VectorPlatformDeviceEmf* vector_device = new VectorPlatformDeviceEmf(dc, bitmap); |
| + //return new VectorPlatformDeviceEmf(dc, bitmap); |
|
vandebo (ex-Chrome)
2011/08/19 21:54:22
remove
Jeff Timanus
2011/08/20 02:31:04
Done.
|
| + return vector_device->GetOwningDevice(); |
| } |
| VectorPlatformDeviceEmf::VectorPlatformDeviceEmf(HDC dc, const SkBitmap& bitmap) |
| - : PlatformDevice(bitmap), |
| + : SkDevice(bitmap), |
| + PlatformDevice(static_cast<SkDevice*>(this)), |
| hdc_(dc), |
| previous_brush_(NULL), |
| previous_pen_(NULL), |
| alpha_blend_used_(false) { |
| transform_.reset(); |
| + |
| + // Pass false, because VectorPlatformDeviceEmf inherits both SkDevice, and |
| + // PlatformDevice, so there is no need to explicitly bind the lifetime of the |
| + // two classes. |
| + SetPlatformDevice(device_, this, false); |
| } |
| VectorPlatformDeviceEmf::~VectorPlatformDeviceEmf() { |
| @@ -865,4 +871,3 @@ |
| } |
| } // namespace skia |
| - |