X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_cursors.h;h=7b739e5a53ee99e1633b90049657e77a17d0866e;hb=4c4061359cb33011e3acab016e8e604cd413a93d;hp=b5c228a54ac970479d38fb96372ca8aa031bb2db;hpb=8fc660e76e50920d744942c241275849b7b9720e;p=ardour.git diff --git a/gtk2_ardour/editor_cursors.h b/gtk2_ardour/editor_cursors.h index b5c228a54a..7b739e5a53 100644 --- a/gtk2_ardour/editor_cursors.h +++ b/gtk2_ardour/editor_cursors.h @@ -17,23 +17,46 @@ */ +#ifndef __gtk_ardour_editor_cursors_h__ +#define __gtk_ardour_editor_cursors_h__ + #include "pbd/signals.h" +#include "ardour/types.h" -class Editor; +#include "canvas/arrow.h" +#include "canvas/line.h" +#include "canvas/types.h" -struct EditorCursor { - Editor& editor; - ArdourCanvas::Points points; - ArdourCanvas::Line canvas_item; - framepos_t current_frame; - double length; +class Editor; - EditorCursor (Editor&, bool (Editor::*)(GdkEvent*,ArdourCanvas::Item*)); - ~EditorCursor (); +class EditorCursor { + public: + EditorCursor (Editor&, bool (Editor::*)(GdkEvent*,ArdourCanvas::Item*)); + EditorCursor (Editor&); + ~EditorCursor (); void set_position (framepos_t); - void set_length (double units); - void set_y_axis (double position); - PBD::Signal1 PositionChanged; + + void show (); + void hide (); + void set_color (ArdourCanvas::Color); + void set_sensitive (bool); + + framepos_t current_frame () const { + return _current_frame; + } + + ArdourCanvas::Arrow& track_canvas_item () { + return *_track_canvas_item; + } + + PBD::Signal1 PositionChanged; + + private: + Editor& _editor; + ArdourCanvas::Arrow* _track_canvas_item; + framepos_t _current_frame; }; + +#endif // __gtk_ardour_editor_cursors_h__