2#ifndef INKSCAPE_LPE_PERSPECTIVE_ENVELOPE_H
3#define INKSCAPE_LPE_PERSPECTIVE_ENVELOPE_H
27namespace LivePathEffect {
3x3 matrix representing an affine transformation.
Infinite line on a plane.
Two-dimensional point that doubles as a vector.
virtual void setDefaults()
~LPEPerspectiveEnvelope() override
void addCanvasIndicators(SPLPEItem const *, std::vector< Geom::PathVector > &hp_vec) override
Add possible canvas indicators (i.e., helperpaths other than the original path) to hp_vec This functi...
void resetDefaults(SPItem const *item) override
Sets all parameters to their default values and writes them to SVG.
virtual Geom::Point pointAtRatio(Geom::Coord ratio, Geom::Point A, Geom::Point B)
Gtk::Widget * newWidget() override
This creates a managed widget.
PointParam down_left_point
void doEffect(Geom::PathVector &curve) override
LPEPerspectiveEnvelope & operator=(const LPEPerspectiveEnvelope &)=delete
void doBeforeEffect(SPLPEItem const *lpeitem) override
Is performed each time before the effect is updated.
PointParam up_right_point
virtual void vertical(PointParam ¶mA, PointParam ¶mB, Geom::Line vert)
BoolParam vertical_mirror
void transform_multiply(Geom::Affine const &postmul, bool set) override
Overridden function to apply transforms for example to powerstroke, jointtype or tapperstroke.
PointParam down_right_point
LPEPerspectiveEnvelope(const LPEPerspectiveEnvelope &)=delete
std::vector< Geom::Point > handles
BoolParam overflow_perspective
virtual Geom::Point projectPoint(Geom::Point p)
BoolParam horizontal_mirror
virtual void horizontal(PointParam ¶mA, PointParam ¶mB, Geom::Line horiz)
EnumParam< unsigned > deform_type
Base class for visual SVG elements.
double Coord
Floating point type used to store coordinates.
Helper class to stream background task notifications as a series of messages.