#include "third_party/blink/renderer/core/svg/graphics/filters/svg_filter_builder.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value_mappings.h"
#include "third_party/blink/renderer/core/css/css_property_value_set.h"
#include "third_party/blink/renderer/core/dom/element_traversal.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/svg/svg_animated_string.h"
#include "third_party/blink/renderer/core/svg/svg_filter_element.h"
#include "third_party/blink/renderer/core/svg/svg_filter_primitive_standard_attributes.h"
#include "third_party/blink/renderer/platform/graphics/filters/filter.h"
#include "third_party/blink/renderer/platform/graphics/filters/filter_effect.h"
#include "third_party/blink/renderer/platform/graphics/filters/paint_filter_effect.h"
#include "third_party/blink/renderer/platform/graphics/filters/source_alpha.h"
#include "third_party/blink/renderer/platform/graphics/filters/source_graphic.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
namespace blink {
namespace {
class FilterInputKeywords { … };
}
SVGFilterGraphNodeMap::SVGFilterGraphNodeMap() = default;
void SVGFilterGraphNodeMap::AddBuiltinEffect(FilterEffect* effect) { … }
void SVGFilterGraphNodeMap::AddPrimitive(
SVGFilterPrimitiveStandardAttributes& primitive,
FilterEffect* effect) { … }
void SVGFilterGraphNodeMap::InvalidateDependentEffects(FilterEffect* effect) { … }
void SVGFilterGraphNodeMap::Trace(Visitor* visitor) const { … }
SVGFilterBuilder::SVGFilterBuilder(FilterEffect* source_graphic,
SVGFilterGraphNodeMap* node_map,
const cc::PaintFlags* fill_flags,
const cc::PaintFlags* stroke_flags)
: … { … }
void SVGFilterBuilder::AddBuiltinEffects() { … }
static EColorInterpolation ColorInterpolationForElement(
SVGElement& element,
EColorInterpolation parent_color_interpolation) { … }
InterpolationSpace SVGFilterBuilder::ResolveInterpolationSpace(
EColorInterpolation color_interpolation) { … }
void SVGFilterBuilder::BuildGraph(Filter* filter,
SVGFilterElement& filter_element,
const gfx::RectF& reference_box) { … }
void SVGFilterBuilder::Add(const AtomicString& id, FilterEffect* effect) { … }
FilterEffect* SVGFilterBuilder::GetEffectById(const AtomicString& id) const { … }
}