#include "guicast.h"
#include "loadbalance.h"
#include "mwindow.h"
+#include "overlayframe.inc"
#include "pluginclient.h"
#include "recordmonitor.inc"
#include "scopewindow.inc"
SCOPE_HISTOGRAM, SCOPE_HISTOGRAM_RGB,
SCOPE_WAVEFORM, SCOPE_WAVEFORM_RGB, SCOPE_WAVEFORM_PLY,
SCOPE_VECTORSCOPE, SCOPE_VECTORWHEEL,
+ SCOPE_SMOOTH, SCOPE_REFRESH, SCOPE_RELEASE,
};
// Number of divisions in histogram.
#define HISTOGRAM_MAX 110
#define FLOAT_MAX 1.1
-#define MIN_SCOPE_W xS(640)
+#define MIN_SCOPE_W xS(320)
#define MIN_SCOPE_H yS(320)
ScopeScopesOn *vect_wheel;
};
+class ScopeSettingOn : public BC_MenuItem
+{
+public:
+ ScopeSettingOn(ScopeSettings *settings, const char *text, int id);
+ int handle_event();
-class ScopeGradPaths : public ArrayList<const char *>
+ ScopeSettings *settings;
+ int id;
+};
+
+class ScopeGratPaths : public ArrayList<const char *>
{
public:
- ScopeGradPaths() { set_array_delete(); }
- ~ScopeGradPaths() { remove_all_objects(); }
+ ScopeGratPaths() { set_array_delete(); }
+ ~ScopeGratPaths() { remove_all_objects(); }
};
-class ScopeGradItem : public BC_MenuItem
+class ScopeGratItem : public BC_MenuItem
{
public:
- ScopeGradItem(ScopeVectGrads *vect_grads, const char *text, int idx);
+ ScopeGratItem(ScopeSettings *settings, const char *text, int idx);
int handle_event();
- ScopeVectGrads *vect_grads;
+ ScopeSettings *settings;
int idx;
};
-class ScopeVectGrads : public BC_PopupMenu
+class ScopeSettings : public BC_PopupMenu
{
public:
- ScopeVectGrads(ScopeGUI *gui, int x, int y);
+ 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 ScopeSmooth : public BC_CheckBox
-{
-public:
- ScopeSmooth(ScopeGUI *gui, int x, int y);
- int handle_event();
- ScopeGUI *gui;
-};
-
-
class ScopeGUI : public PluginClientWindow
{
public:
void draw_overlays(int overlays, int borders, int flush);
void update_graticule(int idx);
void draw_colorwheel(VFrame *dst, int bg_color);
- void draw_graticule();
+ void draw_scope();
void process(VFrame *output_frame);
void draw(int flash, int flush);
void clear_points(int flash);
ScopeMenu *scope_menu;
ScopeWaveSlider *wave_slider;
ScopeVectSlider *vect_slider;
- ScopeVectGrads *vect_grads;
- ScopeSmooth *smooth;
- BC_Title *value_text;
- VFrame *grad_image;
- BC_Pixmap *grad_pixmap;
+ ScopeSettings *settings;
+ VFrame *grat_image;
+ OverlayFrame *overlay;
int x, y, w, h;
int vector_x, vector_y, vector_w, vector_h;
int hist_x, hist_y, hist_w, hist_h;
int text_color, dark_color;
- ScopeGradPaths grad_paths;
- int grad_idx, use_graticule;
+ ScopeGratPaths grat_paths;
+ int grat_idx, use_graticule;
int cpus;
int use_hist, use_wave, use_vector;
int bins[HIST_SECTIONS][TOTAL_BINS];
int frame_w, use_smooth;
+ int use_refresh, use_release;
int use_wave_gain, use_vect_gain;
};