Inkscape
Vector Graphics Editor
|
#include <canvas-item-drawing.h>
Public Member Functions | |
CanvasItemDrawing (CanvasItemGroup *group) | |
Create the drawing. | |
bool | contains (Geom::Point const &p, double tolerance=0) override |
Returns true if point p (in canvas units) is inside some object in drawing. | |
Inkscape::Drawing * | get_drawing () |
void | set_active (Inkscape::DrawingItem *active) |
Inkscape::DrawingItem * | get_active () |
bool | handle_event (CanvasEvent const &event) override |
Handle events directed at the drawing. | |
void | set_sticky (bool sticky) |
void | set_pick_outline (bool pick_outline) |
sigc::connection | connect_drawing_event (sigc::slot< bool(CanvasEvent const &, Inkscape::DrawingItem *)> slot) |
![]() | |
CanvasItem (CanvasItemContext *context) | |
CanvasItem (CanvasItemGroup *parent) | |
CanvasItem (CanvasItem const &)=delete | |
CanvasItem & | operator= (CanvasItem const &)=delete |
void | unlink () |
UI::Widget::Canvas * | get_canvas () const |
CanvasItemGroup * | get_parent () const |
bool | is_descendant_of (CanvasItem const *ancestor) const |
void | set_z_position (int zpos) |
void | raise_to_top () |
void | lower_to_bottom () |
void | request_update () |
void | update (bool propagate) |
virtual void | visit_page_rects (std::function< void(Geom::Rect const &)> const &) const |
Geom::OptRect const & | get_bounds () const |
void | grab (EventMask event_mask, Glib::RefPtr< Gdk::Cursor > const &={}) |
void | ungrab () |
void | render (Inkscape::CanvasItemBuffer &buf) const |
bool | is_visible () const |
virtual void | set_visible (bool visible) |
void | request_redraw () |
virtual void | set_fill (uint32_t rgba) |
void | set_fill (CanvasItemColor color) |
void | set_fill_pattern (Cairo::RefPtr< Cairo::Pattern > pattern) |
virtual void | set_stroke (uint32_t rgba) |
void | set_stroke (CanvasItemColor color) |
void | set_stroke_width (double width) |
Set the stroke width. | |
void | set_outline (uint32_t color) |
Set the outline color. | |
void | set_outline_width (double width) |
Set the outline width. | |
double | get_effective_outline () const |
Get the effective outline. | |
void | set_name (std::string &&name) |
std::string const & | get_name () const |
void | update_canvas_item_ctrl_sizes (int size_index) |
void | set_pickable (bool pickable) |
bool | is_pickable () const |
sigc::connection | connect_event (sigc::slot< bool(CanvasEvent const &)> const &slot) |
void | canvas_item_print_tree (int level=0, int zorder=0) const |
Protected Member Functions | |
~CanvasItemDrawing () override=default | |
void | _update (bool propagate) override |
Update and redraw drawing. | |
void | _render (Inkscape::CanvasItemBuffer &buf) const override |
Render drawing to screen via Cairo. | |
![]() | |
virtual | ~CanvasItem () |
Geom::Affine const & | affine () const |
virtual void | _mark_net_invisible () |
virtual void | _invalidate_ctrl_handles () |
template<typename F > | |
void | defer (F &&f) |
Protected Attributes | |
Geom::Point | _c |
double | _delta = Geom::infinity() |
Inkscape::DrawingItem * | _active_item = nullptr |
Inkscape::DrawingItem * | _picked_item = nullptr |
std::unique_ptr< Inkscape::Drawing > | _drawing |
Geom::Affine | _drawing_affine |
bool | _cursor = false |
bool | _sticky = false |
bool | _pick_outline = false |
sigc::signal< bool(CanvasEvent const &, Inkscape::DrawingItem *)> | _drawing_event_signal |
![]() | |
CanvasItemContext * | _context |
CanvasItemGroup * | _parent |
Geom::OptRect | _bounds |
bool | _need_update = false |
bool | _visible = true |
bool | _net_visible = true |
bool | _pickable = false |
uint32_t | _fill = CANVAS_ITEM_COLORS[CANVAS_ITEM_SECONDARY] |
Cairo::RefPtr< Cairo::Pattern > | _fill_pattern |
uint32_t | _stroke = CANVAS_ITEM_COLORS[CANVAS_ITEM_PRIMARY] |
double | _stroke_width = 1.0 |
uint32_t | _outline = 0x0 |
double | _outline_width = 0 |
std::string | _name |
sigc::signal< bool(CanvasEvent const &)> | _event_signal |
Additional Inherited Members | |
![]() | |
boost::intrusive::list_member_hook | member_hook |
Definition at line 30 of file canvas-item-drawing.h.
Inkscape::CanvasItemDrawing::CanvasItemDrawing | ( | CanvasItemGroup * | group | ) |
Create the drawing.
One per window!
Definition at line 36 of file canvas-item-drawing.cpp.
References _drawing, Inkscape::CanvasItem::_name, Inkscape::CanvasItem::_pickable, and root.
|
overrideprotecteddefault |
|
overrideprotectedvirtual |
Render drawing to screen via Cairo.
Implements Inkscape::CanvasItem.
Definition at line 113 of file canvas-item-drawing.cpp.
References _drawing, buf, and Inkscape::DrawingItem::RENDER_OUTLINE.
|
overrideprotectedvirtual |
Update and redraw drawing.
Implements Inkscape::CanvasItem.
Definition at line 71 of file canvas-item-drawing.cpp.
References _active_item, Inkscape::CanvasItem::_bounds, _c, _cursor, _delta, _drawing, _drawing_affine, _drawing_event_signal, _pick_outline, _sticky, Inkscape::CanvasItem::affine(), desktop, SPDesktop::doc2dt(), expandedBy(), Inkscape::CanvasItem::get_canvas(), Geom::GenericRect< C >::infinite(), Inkscape::DrawingItem::PICK_OUTLINE, Inkscape::DrawingItem::PICK_STICKY, and Inkscape::DrawingItem::STATE_ALL.
|
inline |
Definition at line 51 of file canvas-item-drawing.h.
References _drawing_event_signal.
Referenced by SPDesktop::_setupCanvasItems(), and Inkscape::UI::View::SVGViewWidget::SVGViewWidget().
|
overridevirtual |
Returns true if point p (in canvas units) is inside some object in drawing.
Reimplemented from Inkscape::CanvasItem.
Definition at line 51 of file canvas-item-drawing.cpp.
References _drawing, _pick_outline, _picked_item, _sticky, Inkscape::DrawingItem::pick(), Inkscape::DrawingItem::PICK_OUTLINE, and Inkscape::DrawingItem::PICK_STICKY.
|
inline |
Definition at line 43 of file canvas-item-drawing.h.
References _active_item.
|
inline |
Definition at line 39 of file canvas-item-drawing.h.
References _drawing.
Referenced by SPDesktop::_attachDocument(), SPDesktop::_setupCanvasItems(), Inkscape::UI::Tools::CalligraphicTool::brush(), canvas_color_mode_gray(), Inkscape::UI::Tools::getPickerData(), Inkscape::UI::Tools::DropperTool::root_handler(), Inkscape::UI::Tools::InteractiveBooleansTool::set_opacity(), Inkscape::UI::View::SVGViewWidget::setDocument(), and Inkscape::UI::View::SVGViewWidget::SVGViewWidget().
|
overridevirtual |
Handle events directed at the drawing.
We first attempt to handle them here.
Reimplemented from Inkscape::CanvasItem.
Definition at line 122 of file canvas-item-drawing.cpp.
References _active_item, _c, _cursor, _drawing, _drawing_event_signal, _pick_outline, _sticky, Inkscape::Modifiers::Modifier::active(), Inkscape::Modifiers::CANVAS_ZOOM, Inkscape::Modifiers::Modifier::get(), Inkscape::inspect_event(), Inkscape::CanvasEvent::modifiers, Inkscape::DrawingItem::pick(), Inkscape::DrawingItem::PICK_OUTLINE, and Inkscape::DrawingItem::PICK_STICKY.
|
inline |
Definition at line 42 of file canvas-item-drawing.h.
References _active_item.
|
inline |
Definition at line 48 of file canvas-item-drawing.h.
References _pick_outline.
|
inline |
Definition at line 47 of file canvas-item-drawing.h.
References _sticky.
Referenced by Inkscape::UI::Widget::Canvas::on_button_pressed().
|
protected |
Definition at line 64 of file canvas-item-drawing.h.
Referenced by _update(), get_active(), handle_event(), and set_active().
|
protected |
Definition at line 62 of file canvas-item-drawing.h.
Referenced by _update(), and handle_event().
|
protected |
Definition at line 72 of file canvas-item-drawing.h.
Referenced by _update(), and handle_event().
|
protected |
Definition at line 63 of file canvas-item-drawing.h.
Referenced by _update().
|
protected |
Definition at line 68 of file canvas-item-drawing.h.
Referenced by _render(), _update(), CanvasItemDrawing(), contains(), get_drawing(), and handle_event().
|
protected |
Definition at line 69 of file canvas-item-drawing.h.
Referenced by _update().
|
protected |
Definition at line 77 of file canvas-item-drawing.h.
Referenced by _update(), connect_drawing_event(), and handle_event().
|
protected |
Definition at line 74 of file canvas-item-drawing.h.
Referenced by _update(), contains(), handle_event(), and set_pick_outline().
|
protected |
Definition at line 65 of file canvas-item-drawing.h.
Referenced by contains().
|
protected |
Definition at line 73 of file canvas-item-drawing.h.
Referenced by _update(), contains(), handle_event(), and set_sticky().