| Index: skia/ext/vector_canvas.h
|
| ===================================================================
|
| --- skia/ext/vector_canvas.h (revision 78814)
|
| +++ skia/ext/vector_canvas.h (working copy)
|
| @@ -7,21 +7,38 @@
|
| #pragma once
|
|
|
| #include "skia/ext/platform_canvas.h"
|
| +#include "skia/ext/vector_platform_device.h"
|
|
|
| +#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
| +typedef struct _cairo cairo_t;
|
| +#endif
|
| +
|
| namespace skia {
|
|
|
| -class PlatformDevice;
|
| -
|
| // This class is a specialization of the regular PlatformCanvas. It is designed
|
| // to work with a VectorDevice to manage platform-specific drawing. It allows
|
| // using both Skia operations and platform-specific operations. It *doesn't*
|
| // support reading back from the bitmap backstore since it is not used.
|
| class SK_API VectorCanvas : public PlatformCanvas {
|
| public:
|
| - // Ownership of |device| is transfered to VectorCanvas.
|
| - explicit VectorCanvas(PlatformDevice* device);
|
| + VectorCanvas();
|
| + explicit VectorCanvas(SkDeviceFactory* factory);
|
| +#if defined(WIN32)
|
| + VectorCanvas(HDC dc, int width, int height);
|
| +#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
| + // Caller owns |context|. Ownership is not transferred.
|
| + VectorCanvas(cairo_t* context, int width, int height);
|
| +#endif
|
| virtual ~VectorCanvas();
|
|
|
| + // For two-part init, call if you use the no-argument constructor above
|
| +#if defined(WIN32)
|
| + bool initialize(HDC context, int width, int height);
|
| +#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
| + // Ownership of |context| is not transferred.
|
| + bool initialize(cairo_t* context, int width, int height);
|
| +#endif
|
| +
|
| virtual SkBounder* setBounder(SkBounder* bounder);
|
| virtual SkDrawFilter* setDrawFilter(SkDrawFilter* filter);
|
|
|
|
|