X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpublic_editor.h;h=f0c2ca3f9137a743b2cc8ae8dc9e12dc00270185;hb=3b079064e62facf91a35d2307709fc00feb0bb19;hp=9c7750adcaccb6094c2125397208a6edc7ff5fda;hpb=ede4ecbb00ecc866c502454c81e711baea780ccd;p=ardour.git diff --git a/gtk2_ardour/public_editor.h b/gtk2_ardour/public_editor.h index 9c7750adca..f0c2ca3f91 100644 --- a/gtk2_ardour/public_editor.h +++ b/gtk2_ardour/public_editor.h @@ -20,6 +20,10 @@ #ifndef __gtk_ardour_public_editor_h__ #define __gtk_ardour_public_editor_h__ +#ifdef WAF_BUILD +#include "gtk2ardour-config.h" +#endif + #include #include @@ -45,6 +49,8 @@ namespace ARDOUR { class Region; class Playlist; class RouteGroup; + class Trimmable; + class Movable; } namespace Gtk { @@ -80,6 +86,7 @@ class ImageFrameView; class ImageFrameTimeAxis; class MarkerView; class DragManager; +class MouseCursors; using ARDOUR::framepos_t; using ARDOUR::framecnt_t; @@ -189,10 +196,6 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { virtual void transition_to_rolling (bool fwd) = 0; virtual framepos_t unit_to_frame (double unit) const = 0; - // XXX remove me when libardour goes framepos_t - double frame_to_unit (nframes_t frame) const { - return frame_to_unit ((framepos_t) frame); - } virtual double frame_to_unit (framepos_t frame) const = 0; virtual double frame_to_unit (double frame) const = 0; virtual framepos_t pixel_to_frame (double pixel) const = 0; @@ -282,6 +285,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { sigc::signal ZoomFocusChanged; sigc::signal ZoomChanged; + /** Emitted when the horizontal position of the editor view changes */ + sigc::signal HorizontalPositionChanged; sigc::signal Resized; sigc::signal Realized; sigc::signal UpdateAllTransportClocks; @@ -289,6 +294,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { static sigc::signal DropDownKeys; Glib::RefPtr editor_actions; + Glib::RefPtr _region_actions; virtual void reset_focus () = 0; @@ -347,15 +353,18 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { #endif virtual gdouble get_trackview_group_vertical_offset () const = 0; - virtual gdouble get_canvas_timebars_vsize () const = 0; - virtual ArdourCanvas::Group* get_background_group () const = 0; + virtual double get_canvas_timebars_vsize () const = 0; virtual ArdourCanvas::Group* get_trackview_group () const = 0; + virtual ArdourCanvas::Group* get_background_group () const = 0; virtual TimeAxisView* axis_view_from_route (boost::shared_ptr) const = 0; - virtual void show_verbose_canvas_cursor_with (const std::string& txt) = 0; + virtual void show_verbose_canvas_cursor_with (const std::string& txt, int32_t xoffset = 0, int32_t yoffset = 0) = 0; virtual void hide_verbose_canvas_cursor() = 0; + virtual void set_current_trimmable (boost::shared_ptr) = 0; + virtual void set_current_movable (boost::shared_ptr) = 0; + virtual void center_screen (framepos_t) = 0; virtual TrackViewList axis_views_from_routes (boost::shared_ptr) const = 0; @@ -368,6 +377,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { virtual void maybe_autoscroll (bool, bool) = 0; virtual void stop_canvas_autoscroll () = 0; + virtual MouseCursors const * cursors () const = 0; + /// Singleton instance, set up by Editor::Editor() static PublicEditor* _instance; @@ -376,6 +387,7 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible { friend bool forward_key_press (GdkEventKey*); PBD::Signal0 SnapChanged; + PBD::Signal0 MouseModeChanged; }; #endif // __gtk_ardour_public_editor_h__