Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
Inkscape::Filters::FilterUnits Class Reference

#include <nr-filter-units.h>

Public Member Functions

 FilterUnits ()
 
 FilterUnits (SPFilterUnits const filterUnits, SPFilterUnits const primitiveUnits)
 
void set_ctm (Geom::Affine const &ctm)
 Sets the current transformation matrix, i.e.
 
void set_resolution (double const x_res, double const y_res)
 Sets the resolution, the filter should be rendered with.
 
void set_item_bbox (Geom::OptRect const &bbox)
 Sets the item bounding box in user coordinates.
 
void set_filter_area (Geom::OptRect const &area)
 Sets the filter effects area in user coordinates.
 
void set_paraller (bool const paraller)
 Sets, if x and y axis in pixblock coordinates should be paraller to x and y of user coordinates.
 
void set_automatic_resolution (bool const automatic)
 Sets, if filter resolution is automatic.
 
Geom::OptRect get_item_bbox () const
 Gets the item bounding box in user coordinates.
 
Geom::OptRect get_filter_area () const
 Gets the filter effects area in user coordinates.
 
SPFilterUnits get_filter_units () const
 Gets Filter Units (userSpaceOnUse or objectBoundingBox)
 
SPFilterUnits get_primitive_units () const
 Gets Primitive Units (userSpaceOnUse or objectBoundingBox)
 
Geom::Affine get_matrix_user2pb () const
 Gets the user coordinates to pixblock coordinates transformation matrix.
 
Geom::Affine get_matrix_filterunits2pb () const
 Gets the filterUnits to pixblock coordinates transformation matrix.
 
Geom::Affine get_matrix_primitiveunits2pb () const
 Gets the primitiveUnits to pixblock coordinates transformation matrix.
 
Geom::Affine get_matrix_display2pb () const
 Gets the display coordinates to pixblock coordinates transformation matrix.
 
Geom::Affine get_matrix_pb2display () const
 Gets the pixblock coordinates to display coordinates transformation matrix.
 
Geom::Affine get_matrix_user2filterunits () const
 Gets the user coordinates to filterUnits transformation matrix.
 
Geom::Affine get_matrix_user2primitiveunits () const
 Gets the user coordinates to primitiveUnits transformation matrix.
 
Geom::IntRect get_pixblock_filterarea_paraller () const
 Returns the filter area in pixblock coordinates.
 
FilterUnitsoperator= (FilterUnits const &other)
 

Private Member Functions

Geom::Affine get_matrix_units2pb (SPFilterUnits units) const
 
Geom::Affine get_matrix_user2units (SPFilterUnits units) const
 

Private Attributes

SPFilterUnits filterUnits
 
SPFilterUnits primitiveUnits
 
double resolution_x
 
double resolution_y
 
bool paraller_axis
 
bool automatic_resolution
 
Geom::Affine ctm
 
Geom::OptRect item_bbox
 
Geom::OptRect filter_area
 

Detailed Description

Definition at line 35 of file nr-filter-units.h.

Constructor & Destructor Documentation

◆ FilterUnits() [1/2]

Inkscape::Filters::FilterUnits::FilterUnits ( )

Definition at line 25 of file nr-filter-units.cpp.

◆ FilterUnits() [2/2]

Inkscape::Filters::FilterUnits::FilterUnits ( SPFilterUnits const  filterUnits,
SPFilterUnits const  primitiveUnits 
)

Definition at line 32 of file nr-filter-units.cpp.

Member Function Documentation

◆ get_filter_area()

Geom::OptRect Inkscape::Filters::FilterUnits::get_filter_area ( ) const
inline

Gets the filter effects area in user coordinates.

Definition at line 82 of file nr-filter-units.h.

References filter_area.

Referenced by Inkscape::Filters::FilterPrimitive::filter_primitive_area(), and Inkscape::Filters::FilterSlot::get_primitive_area().

◆ get_filter_units()

SPFilterUnits Inkscape::Filters::FilterUnits::get_filter_units ( ) const
inline

Gets Filter Units (userSpaceOnUse or objectBoundingBox)

Definition at line 87 of file nr-filter-units.h.

References filterUnits.

◆ get_item_bbox()

Geom::OptRect Inkscape::Filters::FilterUnits::get_item_bbox ( ) const
inline

Gets the item bounding box in user coordinates.

Definition at line 77 of file nr-filter-units.h.

References item_bbox.

Referenced by Inkscape::Filters::FilterPrimitive::filter_primitive_area(), and Inkscape::Filters::FilterGaussian::render_cairo().

◆ get_matrix_display2pb()

Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_display2pb ( ) const

◆ get_matrix_filterunits2pb()

Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_filterunits2pb ( ) const

Gets the filterUnits to pixblock coordinates transformation matrix.

Definition at line 104 of file nr-filter-units.cpp.

References filterUnits, and get_matrix_units2pb().

◆ get_matrix_pb2display()

Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_pb2display ( ) const

Gets the pixblock coordinates to display coordinates transformation matrix.

Definition at line 118 of file nr-filter-units.cpp.

References ctm, get_matrix_user2pb(), and Geom::Affine::inverse().

Referenced by Inkscape::Filters::FilterSlot::get_result().

◆ get_matrix_primitiveunits2pb()

◆ get_matrix_units2pb()

Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_units2pb ( SPFilterUnits  units) const
private

◆ get_matrix_user2filterunits()

Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_user2filterunits ( ) const

Gets the user coordinates to filterUnits transformation matrix.

Definition at line 144 of file nr-filter-units.cpp.

References filterUnits, and get_matrix_user2units().

Referenced by Inkscape::Filters::FilterImage::render_cairo().

◆ get_matrix_user2pb()

◆ get_matrix_user2primitiveunits()

Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_user2primitiveunits ( ) const

Gets the user coordinates to primitiveUnits transformation matrix.

Definition at line 148 of file nr-filter-units.cpp.

References get_matrix_user2units(), and primitiveUnits.

◆ get_matrix_user2units()

Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_user2units ( SPFilterUnits  units) const
private

◆ get_pixblock_filterarea_paraller()

Geom::IntRect Inkscape::Filters::FilterUnits::get_pixblock_filterarea_paraller ( ) const

Returns the filter area in pixblock coordinates.

NOTE: use only in filters, that define TRAIT_PARALLER in get_input_traits. The filter effects area may not be representable by simple rectangle otherwise.

Definition at line 152 of file nr-filter-units.cpp.

References filter_area, get_matrix_user2pb(), and Geom::Rect::roundOutwards().

◆ get_primitive_units()

SPFilterUnits Inkscape::Filters::FilterUnits::get_primitive_units ( ) const
inline

Gets Primitive Units (userSpaceOnUse or objectBoundingBox)

Definition at line 92 of file nr-filter-units.h.

References primitiveUnits.

Referenced by Inkscape::Filters::FilterPrimitive::filter_primitive_area(), and Inkscape::Filters::FilterGaussian::render_cairo().

◆ operator=()

FilterUnits & Inkscape::Filters::FilterUnits::operator= ( FilterUnits const &  other)
default

◆ set_automatic_resolution()

void Inkscape::Filters::FilterUnits::set_automatic_resolution ( bool const  automatic)

Sets, if filter resolution is automatic.

NOTE: even if resolution is automatic, it must be set with set_resolution. This only tells, if the set value is automatic.

Definition at line 62 of file nr-filter-units.cpp.

References automatic_resolution.

Referenced by Inkscape::Filters::Filter::render().

◆ set_ctm()

void Inkscape::Filters::FilterUnits::set_ctm ( Geom::Affine const &  ctm)

Sets the current transformation matrix, i.e.

transformation matrix from object's user coordinates to screen coordinates

Definition at line 38 of file nr-filter-units.cpp.

References ctm.

Referenced by Inkscape::Filters::Filter::render().

◆ set_filter_area()

void Inkscape::Filters::FilterUnits::set_filter_area ( Geom::OptRect const &  area)

Sets the filter effects area in user coordinates.

Definition at line 54 of file nr-filter-units.cpp.

References filter_area.

Referenced by Inkscape::Filters::Filter::render().

◆ set_item_bbox()

void Inkscape::Filters::FilterUnits::set_item_bbox ( Geom::OptRect const &  bbox)

Sets the item bounding box in user coordinates.

Definition at line 50 of file nr-filter-units.cpp.

References item_bbox.

Referenced by Inkscape::Filters::Filter::render().

◆ set_paraller()

void Inkscape::Filters::FilterUnits::set_paraller ( bool const  paraller)

Sets, if x and y axis in pixblock coordinates should be paraller to x and y of user coordinates.

Definition at line 58 of file nr-filter-units.cpp.

References paraller_axis.

Referenced by Inkscape::Filters::Filter::render().

◆ set_resolution()

void Inkscape::Filters::FilterUnits::set_resolution ( double const  x_res,
double const  y_res 
)

Sets the resolution, the filter should be rendered with.

Definition at line 42 of file nr-filter-units.cpp.

References resolution_x, and resolution_y.

Referenced by Inkscape::Filters::Filter::render().

Member Data Documentation

◆ automatic_resolution

bool Inkscape::Filters::FilterUnits::automatic_resolution
private

Definition at line 147 of file nr-filter-units.h.

Referenced by get_matrix_user2pb(), and set_automatic_resolution().

◆ ctm

Geom::Affine Inkscape::Filters::FilterUnits::ctm
private

◆ filter_area

Geom::OptRect Inkscape::Filters::FilterUnits::filter_area
private

◆ filterUnits

SPFilterUnits Inkscape::Filters::FilterUnits::filterUnits
private

◆ item_bbox

Geom::OptRect Inkscape::Filters::FilterUnits::item_bbox
private

◆ paraller_axis

bool Inkscape::Filters::FilterUnits::paraller_axis
private

Definition at line 146 of file nr-filter-units.h.

Referenced by get_matrix_user2pb(), and set_paraller().

◆ primitiveUnits

SPFilterUnits Inkscape::Filters::FilterUnits::primitiveUnits
private

◆ resolution_x

double Inkscape::Filters::FilterUnits::resolution_x
private

Definition at line 145 of file nr-filter-units.h.

Referenced by get_matrix_user2pb(), and set_resolution().

◆ resolution_y

double Inkscape::Filters::FilterUnits::resolution_y
private

Definition at line 145 of file nr-filter-units.h.

Referenced by get_matrix_user2pb(), and set_resolution().


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