stop pixel jitter when changing waveview height.
[ardour.git] / libs / canvas / canvas / tracking_text.h
1 /*
2     Copyright (C) 2011-2013 Paul Davis
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */
18
19 #ifndef __ardour_canvas_tracking_text_h__
20 #define __ardour_canvas_tracking_text_h__
21
22 #include <string>
23 #include "canvas/text.h"
24
25 namespace ArdourCanvas {
26
27 class LIBCANVAS_API TrackingText : public Text
28 {
29   public:
30         TrackingText (Canvas*);
31         TrackingText (Item*);
32         
33         void show_and_track (bool track_x, bool track_y);
34         void set_offset (Duple const &);
35         void set_x_offset (double);
36         void set_y_offset (double);
37
38   private:
39         bool track_x;
40         bool track_y;
41         Duple offset;
42
43         void pointer_motion (Duple const&);
44         void init ();
45 };
46
47 }
48
49 #endif /* __ardour_canvas_tracking_text_h__ */