Index: skia/ext/vector_platform_device_cairo_linux.cc |
=================================================================== |
--- skia/ext/vector_platform_device_cairo_linux.cc (revision 98225) |
+++ skia/ext/vector_platform_device_cairo_linux.cc (working copy) |
@@ -69,9 +69,8 @@ |
namespace skia { |
// static |
-PlatformDevice* VectorPlatformDeviceCairo::CreateDevice(cairo_t* context, |
- int width, int height, |
- bool isOpaque) { |
+SkDevice* VectorPlatformDeviceCairo::CreateDevice(cairo_t* context, int width, |
+ int height, bool isOpaque) { |
// TODO(myhuang): Here we might also have similar issues as those on Windows |
// (vector_canvas_win.cc, http://crbug.com/18382 & http://crbug.com/18383). |
// Please note that is_opaque is true when we use this class for printing. |
@@ -92,10 +91,12 @@ |
VectorPlatformDeviceCairo::VectorPlatformDeviceCairo(PlatformSurface context, |
const SkBitmap& bitmap) |
- : PlatformDevice(bitmap), |
+ : SkDevice(bitmap), |
context_(context) { |
SkASSERT(bitmap.getConfig() == SkBitmap::kARGB_8888_Config); |
+ SetPlatformDevice(this, this); |
+ |
// Increase the reference count to keep the context alive. |
cairo_reference(context_); |
@@ -107,11 +108,16 @@ |
cairo_destroy(context_); |
} |
-PlatformDevice::PlatformSurface |
-VectorPlatformDeviceCairo::BeginPlatformPaint() { |
+PlatformSurface VectorPlatformDeviceCairo::BeginPlatformPaint() { |
return context_; |
} |
+void VectorPlatformDeviceCairo::DrawToNativeContext( |
+ PlatformSurface surface, int x, int y, const PlatformRect* src_rect) { |
+ // Should never be called on Linux. |
+ SkASSERT(false); |
+} |
+ |
SkDevice* VectorPlatformDeviceCairo::onCreateCompatibleDevice( |
SkBitmap::Config config, |
int width, int height, |