Index: Source/core/rendering/FilterEffectRenderer.h |
diff --git a/Source/core/rendering/FilterEffectRenderer.h b/Source/core/rendering/FilterEffectRenderer.h |
index 44cda01c2a546e06a6c255a0e8c394a6deffbef0..2bbe220386e8ffd1bf2ad370f4bbc91ae323144d 100644 |
--- a/Source/core/rendering/FilterEffectRenderer.h |
+++ b/Source/core/rendering/FilterEffectRenderer.h |
@@ -26,67 +26,35 @@ |
#ifndef FilterEffectRenderer_h |
#define FilterEffectRenderer_h |
-#include "core/svg/graphics/filters/SVGFilterBuilder.h" |
-#include "platform/geometry/FloatRect.h" |
-#include "platform/geometry/IntRectExtent.h" |
-#include "platform/geometry/LayoutRect.h" |
-#include "platform/graphics/ImageBuffer.h" |
-#include "platform/graphics/filters/Filter.h" |
#include "platform/graphics/filters/FilterEffect.h" |
-#include "platform/graphics/filters/FilterOperations.h" |
-#include "platform/graphics/filters/SourceGraphic.h" |
#include "wtf/PassRefPtr.h" |
#include "wtf/RefCounted.h" |
#include "wtf/RefPtr.h" |
+#include "wtf/Vector.h" |
namespace blink { |
+class FilterOperations; |
+class FloatRect; |
class GraphicsContext; |
class ReferenceFilter; |
-class RenderLayer; |
class RenderObject; |
-class FilterEffectRendererHelper { |
-public: |
- FilterEffectRendererHelper(bool haveFilterEffect) |
- : m_renderLayer(0) |
- , m_haveFilterEffect(haveFilterEffect) |
- { |
- } |
- |
- bool haveFilterEffect() const { return m_haveFilterEffect; } |
- |
- bool prepareFilterEffect(RenderLayer*, const LayoutRect& filterBoxRect, const LayoutRect& dirtyRect); |
- void beginFilterEffect(GraphicsContext*); |
- void endFilterEffect(GraphicsContext*); |
-private: |
- RenderLayer* m_renderLayer; |
- |
- FloatRect m_filterBoxRect; |
- bool m_haveFilterEffect; |
-}; |
- |
-class FilterEffectRenderer final : public Filter |
+class FilterEffectRenderer final : public RefCounted<FilterEffectRenderer> |
{ |
WTF_MAKE_FAST_ALLOCATED; |
public: |
+ virtual ~FilterEffectRenderer(); |
static PassRefPtr<FilterEffectRenderer> create() |
{ |
return adoptRef(new FilterEffectRenderer()); |
} |
- void setSourceImageRect(const IntRect& sourceImageRect) |
- { |
- m_sourceDrawingRegion = sourceImageRect; |
- } |
- virtual IntRect sourceImageRect() const override { return m_sourceDrawingRegion; } |
- |
bool build(RenderObject* renderer, const FilterOperations&); |
- void updateBackingStoreRect(const FloatRect& filterRect); |
+ bool beginFilterEffect(GraphicsContext*, const FloatRect& filterBoxRect); |
+ void endFilterEffect(GraphicsContext*); |
void clearIntermediateResults(); |
- LayoutRect computeSourceImageRectForDirtyRect(const LayoutRect& dirtyRect); |
- |
PassRefPtr<FilterEffect> lastEffect() const |
{ |
return m_lastEffect; |
@@ -94,11 +62,7 @@ public: |
private: |
FilterEffectRenderer(); |
- virtual ~FilterEffectRenderer(); |
- |
- IntRect m_sourceDrawingRegion; |
- RefPtr<SourceGraphic> m_sourceGraphic; |
RefPtr<FilterEffect> m_lastEffect; |
Vector<RefPtr<ReferenceFilter> > m_referenceFilters; |
}; |