Index: include/utils/SkDeferredCanvas.h |
=================================================================== |
--- include/utils/SkDeferredCanvas.h (revision 9282) |
+++ include/utils/SkDeferredCanvas.h (working copy) |
@@ -15,6 +15,11 @@ |
class SkImage; |
class SkSurface; |
+#if !defined(SK_DEFERRED_CANVAS_USES_FACTORIES) |
+// This is temporary, for rolling the API change into Chromium/Blink |
+#define SK_DEFERRED_CANVAS_USES_FACTORIES 0 |
+#endif |
+ |
/** \class SkDeferredCanvas |
Subclass of SkCanvas that encapsulates an SkPicture or SkGPipe for deferred |
drawing. The main difference between this class and SkPictureRecord (the |
@@ -27,23 +32,39 @@ |
public: |
class NotificationClient; |
+ /** Construct a canvas with the specified surface to draw into. |
+ This factory must be used for newImageSnapshot to work. |
+ @param surface Specifies a surface for the canvas to draw into. |
+ */ |
+ static SkDeferredCanvas* Create(SkSurface* surface); |
+ |
+#ifdef SK_DEVELOPER |
+ static SkDeferredCanvas* Create(SkDevice* device); // Used for testing |
+#endif |
+ |
+#if !SK_DEFERRED_CANVAS_USES_FACTORIES |
+ /** DEPRECATED |
+ */ |
SkDeferredCanvas(); |
- /** Construct a canvas with the specified device to draw into. |
+ /** DEPRACATED, use create instead |
+ Construct a canvas with the specified device to draw into. |
Equivalent to calling default constructor, then setDevice. |
@param device Specifies a device for the canvas to draw into. |
*/ |
explicit SkDeferredCanvas(SkDevice* device); |
- /** Construct a canvas with the specified surface to draw into. |
+ /** DEPRECATED, use create instead |
+ Construct a canvas with the specified surface to draw into. |
This constructor must be used for newImageSnapshot to work. |
@param surface Specifies a surface for the canvas to draw into. |
*/ |
explicit SkDeferredCanvas(SkSurface* surface); |
+#endif |
virtual ~SkDeferredCanvas(); |
- /** |
+ /** DEPRECATED |
* Specify a device to be used by this canvas. Calling setDevice will |
* release the previously set device, if any. Takes a reference on the |
* device. |
@@ -254,6 +275,8 @@ |
DeferredDevice* getDeferredDevice() const; |
private: |
+ SkDeferredCanvas(DeferredDevice*); |
+ |
void recordedDrawCommand(); |
SkCanvas* drawingCanvas() const; |
SkCanvas* immediateCanvas() const; |