summaryrefslogtreecommitdiffstats
path: root/skia/ext/vector_platform_device_win.h
diff options
context:
space:
mode:
Diffstat (limited to 'skia/ext/vector_platform_device_win.h')
-rw-r--r--skia/ext/vector_platform_device_win.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/skia/ext/vector_platform_device_win.h b/skia/ext/vector_platform_device_win.h
index ac8a8ec..7ee7d549 100644
--- a/skia/ext/vector_platform_device_win.h
+++ b/skia/ext/vector_platform_device_win.h
@@ -12,6 +12,14 @@
namespace skia {
+class SkVectorPlatformDeviceFactory : public SkRasterDeviceFactory {
+ public:
+ virtual SkDevice* newDevice(SkBitmap::Config config, int width, int height,
+ bool isOpaque, bool isForLayer);
+ static SkDevice* CreateDevice(int width, int height, bool isOpaque,
+ HANDLE shared_section);
+};
+
// A device is basically a wrapper around SkBitmap that provides a surface for
// SkCanvas to draw into. This specific device is not not backed by a surface
// and is thus unreadable. This is because the backend is completely vectorial.
@@ -24,6 +32,10 @@ class VectorPlatformDevice : public PlatformDevice {
VectorPlatformDevice(HDC dc, const SkBitmap& bitmap);
virtual ~VectorPlatformDevice();
+ virtual SkDeviceFactory* getDeviceFactory() {
+ return SkNEW(SkVectorPlatformDeviceFactory);
+ }
+
virtual HDC getBitmapDC() {
return hdc_;
}