histogram rework to add sum_frames, update suv/cakewalk autorange icons, add new...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / histogram / histogramwindow.h
index f21363e34d63f2754ad5ef2700478240d94bde14..44cf8d990f2d65bfe9f1e3d9013a7000c8260631 100644 (file)
 class HistogramSlider : public BC_SubWindow
 {
 public:
-       HistogramSlider(HistogramMain *plugin,
-               HistogramWindow *gui,
-               int x,
-               int y,
-               int w,
-               int h,
-               int is_input);
+       HistogramSlider(HistogramMain *plugin, HistogramWindow *gui,
+                       int x, int y, int w, int h, int is_input);
 
        void update();
        int input_to_pixel(float input);
 
        int operation;
-       enum
-       {
+       enum {
                NONE,
                DRAG_INPUT,
                DRAG_MIN_OUTPUT,
@@ -60,11 +54,8 @@ public:
 class HistogramParade : public BC_Toggle
 {
 public:
-       HistogramParade(HistogramMain *plugin,
-               HistogramWindow *gui,
-               int x,
-               int y,
-               int value);
+       HistogramParade(HistogramMain *plugin, HistogramWindow *gui,
+                       int x, int y, int value);
        int handle_event();
        HistogramMain *plugin;
        HistogramWindow *gui;
@@ -74,10 +65,7 @@ public:
 class HistogramCarrot : public BC_Toggle
 {
 public:
-       HistogramCarrot(HistogramMain *plugin,
-               HistogramWindow *gui,
-               int x,
-               int y);
+       HistogramCarrot(HistogramMain *plugin, HistogramWindow *gui, int x, int y);
        virtual ~HistogramCarrot();
 
        void update();
@@ -98,9 +86,7 @@ public:
 class HistogramAuto : public BC_CheckBox
 {
 public:
-       HistogramAuto(HistogramMain *plugin,
-               int x,
-               int y);
+       HistogramAuto(HistogramMain *plugin, int x, int y);
        int handle_event();
        HistogramMain *plugin;
 };
@@ -108,9 +94,15 @@ public:
 class HistogramPlot : public BC_CheckBox
 {
 public:
-       HistogramPlot(HistogramMain *plugin,
-               int x,
-               int y);
+       HistogramPlot(HistogramMain *plugin, int x, int y);
+       int handle_event();
+       HistogramMain *plugin;
+};
+
+class HistogramSumFrames : public BC_CheckBox
+{
+public:
+       HistogramSumFrames(HistogramMain *plugin, int x, int y);
        int handle_event();
        HistogramMain *plugin;
 };
@@ -118,9 +110,7 @@ public:
 class HistogramSplit : public BC_CheckBox
 {
 public:
-       HistogramSplit(HistogramMain *plugin,
-               int x,
-               int y);
+       HistogramSplit(HistogramMain *plugin, int x, int y);
        int handle_event();
        HistogramMain *plugin;
 };
@@ -128,10 +118,7 @@ public:
 class HistogramMode : public BC_Radial
 {
 public:
-       HistogramMode(HistogramMain *plugin,
-               int x,
-               int y,
-               int value,
+       HistogramMode(HistogramMain *plugin, int x, int y, int value,
                char *text);
        int handle_event();
        HistogramMain *plugin;
@@ -141,13 +128,20 @@ public:
 class HistogramReset : public BC_GenericButton
 {
 public:
-       HistogramReset(HistogramMain *plugin,
-               int x,
-               int y);
+       HistogramReset(HistogramMain *plugin, int x, int y);
        int handle_event();
        HistogramMain *plugin;
 };
 
+class HistogramLogSlider : public BC_FSlider
+{
+public:
+       HistogramLogSlider(HistogramMain *plugin, HistogramWindow *gui, int x, int y);
+       int handle_event();
+       HistogramMain *plugin;
+       HistogramWindow *gui;
+};
+
 class HistogramText : public BC_TumbleTextBox
 {
 public:
@@ -167,12 +161,8 @@ public:
 class HistogramCanvas : public BC_SubWindow
 {
 public:
-       HistogramCanvas(HistogramMain *plugin,
-               HistogramWindow *gui,
-               int x,
-               int y,
-               int w,
-               int h);
+       HistogramCanvas(HistogramMain *plugin, HistogramWindow *gui,
+                       int x, int y, int w, int h);
        int button_press_event();
        int cursor_motion_event();
        int button_release_event();
@@ -187,22 +177,14 @@ public:
        ~HistogramWindow();
 
        void create_objects();
-       void update(int do_canvases,
-               int do_carrots,
-               int do_text,
-               int do_toggles);
+       void update(int do_canvases, int do_carrots, int do_text, int do_toggles);
        void draw_canvas_mode(int mode, int color, int y, int h);
        void update_canvas();
        int keypress_event();
        int resize_event(int w, int h);
 
        void get_point_extents(HistogramPoint *current,
-               int *x1,
-               int *y1,
-               int *x2,
-               int *y2,
-               int *x,
-               int *y);
+                       int *x1, int *y1, int *x2, int *y2, int *x, int *y);
 
        HistogramSlider *output;
        HistogramAuto *automatic;
@@ -225,6 +207,9 @@ public:
        BC_Title *canvas_title2;
        BC_Title *threshold_title;
        BC_Bar *bar;
+       HistogramLogSlider *log_slider;
+       BC_Title *log_title1;
+       BC_Title *log_title2;
 
 // Value to change with keypresses
        float *active_value;
@@ -236,13 +221,8 @@ public:
        int title3_x;
        int title4_x;
        HistogramPlot *plot;
+       HistogramSumFrames *sum_frames;
        HistogramSplit *split;
 };
 
-
-
-
-
-
-
 #endif