{
_canvas->MouseMotion.connect (sigc::mem_fun (*this, &TrackingText::pointer_motion));
set_ignore_events (true);
+ set_outline (true);
hide ();
}
pos = pos.translate (offset);
/* keep inside the window */
-
+
Rect r (0, 0, _canvas->width(), _canvas->height());
/* border of 200 pixels on the right, and 50 on all other sides */
r.y1 = std::max (r.y0, (r.y1 - border));
/* clamp */
-
+
if (pos.x < r.x0) {
pos.x = r.x0;
} else if (pos.x > r.x1) {
if (!was_visible) {
/* move to current pointer location. do this after show() so that
- * _visible is true, and thus ::pointer_motion() will do
+ * _visible is true, and thus ::pointer_motion() will do
* something.
*/
Duple winpos;
void
TrackingText::set_x_offset (double o)
{
+ begin_change ();
offset.x = o;
+ end_change ();
}
void
TrackingText::set_y_offset (double o)
{
+ begin_change ();
offset.y = o;
+ end_change ();
}
void
TrackingText::set_offset (Duple const & d)
{
+ begin_change ();
offset = d;
+ end_change ();
}