22 _frame = make_canvasitem<CanvasItemRect>(group);
23 _label = make_canvasitem<CanvasItemText>(group);
26 _label->set_fill(0x000000'ff);
27 _label->set_background(0xffffff'bf);
29 _label->set_fixed_line(
true);
30 _label->set_visible(
false);
32 _frame->set_shadow(0x00000020, 1);
34 _frame->set_visible(
false);
48 item = document->getPageManager().findPageAt(pt);
56 auto switch_back =
false;
62 auto cursor =
event.pos;
65 auto msg =
item ? Glib::ustring(
"Pick object <b>") +
item->
getId() + Glib::ustring(
"</b>") :
"Pick objects.";
70 if (event.button != 1)
return;
72 auto cursor =
event.pos;
99 _label->set_visible(
false);
100 _frame->set_visible(
false);
108 _label->set_coord(position);
109 _label->set_visible(
true);
121 _frame->set_visible(
true);
static CRect from_xywh(Coord x, Coord y, Coord w, Coord h)
Create rectangle from origin and dimensions.
Two-dimensional point that doubles as a vector.
constexpr Coord y() const noexcept
constexpr Coord x() const noexcept
MessageId flash(MessageType type, char const *message)
Temporarily pushes a message onto the stack.
To do: update description of desktop.
double current_zoom() const
SPDocument * getDocument() const
Inkscape::MessageStack * messageStack() const
Inkscape::CanvasItemGroup * getCanvasTemp() const
SPItem * getItemAtPoint(Geom::Point const &p, bool into_groups, SPItem *upto=nullptr) const
sigc::signal< void(double)> signal_zoom_changed
Emitted when the zoom factor changes (not emitted when scrolling).
Geom::Affine const & w2d() const
Transformation from window to desktop coordinates (zoom/rotate).
SPObject is an abstract base class of all of the document nodes at the SVG document level.
char const * getId() const
Returns the objects current ID string.
Editable view implementation.
void inspect_event(E &&event, Fs... funcs)
Perform pattern-matching on a CanvasEvent.
Abstract base class for events.
Movement of the mouse pointer.