17#ifndef SEEN_SP_ELLIPSE_H
18#define SEEN_SP_ELLIPSE_H
40 int tag()
const override {
return tag_of<
decltype(*this)>; }
62 void update(
SPCtx *ctx,
unsigned int flags)
override;
65 const char *
typeName()
const override;
74 void modified(
unsigned int flags)
override;
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
3x3 matrix representing an affine transformation.
Two-dimensional point that doubles as a vector.
Storing of snapping preferences.
Interface for refcounted XML nodes.
Typed SVG document implementation.
~SPGenericEllipse() override
const char * displayName() const override
The item's type name as a translated human string.
Geom::Point getPointAtAngle(double arg) const
GenericEllipseArcType arcType()
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
void modified(unsigned int flags) override
double getVisibleRy() const
void setVisibleRy(double ry)
void update_patheffect(bool write) override
void tag_name_changed(gchar const *oldname, gchar const *newname) override
void normalize()
Makes sure that start and end lie between 0 and 2 * PI.
void setArcType(GenericEllipseArcType type)
void set_shape() override
void position_set(double x, double y, double rx, double ry)
bool set_elliptical_path_attribute(Inkscape::XML::Node *repr)
Geom::Affine set_transform(Geom::Affine const &xform) override
bool _isSlice() const
Determines whether the shape is a part of an ellipse.
void update(SPCtx *ctx, unsigned int flags) override
void setVisibleRx(double rx)
void build(SPDocument *document, Inkscape::XML::Node *repr) override
const char * typeName() const override
The item's type name, not node tag name.
double getVisibleRx() const
GenericEllipseArcType arc_type
void snappoints(std::vector< Inkscape::SnapCandidatePoint > &p, Inkscape::SnapPreferences const *snapprefs) const override
Inkscape::XML::Node * repr
Base class for shapes, including <path> element.
static cairo_user_data_key_t key
@ SP_GENERIC_ELLIPSE_ARC_TYPE_CHORD
@ SP_GENERIC_ELLIPSE_ARC_TYPE_SLICE
@ SP_GENERIC_ELLIPSE_ARC_TYPE_ARC
@ SP_GENERIC_ELLIPSE_CIRCLE
@ SP_GENERIC_ELLIPSE_UNDEFINED
@ SP_GENERIC_ELLIPSE_ELLIPSE
Interface for XML documents.