2#ifndef INKSCAPE_DISPLAY_NR_FILTER_H
3#define INKSCAPE_DISPLAY_NR_FILTER_H
54 void add_primitive(std::unique_ptr<FilterPrimitive> primitive);
3x3 matrix representing an affine transformation.
Axis aligned, non-empty, generic rectangle.
Axis-aligned rectangle that can be empty.
Axis aligned, non-empty rectangle.
Minimal wrapper over Cairo.
SVG drawing item for display.
void set_x(SVGLength const &length)
void reset_resolution()
Resets the filter resolution to its default value, i.e.
std::vector< std::unique_ptr< FilterPrimitive > > primitives
static int _resolution_limit(FilterQuality quality)
void set_height(SVGLength const &length)
Filter()
Creates a new filter with space for one filter element.
void set_y(SVGLength const &length)
std::pair< double, double > _filter_resolution(Geom::Rect const &area, Geom::Affine const &trans, FilterQuality q) const
void update()
Update any embedded DrawingItems prior to rendering.
bool uses_background() const
void set_region(SVGLength const &x, SVGLength const &y, SVGLength const &width, SVGLength const &height)
Sets the filter effects region.
int render(Inkscape::DrawingItem const *item, DrawingContext &graphic, DrawingContext *bgdc, RenderContext &rc) const
Given background state from bgdc and an intermediate rendering from the surface backing graphic,...
void set_filter_units(SPFilterUnits unit)
Set the filterUnits-property.
void area_enlarge(Geom::IntRect &area, Inkscape::DrawingItem const *item) const
Modifies the given area to accommodate for filters needing pixels outside the rendered area.
void set_primitive_units(SPFilterUnits unit)
Set the primitiveUnits-property.
void add_primitive(std::unique_ptr< FilterPrimitive > primitive)
Creates a new filter primitive under this filter object.
void clear_primitives()
Removes all filter primitives from this filter.
void reset_region()
Resets the filter effects region to its default value as defined in SVG standard.
SPFilterUnits _filter_units
SPFilterUnits _primitive_units
void set_resolution(double x_pixels)
Sets the width of intermediate images in pixels.
void set_output(int slot)
Sets the slot number 'slot' to be used as result from this filter.
int _output_slot
Image slot from which filter output should be read.
Geom::OptRect filter_effect_area(Geom::OptRect const &bbox) const
Returns the filter effects area in user coordinate system.
double complexity(Geom::Affine const &ctm) const
void set_width(SVGLength const &length)
int _slot_count
Amount of image slots used when this filter was rendered last time.
Helper class to stream background task notifications as a series of messages.
TODO: insert short description here.
TODO: insert short description here.