2#ifndef SEEN_SP_FILTER_PRIMITIVE_H
3#define SEEN_SP_FILTER_PRIMITIVE_H
47 int tag()
const override {
return tag_of<
decltype(*this)>; }
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
Axis aligned, non-empty rectangle.
SVG drawing item for display.
Interface for refcounted XML nodes.
Typed SVG document implementation.
void update(SPCtx *ctx, unsigned flags) override
void build(SPDocument *doc, Inkscape::XML::Node *repr) override
void invalidate_parent_slots()
virtual void hide(Inkscape::DrawingItem *item)
std::optional< std::string > out_name
std::optional< std::string > in_name
virtual void show(Inkscape::DrawingItem *item)
Inkscape::XML::Node * write(Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned flags) override
virtual void resolve_slots(SlotResolver &)
virtual bool valid_for(SPObject const *obj) const
virtual std::unique_ptr< Inkscape::Filters::FilterPrimitive > build_renderer(Inkscape::DrawingItem *item) const =0
~SPFilterPrimitive() override
virtual Geom::Rect calculate_region(Geom::Rect const ®ion) const
void build_renderer_common(Inkscape::Filters::FilterPrimitive *primitive) const
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Inkscape::XML::Node * repr
Helper class to stream background task notifications as a series of messages.
TODO: insert short description here.
static cairo_user_data_key_t key
Interface for XML documents.