diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.h')
-rw-r--r-- | Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.h b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.h index 17906d8..d62eb8a 100644 --- a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.h +++ b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextRecording.h @@ -39,6 +39,8 @@ class Operation; class CanvasState; class LinearAllocator; class RecordingImpl; +class PlatformGraphicsContextSkia; +class RecordingData; class Recording : public SkRefCnt { public: @@ -58,7 +60,7 @@ private: class PlatformGraphicsContextRecording : public PlatformGraphicsContext { public: PlatformGraphicsContextRecording(Recording* picture); - virtual ~PlatformGraphicsContextRecording() {} + virtual ~PlatformGraphicsContextRecording(); virtual bool isPaintingDisabled(); virtual SkCanvas* recordingCanvas(); @@ -157,6 +159,7 @@ private: void pushMatrix(); void popMatrix(); IntRect calculateFinalBounds(FloatRect bounds); + IntRect calculateCoveredBounds(FloatRect bounds); LinearAllocator* operationHeap(); LinearAllocator* canvasStateHeap(); @@ -170,15 +173,19 @@ private: : mCanvasState(state) , mHasDrawing(false) , mHasClip(false) + , mHasComplexClip(false) {} RecordingState(const RecordingState& other) : mCanvasState(other.mCanvasState) , mHasDrawing(other.mHasDrawing) , mHasClip(other.mHasClip) + , mHasComplexClip(false) , mBounds(other.mBounds) {} + void setHasComplexClip() { mHasComplexClip = true; } + void clip(const FloatRect& rect) { if (mHasClip) @@ -192,6 +199,7 @@ private: CanvasState* mCanvasState; bool mHasDrawing; bool mHasClip; + bool mHasComplexClip; FloatRect mBounds; }; Vector<RecordingState> mRecordingStateStack; |