2#ifndef SEEN_SP_ITEM_GROUP_H
3#define SEEN_SP_ITEM_GROUP_H
31 int tag()
const override {
return tag_of<
decltype(*this)>; }
76 void update(
SPCtx *ctx,
unsigned int flags)
override;
77 void modified(
unsigned int flags)
override;
84 const char*
typeName()
const override;
88 void hide (
unsigned int key)
override;
121 auto group = cast<SPGroup>(obj);
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
3x3 matrix representing an affine transformation.
Axis-aligned rectangle that can be empty.
Two-dimensional point that doubles as a vector.
SVG drawing item for display.
Storing of snapping preferences.
Interface for refcounted XML nodes.
Typed SVG document implementation.
void setLayerMode(LayerMode mode)
void setInsertBottom(bool insertbottom)
void scaleChildItemsRec(Geom::Scale const &sc, Geom::Point const &p, bool noRecurse)
void order_changed(Inkscape::XML::Node *child, Inkscape::XML::Node *old_ref, Inkscape::XML::Node *new_ref) override
void removeTransformsRecursively(SPObject const *root) override
Inkscape::DrawingItem * show(Inkscape::Drawing &drawing, unsigned int key, unsigned int flags) override
void remove_child(Inkscape::XML::Node *child) override
void print(SPPrintContext *ctx) override
LayerMode layerMode() const
Geom::OptRect bbox(Geom::Affine const &transform, SPItem::BBoxType bboxtype) const override
bool insertBottom() const
LayerMode layerDisplayMode(unsigned int display_key) const
char * description() const override
void setLayerDisplayMode(unsigned int display_key, LayerMode mode)
std::map< unsigned int, LayerMode > _display_modes
void translateChildItems(Geom::Translate const &tr)
Inkscape::XML::Node * write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
const char * typeName() const override
The item's type name, not node tag name.
static std::vector< SPItem * > get_expanded(std::vector< SPItem * > const &items)
Return the result of recursively ungrouping all groups in items.
void build(SPDocument *document, Inkscape::XML::Node *repr) override
Inkscape::Colors::Color highlight_color() const override
Generate a highlight colour if one isn't set and return it.
void _updateLayerMode(unsigned int display_key=0)
std::vector< SPItem * > item_list()
void snappoints(std::vector< Inkscape::SnapCandidatePoint > &p, Inkscape::SnapPreferences const *snapprefs) const override
void child_added(Inkscape::XML::Node *child, Inkscape::XML::Node *ref) override
void update_patheffect(bool write) override
void modified(unsigned int flags) override
const char * displayName() const override
The item's type name as a translated human string.
LayerMode effectiveLayerMode(unsigned int display_key) const
void hide(unsigned int key) override
void update(SPCtx *ctx, unsigned int flags) override
virtual void _showChildren(Inkscape::Drawing &drawing, Inkscape::DrawingItem *ai, unsigned int key, unsigned int flags)
Base class for visual SVG elements.
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Inkscape::XML::Node * repr
static char const *const parent
Helper class to stream background task notifications as a series of messages.
static cairo_user_data_key_t key
bool SP_IS_LAYER(SPObject const *obj)
SPObject * sp_item_group_get_child_by_name(SPGroup *group, SPObject *ref, const char *name)
void set_default_highlight_colors(std::vector< guint32 > colors)
void sp_item_group_ungroup_handle_clones(SPItem *parent, Geom::Affine const g)
finds clones of a child of the group going out of the group; and inverse the group transform on its c...
void sp_item_group_ungroup(SPGroup *group, std::vector< SPItem * > &children)
Base class for live path effect items.
Interface for XML documents.