ardour
editor_cursors.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2000 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 
20 #include "pbd/signals.h"
21 #include "ardour/types.h"
22 
23 #include "canvas/arrow.h"
24 #include "canvas/line.h"
25 #include "canvas/types.h"
26 
27 class Editor;
28 
29 class EditorCursor {
30  public:
31  EditorCursor (Editor&, bool (Editor::*)(GdkEvent*,ArdourCanvas::Item*));
33  ~EditorCursor ();
34 
35  void set_position (framepos_t);
36 
37 
38  void show ();
39  void hide ();
40  void set_color (ArdourCanvas::Color);
41  void set_sensitive (bool);
42 
44  return _current_frame;
45  }
46 
47  ArdourCanvas::Arrow& track_canvas_item () {
48  return *_track_canvas_item;
49  }
50 
51  PBD::Signal1<void, framepos_t> PositionChanged;
52 
53  private:
55  ArdourCanvas::Arrow* _track_canvas_item;
57 };
ArdourCanvas::Arrow & track_canvas_item()
framepos_t _current_frame
EditorCursor(Editor &, bool(Editor::*)(GdkEvent *, ArdourCanvas::Item *))
PBD::Signal1< void, framepos_t > PositionChanged
framepos_t current_frame() const
void set_position(framepos_t)
Editor & _editor
ArdourCanvas::Arrow * _track_canvas_item
void set_sensitive(bool)
Definition: editor.h:134
int64_t framepos_t
void set_color(ArdourCanvas::Color)