Index: Source/core/platform/graphics/ImageBuffer.h |
diff --git a/Source/core/platform/graphics/ImageBuffer.h b/Source/core/platform/graphics/ImageBuffer.h |
index fd96acf2fb82051d6082a9b84370ac41c21657f8..771719945363bbac3252ddc2cf00f5174b3356ba 100644 |
--- a/Source/core/platform/graphics/ImageBuffer.h |
+++ b/Source/core/platform/graphics/ImageBuffer.h |
@@ -43,6 +43,8 @@ |
#include "wtf/Vector.h" |
class SkCanvas; |
+class SkImage; |
+class SkSurface; |
namespace WebKit { class WebLayer; } |
@@ -104,6 +106,7 @@ public: |
GraphicsContext* context() const; |
+ SkImage* imageSnapshot() const; |
PassRefPtr<Image> copyImage(BackingStoreCopy = CopyBackingStore, ScaleBehavior = Scaled) const; |
// Give hints on the faster copyImage Mode, return DontCopyBackingStore if it supports the DontCopyBackingStore behavior |
// or return CopyBackingStore if it doesn't. |
@@ -133,6 +136,9 @@ public: |
void reportMemoryUsage(MemoryObjectInfo*) const; |
private: |
+ SkCanvas* createAcceleratedCanvas(const IntSize&, OwnPtr<Canvas2DLayerBridge>*, OpacityMode); |
+ SkCanvas* createNonPlatformCanvas(const IntSize&); |
+ |
void draw(GraphicsContext*, const FloatRect&, const FloatRect& = FloatRect(0, 0, -1, -1), CompositeOperator = CompositeSourceOver, BlendMode = BlendModeNormal, bool useLowQualityScale = false); |
void drawPattern(GraphicsContext*, const FloatRect&, const FloatSize&, const FloatPoint&, CompositeOperator, const FloatRect&); |
@@ -145,6 +151,7 @@ private: |
IntSize m_logicalSize; |
float m_resolutionScale; |
OwnPtr<SkCanvas> m_canvas; |
+ RefPtr<SkSurface> m_surface; |
OwnPtr<GraphicsContext> m_context; |
OwnPtr<Canvas2DLayerBridge> m_layerBridge; |