2#ifndef SEEN_KNOT_HOLDER_ENTITY_H
3#define SEEN_KNOT_HOLDER_ENTITY_H
28#include <sigc++/scoped_connection.h>
50 Glib::ustring
const &
name =
"unknown",
52 uint32_t color = 0xffffff00);
std::unique_ptr< T, CanvasItemUnlinkDeleter > CanvasItemPtr
Smart pointer used to hold CanvasItems, like std::unique_ptr.
BlurKnotHolderEntity(int direction)
void on_created() override
CanvasItemPtr< Inkscape::CanvasItemCurve > _line
sigc::scoped_connection _watch_blur
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
SPGaussianBlur * _blur() const
void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
sigc::scoped_connection _watch_filter
void update_knot() override
Geom::Point knot_get() const override
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
FilterKnotHolderEntity(bool topleft)
Geom::Point knot_get() const override
bool _topleft
true for top left point, false for bottom right
3x3 matrix representing an affine transformation.
Two-dimensional point with integer coordinates.
Two-dimensional point that doubles as a vector.
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
Geom::Point knot_get() const override
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
Geom::Point knot_get() const override
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
Geom::Point knot_get() const override
bool knot_missing() const override
void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
bool _fill
true if the entity tracks fill, false for stroke
HatchKnotHolderEntity(bool fill)
KnotHolderEntity definition.
virtual void on_created()
sigc::scoped_connection _ungrabbed_connection
virtual void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state)=0
Geom::Point snap_knot_position(Geom::Point const &p, unsigned state)
sigc::scoped_connection _click_connection
sigc::scoped_connection _moved_connection
KnotHolder * parent_holder
Geom::Point snap_knot_position_constrained(Geom::Point const &p, Inkscape::Snapper::SnapConstraint const &constraint, unsigned state)
virtual bool knot_missing() const
virtual ~KnotHolderEntity()
virtual void knot_grabbed(Geom::Point const &, unsigned)
virtual void update_knot()
virtual Geom::Point knot_get() const =0
virtual void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, unsigned state)=0
virtual void knot_click(unsigned)
sigc::scoped_connection _mousedown_connection
virtual bool set_item_clickpos(Geom::Point loc)
void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
LPEKnotHolderEntity(Inkscape::LivePathEffect::Effect *effect)
Inkscape::LivePathEffect::Effect * _effect
PatternKnotHolderEntityAngle(bool fill)
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
Geom::Point knot_get() const override
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
Geom::Affine _cached_inverse_linear
Geom::Point _cached_diagonal
Geom::Point knot_get() const override
void knot_grabbed(Geom::Point const &grab_pos, unsigned state) override
Store pattern geometry info when the scale knot is first grabbed.
static constexpr double MAX_REPETITIONS
Maximum number of pattern repetitons allowed in an item.
PatternKnotHolderEntityScale(bool fill)
Geom::Point _cached_origin
Geom::Affine _cached_transform
void on_created() override
void update_knot() override
CanvasItemPtr< Inkscape::CanvasItemQuad > _quad
Extra visual element to show the pattern editing area.
PatternKnotHolderEntityXY(bool fill)
Geom::Point knot_get() const override
void knot_set(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
bool _fill
true if the entity tracks fill, false for stroke
Geom::Point _get_pos(double x, double y, bool transform=true) const
Returns the position based on the pattern's origin, shifted by the percent x/y of its size.
void on_created() override
void update_knot() override
bool knot_missing() const override
Geom::IntPoint offset_to_cell(Geom::Point loc) const
void knot_ungrabbed(Geom::Point const &p, Geom::Point const &origin, unsigned state) override
PatternKnotHolderEntity(bool fill)
bool set_item_clickpos(Geom::Point loc) override
SPPattern * _pattern() const
To do: update description of desktop.
Base class for visual SVG elements.
Desktop-bound visual control object.
static char const *const parent
Contains forward declarations of 2geom types.
Declarations for SPKnot: Desktop-bound visual control object.
@ CANVAS_ITEM_CTRL_TYPE_DEFAULT