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

Unified Diff: sky/engine/core/rendering/FilterEffectRenderer.cpp

Issue 963253002: Move FilterEffectRenderer out of RenderLayer into RenderBox. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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 | « sky/engine/core/rendering/FilterEffectRenderer.h ('k') | sky/engine/core/rendering/RenderBox.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/rendering/FilterEffectRenderer.cpp
diff --git a/sky/engine/core/rendering/FilterEffectRenderer.cpp b/sky/engine/core/rendering/FilterEffectRenderer.cpp
index 558c25f6547b77231026137e93e4854f9e5431fc..ccf270893485cd899948d3a6eb91875ea48ebfcb 100644
--- a/sky/engine/core/rendering/FilterEffectRenderer.cpp
+++ b/sky/engine/core/rendering/FilterEffectRenderer.cpp
@@ -287,18 +287,16 @@ LayoutRect FilterEffectRenderer::computeSourceImageRectForDirtyRect(const Layout
return LayoutRect(rectForPaintInvalidation);
}
-bool FilterEffectRendererHelper::prepareFilterEffect(RenderLayer* renderLayer, const LayoutRect& filterBoxRect, const LayoutRect& dirtyRect)
+bool FilterEffectRendererHelper::prepareFilterEffect(FilterEffectRenderer* filter, const LayoutRect& filterBoxRect, const LayoutRect& dirtyRect)
{
- ASSERT(m_haveFilterEffect && renderLayer->filterRenderer());
- m_renderLayer = renderLayer;
+ ASSERT(m_haveFilterEffect && filter);
+ m_filter = filter;
// Prepare a transformation that brings the coordinates into the space
// filter coordinates are defined in.
AffineTransform absoluteTransform;
// FIXME: Should these really be upconverted to doubles and not rounded? crbug.com/350474
absoluteTransform.translate(filterBoxRect.x().toDouble(), filterBoxRect.y().toDouble());
-
- FilterEffectRenderer* filter = renderLayer->filterRenderer();
filter->setAbsoluteTransform(absoluteTransform);
IntRect filterSourceRect = pixelSnappedIntRect(filter->computeSourceImageRectForDirtyRect(filterBoxRect, dirtyRect));
@@ -319,11 +317,9 @@ bool FilterEffectRendererHelper::prepareFilterEffect(RenderLayer* renderLayer, c
GraphicsContext* FilterEffectRendererHelper::beginFilterEffect(GraphicsContext* context)
{
- ASSERT(m_renderLayer);
-
- FilterEffectRenderer* filter = m_renderLayer->filterRenderer();
+ ASSERT(m_filter);
SkiaImageFilterBuilder builder(context);
- RefPtr<ImageFilter> imageFilter = builder.build(filter->lastEffect().get(), ColorSpaceDeviceRGB);
+ RefPtr<ImageFilter> imageFilter = builder.build(m_filter->lastEffect().get(), ColorSpaceDeviceRGB);
if (!imageFilter) {
m_haveFilterEffect = false;
return context;
@@ -340,7 +336,7 @@ GraphicsContext* FilterEffectRendererHelper::beginFilterEffect(GraphicsContext*
GraphicsContext* FilterEffectRendererHelper::applyFilterEffect()
{
- ASSERT(m_haveFilterEffect && m_renderLayer->filterRenderer());
+ ASSERT(m_haveFilterEffect && m_filter);
GraphicsContext* context = m_savedGraphicsContext;
context->endLayer();
context->restore();
« no previous file with comments | « sky/engine/core/rendering/FilterEffectRenderer.h ('k') | sky/engine/core/rendering/RenderBox.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698