2#ifndef SEEN_CANVAS_ITEM_H
3#define SEEN_CANVAS_ITEM_H
30#include <boost/intrusive/list.hpp>
32#include <sigc++/sigc++.h>
34#include <gdkmm/cursor.h>
47namespace UI::Widget {
class Canvas; }
72 void update(
bool propagate);
78 void grab(
EventMask event_mask, Glib::RefPtr<Gdk::Cursor>
const & = {});
88 virtual void set_fill(uint32_t rgba);
The context in which a single CanvasItem tree exists.
3x3 matrix representing an affine transformation.
Axis-aligned rectangle that can be empty.
Two-dimensional point that doubles as a vector.
Axis aligned, non-empty rectangle.
Geom::Affine const & affine() const
UI::Widget::Canvas * canvas() const
virtual bool contains(Geom::Point const &p, double tolerance=0)
virtual void set_visible(bool visible)
void render(Inkscape::CanvasItemBuffer &buf) const
double get_effective_outline() const
Get the effective outline.
Geom::OptRect const & get_bounds() const
Cairo::RefPtr< Cairo::Pattern > _fill_pattern
std::string const & get_name() const
void set_outline(uint32_t color)
Set the outline color.
sigc::signal< bool(CanvasEvent const &)> _event_signal
virtual void _mark_net_invisible()
void set_outline_width(double width)
Set the outline width.
void set_name(std::string &&name)
void set_z_position(int zpos)
void grab(EventMask event_mask, Glib::RefPtr< Gdk::Cursor > const &={})
sigc::connection connect_event(sigc::slot< bool(CanvasEvent const &)> const &slot)
void set_fill(CanvasItemColor color)
CanvasItemGroup * _parent
void set_fill_pattern(Cairo::RefPtr< Cairo::Pattern > pattern)
CanvasItemGroup * get_parent() const
CanvasItem & operator=(CanvasItem const &)=delete
Geom::Affine const & affine() const
virtual void set_fill(uint32_t rgba)
CanvasItem(CanvasItem const &)=delete
virtual bool handle_event(CanvasEvent const &event)
virtual void set_stroke(uint32_t rgba)
void canvas_item_print_tree(int level=0, int zorder=0) const
bool is_descendant_of(CanvasItem const *ancestor) const
virtual void _render(Inkscape::CanvasItemBuffer &buf) const =0
void set_stroke(CanvasItemColor color)
void set_stroke_width(double width)
Set the stroke width.
virtual void visit_page_rects(std::function< void(Geom::Rect const &)> const &) const
CanvasItemContext * _context
virtual void _invalidate_ctrl_handles()
virtual void _update(bool propagate)=0
void set_pickable(bool pickable)
boost::intrusive::list_member_hook member_hook
void update(bool propagate)
void update_canvas_item_ctrl_sizes(int size_index)
UI::Widget::Canvas * get_canvas() const
A mask representing a subset of EventTypes.
Base class for visual SVG elements.
static char const *const parent
Helper class to stream background task notifications as a series of messages.
constexpr uint32_t CANVAS_ITEM_COLORS[]
Abstract base class for events.
Class used when rendering canvas items.