Inkscape
Vector Graphics Editor
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages Concepts
Inkscape::Filters::FilterComponentTransfer Class Reference

#include <nr-filter-component-transfer.h>

Inheritance diagram for Inkscape::Filters::FilterComponentTransfer:
Inkscape::Filters::FilterPrimitive

Public Member Functions

 FilterComponentTransfer ()
 
 ~FilterComponentTransfer () override
 
void render_cairo (FilterSlot &slot) const override
 
bool can_handle_affine (Geom::Affine const &) const override
 Indicate whether the filter primitive can handle the given affine.
 
double complexity (Geom::Affine const &ctm) const override
 
Glib::ustring name () const override
 
- Public Member Functions inherited from Inkscape::Filters::FilterPrimitive
 FilterPrimitive ()
 
virtual ~FilterPrimitive ()
 
virtual void update ()
 
virtual void area_enlarge (Geom::IntRect &area, Geom::Affine const &m) const
 
virtual void set_input (int slot)
 Sets the input slot number 'slot' to be used as input in rendering filter primitive 'primitive' For filter primitive types accepting more than one input, this sets the first input.
 
virtual void set_input (int input, int slot)
 Sets the input slot number 'slot' to be user as input number 'input' in rendering filter primitive 'primitive' First input for a filter primitive is number 0.
 
virtual void set_output (int slot)
 Sets the slot number 'slot' to be used as output from filter primitive 'primitive' If output slot for a filter element is not set, one of the unused image slots is used.
 
virtual bool uses_background () const
 
void set_x (SVGLength const &length)
 Sets the filter primitive subregion.
 
void set_y (SVGLength const &length)
 
void set_width (SVGLength const &length)
 
void set_height (SVGLength const &length)
 
void set_subregion (SVGLength const &x, SVGLength const &y, SVGLength const &width, SVGLength const &height)
 
Geom::Rect filter_primitive_area (FilterUnits const &units) const
 Returns the filter primitive area in user coordinate system.
 
void setStyle (SPStyle const *style)
 Sets style for access to properties used by filter primitives.
 

Public Attributes

FilterComponentTransferType type [4]
 
std::vector< double > tableValues [4]
 
double slope [4]
 
double intercept [4]
 
double amplitude [4]
 
double exponent [4]
 
double offset [4]
 

Additional Inherited Members

- Protected Attributes inherited from Inkscape::Filters::FilterPrimitive
int _input
 
int _output
 
SVGLength _subregion_x
 
SVGLength _subregion_y
 
SVGLength _subregion_width
 
SVGLength _subregion_height
 
SPColorInterpolation color_interpolation
 

Detailed Description

Definition at line 34 of file nr-filter-component-transfer.h.

Constructor & Destructor Documentation

◆ FilterComponentTransfer()

Inkscape::Filters::FilterComponentTransfer::FilterComponentTransfer ( )
default

◆ ~FilterComponentTransfer()

Inkscape::Filters::FilterComponentTransfer::~FilterComponentTransfer ( )
overridedefault

Member Function Documentation

◆ can_handle_affine()

bool Inkscape::Filters::FilterComponentTransfer::can_handle_affine ( Geom::Affine const &  ) const
overridevirtual

Indicate whether the filter primitive can handle the given affine.

Results of some filter primitives depend on the coordinate system used when rendering. A gaussian blur with equal x and y deviation will remain unchanged by rotations. Per-pixel filters like color matrix and blend will not change regardless of the transformation.

When any filter returns false, filter rendering is performed on an intermediate surface with edges parallel to the axes of the user coordinate system. This means the matrices from FilterUnits will contain at most a (possibly non-uniform) scale and a translation. When all primitives of the filter return true, the rendering is performed in display coordinate space and no intermediate surface is used.

Reimplemented from Inkscape::Filters::FilterPrimitive.

Definition at line 223 of file nr-filter-component-transfer.cpp.

◆ complexity()

double Inkscape::Filters::FilterComponentTransfer::complexity ( Geom::Affine const &  ctm) const
overridevirtual

Reimplemented from Inkscape::Filters::FilterPrimitive.

Definition at line 228 of file nr-filter-component-transfer.cpp.

◆ name()

Glib::ustring Inkscape::Filters::FilterComponentTransfer::name ( ) const
inlineoverridevirtual

Reimplemented from Inkscape::Filters::FilterPrimitive.

Definition at line 52 of file nr-filter-component-transfer.h.

◆ render_cairo()

Member Data Documentation

◆ amplitude

double Inkscape::Filters::FilterComponentTransfer::amplitude[4]

Definition at line 48 of file nr-filter-component-transfer.h.

Referenced by render_cairo().

◆ exponent

double Inkscape::Filters::FilterComponentTransfer::exponent[4]

Definition at line 49 of file nr-filter-component-transfer.h.

Referenced by render_cairo().

◆ intercept

double Inkscape::Filters::FilterComponentTransfer::intercept[4]

Definition at line 47 of file nr-filter-component-transfer.h.

Referenced by render_cairo().

◆ offset

double Inkscape::Filters::FilterComponentTransfer::offset[4]

Definition at line 50 of file nr-filter-component-transfer.h.

Referenced by render_cairo().

◆ slope

double Inkscape::Filters::FilterComponentTransfer::slope[4]

Definition at line 46 of file nr-filter-component-transfer.h.

Referenced by render_cairo().

◆ tableValues

std::vector<double> Inkscape::Filters::FilterComponentTransfer::tableValues[4]

Definition at line 45 of file nr-filter-component-transfer.h.

Referenced by render_cairo().

◆ type

FilterComponentTransferType Inkscape::Filters::FilterComponentTransfer::type[4]

Definition at line 44 of file nr-filter-component-transfer.h.

Referenced by render_cairo().


The documentation for this class was generated from the following files: