Inkscape
Vector Graphics Editor
|
#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. | |
FilterUnits & | operator= (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 |
Definition at line 35 of file nr-filter-units.h.
Inkscape::Filters::FilterUnits::FilterUnits | ( | ) |
Definition at line 25 of file nr-filter-units.cpp.
Inkscape::Filters::FilterUnits::FilterUnits | ( | SPFilterUnits const | filterUnits, |
SPFilterUnits const | primitiveUnits | ||
) |
Definition at line 32 of file nr-filter-units.cpp.
|
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().
|
inline |
Gets Filter Units (userSpaceOnUse or objectBoundingBox)
Definition at line 87 of file nr-filter-units.h.
References filterUnits.
|
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().
Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_display2pb | ( | ) | const |
Gets the display coordinates to pixblock coordinates transformation matrix.
Definition at line 112 of file nr-filter-units.cpp.
References ctm, get_matrix_user2pb(), and Geom::Affine::inverse().
Referenced by Inkscape::Filters::FilterSlot::_get_transformed_background(), Inkscape::Filters::FilterSlot::_get_transformed_source_graphic(), Inkscape::Filters::FilterSlot::FilterSlot(), and Inkscape::Filters::Filter::render().
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().
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().
Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_primitiveunits2pb | ( | ) | const |
Gets the primitiveUnits to pixblock coordinates transformation matrix.
Definition at line 108 of file nr-filter-units.cpp.
References get_matrix_units2pb(), and primitiveUnits.
Referenced by Inkscape::Filters::FilterDiffuseLighting::render_cairo(), Inkscape::Filters::FilterDisplacementMap::render_cairo(), Inkscape::Filters::FilterMorphology::render_cairo(), Inkscape::Filters::FilterOffset::render_cairo(), Inkscape::Filters::FilterSpecularLighting::render_cairo(), and Inkscape::Filters::FilterTurbulence::render_cairo().
|
private |
Definition at line 85 of file nr-filter-units.cpp.
References get_matrix_user2pb(), item_bbox, SP_FILTER_UNITS_OBJECTBOUNDINGBOX, and SP_FILTER_UNITS_USERSPACEONUSE.
Referenced by get_matrix_filterunits2pb(), and get_matrix_primitiveunits2pb().
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().
Geom::Affine Inkscape::Filters::FilterUnits::get_matrix_user2pb | ( | ) | const |
Gets the user coordinates to pixblock coordinates transformation matrix.
Definition at line 66 of file nr-filter-units.cpp.
References automatic_resolution, ctm, filter_area, paraller_axis, resolution_x, and resolution_y.
Referenced by get_matrix_display2pb(), get_matrix_pb2display(), get_matrix_units2pb(), get_pixblock_filterarea_paraller(), Inkscape::Filters::FilterFlood::render_cairo(), Inkscape::Filters::FilterGaussian::render_cairo(), Inkscape::Filters::FilterImage::render_cairo(), and Inkscape::Filters::FilterTile::render_cairo().
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.
|
private |
Definition at line 124 of file nr-filter-units.cpp.
References Geom::identity(), item_bbox, SP_FILTER_UNITS_OBJECTBOUNDINGBOX, and SP_FILTER_UNITS_USERSPACEONUSE.
Referenced by get_matrix_user2filterunits(), and get_matrix_user2primitiveunits().
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().
|
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().
|
default |
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().
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().
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().
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().
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().
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().
|
private |
Definition at line 147 of file nr-filter-units.h.
Referenced by get_matrix_user2pb(), and set_automatic_resolution().
|
private |
Definition at line 148 of file nr-filter-units.h.
Referenced by get_matrix_display2pb(), get_matrix_pb2display(), get_matrix_user2pb(), and set_ctm().
|
private |
Definition at line 150 of file nr-filter-units.h.
Referenced by get_filter_area(), get_matrix_user2pb(), get_pixblock_filterarea_paraller(), and set_filter_area().
|
private |
Definition at line 144 of file nr-filter-units.h.
Referenced by get_filter_units(), get_matrix_filterunits2pb(), and get_matrix_user2filterunits().
|
private |
Definition at line 149 of file nr-filter-units.h.
Referenced by get_item_bbox(), get_matrix_units2pb(), get_matrix_user2units(), and set_item_bbox().
|
private |
Definition at line 146 of file nr-filter-units.h.
Referenced by get_matrix_user2pb(), and set_paraller().
|
private |
Definition at line 144 of file nr-filter-units.h.
Referenced by get_matrix_primitiveunits2pb(), get_matrix_user2primitiveunits(), and get_primitive_units().
|
private |
Definition at line 145 of file nr-filter-units.h.
Referenced by get_matrix_user2pb(), and set_resolution().
|
private |
Definition at line 145 of file nr-filter-units.h.
Referenced by get_matrix_user2pb(), and set_resolution().