Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(847)

Unified Diff: Source/core/rendering/FilterEffectRenderer.h

Issue 644713004: Further cleanup in FilterEffectRenderer. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Remove inverseScale() per review. Remove useless #includes. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/paint/LayerPainter.cpp ('k') | Source/core/rendering/FilterEffectRenderer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
};
« no previous file with comments | « Source/core/paint/LayerPainter.cpp ('k') | Source/core/rendering/FilterEffectRenderer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698