X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_cursors.cc;h=ee8253fed8dee27feb9f9d617ea8a22e77e6c8c8;hb=9cdb0e2765df8fb12817df4367f503048be6f738;hp=dd9970c730e80ac912a713053d265fb169f32b40;hpb=ff46a3c3a216afc97fee0c796ac2eaa92d58becb;p=ardour.git diff --git a/gtk2_ardour/editor_cursors.cc b/gtk2_ardour/editor_cursors.cc index dd9970c730..ee8253fed8 100644 --- a/gtk2_ardour/editor_cursors.cc +++ b/gtk2_ardour/editor_cursors.cc @@ -24,7 +24,6 @@ #include "canvas/debug.h" #include "canvas/scroll_group.h" -#include "utils.h" #include "editor_cursors.h" #include "editor.h" @@ -34,8 +33,7 @@ using namespace Gtk; EditorCursor::EditorCursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,ArdourCanvas::Item*)) : _editor (ed) - , _track_canvas_item (new ArdourCanvas::Arrow (_editor.get_hscroll_group())) - , _length (1.0) + , _track_canvas_item (new ArdourCanvas::Arrow (_editor.get_cursor_scroll_group())) { CANVAS_DEBUG_NAME (_track_canvas_item, "track canvas editor cursor"); @@ -49,13 +47,31 @@ EditorCursor::EditorCursor (Editor& ed, bool (Editor::*callbck)(GdkEvent*,Ardour _track_canvas_item->Event.connect (sigc::bind (sigc::mem_fun (ed, callbck), _track_canvas_item)); _track_canvas_item->set_y1 (ArdourCanvas::COORD_MAX); + + _track_canvas_item->set_x (0); _current_frame = 1; /* force redraw at 0 */ } -EditorCursor::~EditorCursor () +EditorCursor::EditorCursor (Editor& ed) + : _editor (ed) + , _track_canvas_item (new ArdourCanvas::Arrow (_editor.get_hscroll_group())) { + CANVAS_DEBUG_NAME (_track_canvas_item, "track canvas cursor"); + + _track_canvas_item->set_show_head (0, false); + _track_canvas_item->set_show_head (1, false); + _track_canvas_item->set_y1 (ArdourCanvas::COORD_MAX); + _track_canvas_item->set_ignore_events (true); + _track_canvas_item->set_x (0); + + _current_frame = 1; /* force redraw at 0 */ +} + +EditorCursor::~EditorCursor () +{ + delete _track_canvas_item; } void @@ -89,3 +105,9 @@ EditorCursor::set_color (ArdourCanvas::Color color) { _track_canvas_item->set_color (color); } + +void +EditorCursor::set_sensitive (bool yn) +{ + _track_canvas_item->set_ignore_events (!yn); +}