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

Unified Diff: third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp

Issue 1543593002: Forward fill and stroke styles from 2d canvas to canvas filters (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
Index: third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
diff --git a/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp b/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
index 7df918e438004d69e4cbe9a5c4571fb3ab79c9bc..97e2fe5babf7dba6a38c9336ff8d96d89acacfdf 100644
--- a/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
+++ b/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
@@ -27,6 +27,7 @@
#include "core/svg/SVGFilterElement.h"
#include "core/svg/SVGFilterPrimitiveStandardAttributes.h"
#include "platform/graphics/filters/Filter.h"
+#include "platform/graphics/filters/PaintFilterEffect.h"
#include "platform/graphics/filters/SourceAlpha.h"
#include "platform/graphics/filters/SourceGraphic.h"
@@ -83,12 +84,19 @@ DEFINE_TRACE(SVGFilterGraphNodeMap)
SVGFilterBuilder::SVGFilterBuilder(
PassRefPtrWillBeRawPtr<FilterEffect> sourceGraphic,
- PassRefPtrWillBeRawPtr<SVGFilterGraphNodeMap> nodeMap)
+ PassRefPtrWillBeRawPtr<SVGFilterGraphNodeMap> nodeMap,
+ PassRefPtr<SkShader> fillShader,
+ PassRefPtr<SkShader> strokeShader)
: m_nodeMap(nodeMap)
+ , m_paintFilter(Filter::create(1.0))
fs 2015/12/21 19:34:20 Could the "paint" inputs use the Filter from, say,
ajuma 2016/01/11 19:14:08 Done.
{
RefPtrWillBeRawPtr<FilterEffect> sourceGraphicRef = sourceGraphic;
m_builtinEffects.add(SourceGraphic::effectName(), sourceGraphicRef);
m_builtinEffects.add(SourceAlpha::effectName(), SourceAlpha::create(sourceGraphicRef.get()));
+ if (fillShader)
+ m_builtinEffects.add(PaintFilterEffect::fillEffectName(), PaintFilterEffect::create(m_paintFilter.get(), fillShader));
+ if (strokeShader)
+ m_builtinEffects.add(PaintFilterEffect::strokeEffectName(), PaintFilterEffect::create(m_paintFilter.get(), strokeShader));
addBuiltinEffects();
}

Powered by Google App Engine
This is Rietveld 408576698