| Index: Source/core/rendering/FilterEffectRenderer.h
|
| diff --git a/Source/core/rendering/FilterEffectRenderer.h b/Source/core/rendering/FilterEffectRenderer.h
|
| index 89bfdee33a5f5f46ed9e583dc9e2c41d0dae79a4..eb80830804a25c222a7f03e4b1337b01af3c5f72 100644
|
| --- a/Source/core/rendering/FilterEffectRenderer.h
|
| +++ b/Source/core/rendering/FilterEffectRenderer.h
|
| @@ -71,7 +71,7 @@ public:
|
| private:
|
| GraphicsContext* m_savedGraphicsContext;
|
| RenderLayer* m_renderLayer;
|
| - LayoutPoint m_paintOffset;
|
| +
|
| LayoutRect m_repaintRect;
|
| bool m_haveFilterEffect;
|
| };
|
| @@ -85,18 +85,13 @@ public:
|
| return adoptRef(new FilterEffectRenderer());
|
| }
|
|
|
| - virtual void setSourceImageRect(const FloatRect& sourceImageRect)
|
| + void setSourceImageRect(const FloatRect& sourceImageRect)
|
| {
|
| m_sourceDrawingRegion = sourceImageRect;
|
| - setMaxEffectRects(sourceImageRect);
|
| - setFilterRegion(sourceImageRect);
|
| m_graphicsBufferAttached = false;
|
| }
|
| virtual FloatRect sourceImageRect() const { return m_sourceDrawingRegion; }
|
|
|
| - virtual void setFilterRegion(const FloatRect& filterRegion) { m_filterRegion = filterRegion; }
|
| - virtual FloatRect filterRegion() const { return m_filterRegion; }
|
| -
|
| GraphicsContext* inputContext();
|
| ImageBuffer* output() const { return lastEffect()->asImageBuffer(); }
|
|
|
| @@ -107,32 +102,24 @@ public:
|
| void clearIntermediateResults();
|
| void apply();
|
|
|
| - IntRect outputRect() const { return lastEffect()->hasResult() ? lastEffect()->requestedRegionOfInputImageData(IntRect(m_filterRegion)) : IntRect(); }
|
| + IntRect outputRect() const { return lastEffect()->hasResult() ? lastEffect()->absolutePaintRect() : IntRect(); }
|
|
|
| bool hasFilterThatMovesPixels() const { return m_hasFilterThatMovesPixels; }
|
| LayoutRect computeSourceImageRectForDirtyRect(const LayoutRect& filterBoxRect, const LayoutRect& dirtyRect);
|
|
|
| bool hasCustomShaderFilter() const { return m_hasCustomShaderFilter; }
|
| -private:
|
| - void setMaxEffectRects(const FloatRect& effectRect)
|
| - {
|
| - for (size_t i = 0; i < m_effects.size(); ++i) {
|
| - RefPtr<FilterEffect> effect = m_effects.at(i);
|
| - effect->setMaxEffectRect(effectRect);
|
| - }
|
| - }
|
| PassRefPtr<FilterEffect> lastEffect() const
|
| {
|
| if (m_effects.size() > 0)
|
| return m_effects.last();
|
| return 0;
|
| }
|
| +private:
|
|
|
| FilterEffectRenderer();
|
| virtual ~FilterEffectRenderer();
|
|
|
| FloatRect m_sourceDrawingRegion;
|
| - FloatRect m_filterRegion;
|
|
|
| FilterEffectList m_effects;
|
| RefPtr<SourceGraphic> m_sourceGraphic;
|
|
|