37 _icon_name(
std::move(icon_name)),
38 _blend_tag(
Glib::ustring(history_prefix) +
":blend"),
39 _blur_tag(
Glib::ustring(history_prefix) +
":blur"),
40 _opacity_tag(
Glib::ustring(history_prefix) +
":opacity"),
41 _isolation_tag(
Glib::ustring(history_prefix) +
":isolation"),
42 _filter_modifier(flags),
45 set_name(
"ObjectCompositeSettings");
95 double perimeter = bbox->dimensions()[
Geom::X] + bbox->dimensions()[
Geom::Y];
105 if (!is<SPItem>(i)) {
108 auto item = cast<SPItem>(i);
110 g_assert(style !=
nullptr);
116 }
else if (radius != 0) {
186 item->
updateRepr(SP_OBJECT_WRITE_NO_CHILDREN | SP_OBJECT_WRITE_EXT);
223 switch (isolation_result) {
239 switch(blend_result) {
253 switch (blur_result) {
Axis-aligned rectangle that can be empty.
A thin wrapper around std::ostringstream, but writing floating point numbers in the format required b...
static void maybeDone(SPDocument *document, const gchar *keyconst, Glib::ustring const &event_description, Glib::ustring const &undo_icon, unsigned int object_modified_tag=0)
To do: update description of desktop.
SPDocument * getDocument() const
Typed SVG document implementation.
void update_filter_region(SPItem *item)
Update the filter region based on the object's bounding box.
SPStyle * style
Represents the style properties, whether from presentation attributes, the style attribute,...
Inkscape::XML::Node * updateRepr(unsigned int flags=SP_OBJECT_WRITE_EXT)
Updates the object's repr based on the object's state.
void requestDisplayUpdate(unsigned int flags)
Queues an deferred update of this object's display.
T< SPAttr::ISOLATION, SPIEnum< SPIsolation > > isolation
mix-blend-mode: CSS Compositing and Blending Level 1
T< SPAttr::MIX_BLEND_MODE, SPIEnum< SPBlendMode > > mix_blend_mode
T< SPAttr::OPACITY, SPIScale24 > opacity
opacity
T< SPAttr::FILTER, SPIFilter > filter
Filter effect.
T< SPAttr::INVALID, SPILength > filter_gaussianBlur_deviation
normally not used, but duplicates the Gaussian blur deviation (if any) from the attached filter when ...
TODO: insert short description here.
std::shared_ptr< Css const > css
@ QUERY_STYLE_PROPERTY_BLEND
@ QUERY_STYLE_PROPERTY_ISOLATION
@ QUERY_STYLE_PROPERTY_BLUR
@ QUERY_STYLE_PROPERTY_MASTEROPACITY
@ QUERY_STYLE_MULTIPLE_DIFFERENT
@ QUERY_STYLE_MULTIPLE_AVERAGED
@ QUERY_STYLE_MULTIPLE_SAME
Editable view implementation.
TODO: insert short description here.
bool filter_is_single_gaussian_blur(SPFilter *filter)
void remove_filter(SPObject *item, bool recursive)
bool set_blend_mode(SPItem *item, SPBlendMode blend_mode)
SPFilter * modify_filter_gaussian_blur_from_item(SPDocument *document, SPItem *item, gdouble radius)
Modifies the gaussian blur applied to the item.
void pack_start(Gtk::Box &box, Gtk::Widget &child, bool const expand, bool const fill, unsigned const padding)
Adds child to box, packed with reference to the start of box.
Helper class to stream background task notifications as a series of messages.
constexpr double BLUR_MULTIPLIER
Helpers for using Gtk::Boxes, encapsulating large changes between GTK3 & GTK4.
SPCSSAttr * sp_repr_css_attr_new()
Creates an empty SPCSSAttr (a class for manipulating CSS style properties).
void sp_repr_css_attr_unref(SPCSSAttr *css)
Unreferences an SPCSSAttr (will be garbage collected if no references remain).
void sp_repr_css_set_property(SPCSSAttr *css, gchar const *name, gchar const *value)
Set a style property to a new value (e.g.
@ SP_CSS_ISOLATION_ISOLATE
Abstraction for different style widget operands.
void sp_style_set_property_url(SPObject *item, gchar const *property, SPObject *linked, bool recursive)
SPStyle - a style object for SPItem objects.