summaryrefslogtreecommitdiff
path: root/libs/surfaces/push2/scale.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/surfaces/push2/scale.h')
-rw-r--r--libs/surfaces/push2/scale.h36
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 */