X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fscopewindow.h;h=385ecaf239ce21a77827b112e7fa126079cbf95b;hp=44b2f8fd80503b803480384d3cc7ceb014a15638;hb=1529091cdf16df199a901aabe6e8fa1813a933af;hpb=6f73adad624d1ca2b397791784d0c778fcce8d39 diff --git a/cinelerra-5.1/cinelerra/scopewindow.h b/cinelerra-5.1/cinelerra/scopewindow.h index 44b2f8fd..385ecaf2 100644 --- a/cinelerra-5.1/cinelerra/scopewindow.h +++ b/cinelerra-5.1/cinelerra/scopewindow.h @@ -26,6 +26,7 @@ #include "guicast.h" #include "loadbalance.h" #include "mwindow.h" +#include "overlayframe.inc" #include "pluginclient.h" #include "recordmonitor.inc" #include "scopewindow.inc" @@ -35,6 +36,7 @@ enum { 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. @@ -49,7 +51,7 @@ enum { #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) @@ -166,31 +168,44 @@ public: ScopeScopesOn *vect_wheel; }; +class ScopeSettingOn : public BC_MenuItem +{ +public: + ScopeSettingOn(ScopeSettings *settings, const char *text, int id); + int handle_event(); -class ScopeGradPaths : public ArrayList + ScopeSettings *settings; + int id; +}; + +class ScopeGratPaths : public ArrayList { 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; }; @@ -248,15 +263,6 @@ public: }; -class ScopeSmooth : public BC_CheckBox -{ -public: - ScopeSmooth(ScopeGUI *gui, int x, int y); - int handle_event(); - ScopeGUI *gui; -}; - - class ScopeGUI : public PluginClientWindow { public: @@ -279,9 +285,9 @@ public: void calculate_sizes(int w, int h); void allocate_vframes(); void draw_overlays(int overlays, int borders, int flush); - void update_gradical(int idx); + void update_graticule(int idx); void draw_colorwheel(VFrame *dst, int bg_color); - void draw_gradical(); + void draw_scope(); void process(VFrame *output_frame); void draw(int flash, int flush); void clear_points(int flash); @@ -300,11 +306,9 @@ public: 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; @@ -313,8 +317,8 @@ public: int hist_x, hist_y, hist_w, hist_h; int text_color, dark_color; - ScopeGradPaths grad_paths; - int grad_idx, vector_gradical; + ScopeGratPaths grat_paths; + int grat_idx, use_graticule; int cpus; int use_hist, use_wave, use_vector; @@ -322,6 +326,7 @@ public: int bins[HIST_SECTIONS][TOTAL_BINS]; int frame_w, use_smooth; + int use_refresh, use_release; int use_wave_gain, use_vect_gain; };