X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=inline;f=cinelerra-5.1%2Fcinelerra%2Fscopewindow.h;h=5ecd4ef1a7fc1f66f6ac5eb9d7c83e23b3366b8f;hb=750c685e0f667cfe57bdb5eaf3cd2a061f44b01d;hp=86f9efa91155147d2c94fc6988057ace0dd9d21a;hpb=7ffa6954689f14a41a3bae7a0fdb3f2abeaa9679;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/scopewindow.h b/cinelerra-5.1/cinelerra/scopewindow.h index 86f9efa9..5ecd4ef1 100644 --- a/cinelerra-5.1/cinelerra/scopewindow.h +++ b/cinelerra-5.1/cinelerra/scopewindow.h @@ -34,7 +34,7 @@ enum { SCOPE_HISTOGRAM, SCOPE_HISTOGRAM_RGB, SCOPE_WAVEFORM, SCOPE_WAVEFORM_RGB, SCOPE_WAVEFORM_PLY, - SCOPE_VECTORSCOPE, + SCOPE_VECTORSCOPE, SCOPE_VECTORWHEEL, }; // Number of divisions in histogram. @@ -119,6 +119,9 @@ public: virtual void update_point(int x, int y); virtual void draw_point(); virtual void clear_point(); + void draw_point(float th, float r, int color); + void draw_radient(float th, float r1, float r2, int color); + int drag_radius; float drag_angle; }; @@ -160,6 +163,34 @@ public: ScopeScopesOn *wave_rgb_on; ScopeScopesOn *wave_ply_on; ScopeScopesOn *vect_on; + ScopeScopesOn *vect_wheel; +}; + + +class ScopeGradPaths : public ArrayList +{ +public: + ScopeGradPaths() { set_array_delete(); } + ~ScopeGradPaths() { remove_all_objects(); } +}; + +class ScopeGradItem : public BC_MenuItem +{ +public: + ScopeGradItem(ScopeVectGrads *vect_grads, const char *text, int idx); + int handle_event(); + + ScopeVectGrads *vect_grads; + int idx; +}; + +class ScopeVectGrads : public BC_PopupMenu +{ +public: + ScopeVectGrads(ScopeGUI *gui, int x, int y); + void create_objects(); + + ScopeGUI *gui; }; @@ -248,6 +279,9 @@ public: void calculate_sizes(int w, int h); void allocate_vframes(); 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 process(VFrame *output_frame); void draw(int flash, int flush); void clear_points(int flash); @@ -259,19 +293,28 @@ public: BoxBlur *box_blur; VFrame *waveform_vframe; VFrame *vector_vframe; + VFrame *wheel_vframe; ScopeHistogram *histogram; ScopeWaveform *waveform; ScopeVectorscope *vectorscope; 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; int x, y, w, h; int vector_x, vector_y, vector_w, vector_h; + int vector_cx, vector_cy, radius; int wave_x, wave_y, wave_w, wave_h; int hist_x, hist_y, hist_w, hist_h; + int text_color, dark_color; + + ScopeGradPaths grad_paths; + int grad_idx, use_graticule; int cpus; int use_hist, use_wave, use_vector;