+ ScopeScopesOn *hist_on;
+ ScopeScopesOn *hist_rgb_on;
+ ScopeScopesOn *wave_on;
+ ScopeScopesOn *wave_rgb_on;
+ ScopeScopesOn *wave_ply_on;
+ ScopeScopesOn *vect_on;
+ ScopeScopesOn *vect_wheel;
+};
+
+class ScopeSettingOn : public BC_MenuItem
+{
+public:
+ ScopeSettingOn(ScopeSettings *settings, const char *text, int id);
+ int handle_event();
+
+ ScopeSettings *settings;
+ int id;
+};
+
+class ScopeGratPaths : public ArrayList<const char *>
+{
+public:
+ ScopeGratPaths() { set_array_delete(); }
+ ~ScopeGratPaths() { remove_all_objects(); }
+};
+
+class ScopeGratItem : public BC_MenuItem
+{
+public:
+ ScopeGratItem(ScopeSettings *settings, const char *text, int idx);
+ int handle_event();
+
+ ScopeSettings *settings;
+ int idx;
+};
+
+class ScopeSettings : public BC_PopupMenu
+{
+public:
+ ScopeSettings(ScopeGUI *gui, int x, int y);
+ void create_objects();
+ void update_toggles();
+
+ ScopeGUI *gui;
+ ScopeSettingOn *smooth_on;
+ ScopeSettingOn *refresh_on;
+ ScopeSettingOn *release_on;
+};
+
+
+class ScopeGainReset : public BC_Button
+{
+public:
+ ScopeGainReset(ScopeGain *gain, int x, int y);
+ static int calculate_w(BC_Theme *theme);
+ int handle_event();
+
+ ScopeGain *gain;
+};
+
+class ScopeGainSlider : public BC_ISlider
+{
+public:
+ ScopeGainSlider(ScopeGain *gain, int x, int y, int w);
+
+ int handle_event();
+ ScopeGain *gain;
+};
+
+class ScopeGain
+{
+public:
+ ScopeGain(ScopeGUI *gui, int x, int y, int w, int *value);
+ ~ScopeGain();
+ static int calculate_h();
+ void create_objects();
+ void reposition_window(int x, int y);
+ int handle_event();
+
+ ScopeGUI *gui;
+ int x, y, w, *value;
+ int reset_w;
+ ScopeGainReset *reset;
+ ScopeGainSlider *slider;
+
+ int get_x() { return x; }
+ int get_y() { return y; }
+ int get_w() { return w; }
+ int get_h() { return calculate_h(); }
+};
+
+class ScopeWaveSlider : public ScopeGain
+{
+public:
+ ScopeWaveSlider(ScopeGUI *gui, int x, int y, int w);
+};
+
+class ScopeVectSlider : public ScopeGain
+{
+public:
+ ScopeVectSlider(ScopeGUI *gui, int x, int y, int w);