#include "canvas/canvas.h"
#include "canvas/debug.h"
+#include "canvas/scroll_group.h"
-#include "utils.h"
#include "editor_cursors.h"
#include "editor.h"
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");
_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
{
_track_canvas_item->set_color (color);
}
+
+void
+EditorCursor::set_sensitive (bool yn)
+{
+ _track_canvas_item->set_ignore_events (!yn);
+}