diff options
Diffstat (limited to 'libs/surfaces/push2/scale.h')
-rw-r--r-- | libs/surfaces/push2/scale.h | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/libs/surfaces/push2/scale.h b/libs/surfaces/push2/scale.h index 7d7b1f870a..ffa95fe241 100644 --- a/libs/surfaces/push2/scale.h +++ b/libs/surfaces/push2/scale.h @@ -19,12 +19,18 @@ #ifndef __ardour_push2_scale_layout_h__ #define __ardour_push2_scale_layout_h__ +#include <vector> + #include "layout.h" namespace ARDOUR { class Stripable; } +namespace ArdourCanvas { + class Rectangle; +} + namespace ArdourSurface { class ScaleLayout : public Push2Layout @@ -35,15 +41,41 @@ class ScaleLayout : public Push2Layout void render (ArdourCanvas::Rect const &, Cairo::RefPtr<Cairo::Context>) const; + void show (); + void button_upper (uint32_t n); void button_lower (uint32_t n); - + void button_up (); + void button_down (); + void button_left (); + void button_right (); void strip_vpot (int, int); - void strip_vpot_touch (int, bool); + + void strip_vpot_touch (int, bool) {} private: + ArdourCanvas::Rectangle* bg; + std::vector<ArdourCanvas::Text*> upper_text; + std::vector<ArdourCanvas::Text*> lower_text; + ArdourCanvas::Text* left_scroll_text; + ArdourCanvas::Text* right_scroll_text; + ArdourCanvas::Text* inkey_text; + ArdourCanvas::Text* chromatic_text; + ArdourCanvas::Text* close_text; + ArdourCanvas::Text* fixed_text; + ArdourCanvas::Rectangle* root_bg; Push2Menu* scale_menu; + int last_vpot; + int vpot_delta_cnt; + Push2::Button* root_button; + void build_scale_menu (); + PBD::ScopedConnectionList menu_connections; + PBD::ScopedConnectionList p2_connections; + void mode_changed (); + void menu_rearranged (); + void show_root_state (); + void update_cursor_buttons (); }; } /* namespace */ |