no longer need ffmpeg patch0 which was for Termux
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / brightness / brightnesswindow.h
index 6309641bc0962ddee6d564a5d239f9953c3f8e77..393146d65124417576e5099afe50d88952d6eb35 100644 (file)
 #ifndef BRIGHTNESSWINDOW_H
 #define BRIGHTNESSWINDOW_H
 
-
-class BrightnessThread;
-class BrightnessWindow;
-class BrightnessSlider;
-class BrightnessLuma;
-
 #include "brightness.h"
 #include "guicast.h"
 #include "mutex.h"
 #include "pluginvclient.h"
 #include "thread.h"
 
+#define RESET_ALL 0
+#define RESET_CONTRAST   1
+#define RESET_BRIGHTNESS 2
+
+#define MAXVALUE 100.00
+
+class BrightnessThread;
+class BrightnessWindow;
+class BrightnessFText;
+class BrightnessFSlider;
+class BrightnessLuma;
+class BrightnessReset;
+class BrightnessClr;
+
 
 class BrightnessWindow : public PluginClientWindow
 {
 public:
        BrightnessWindow(BrightnessMain *client);
        ~BrightnessWindow();
-
+       void update_gui(int clear);
        void create_objects();
 
        BrightnessMain *client;
-       BrightnessSlider *brightness;
-       BrightnessSlider *contrast;
+
+       BrightnessFText *brightness_text;
+       BrightnessFSlider *brightness_slider;
+       BrightnessClr *brightness_Clr;
+
+       BrightnessFText *contrast_text;
+       BrightnessFSlider *contrast_slider;
+       BrightnessClr *contrast_Clr;
+
        BrightnessLuma *luma;
+       BrightnessReset *reset;
 };
 
-class BrightnessSlider : public BC_FSlider
+class BrightnessFText : public BC_TumbleTextBox
 {
 public:
-       BrightnessSlider(BrightnessMain *client, float *output, int x, int y, int is_brightness);
-       ~BrightnessSlider();
+       BrightnessFText(BrightnessWindow *window, BrightnessMain *client,
+               BrightnessFSlider *slider, float *output, int x, int y, float min, float max);
+       ~BrightnessFText();
+       int handle_event();
+       BrightnessWindow *window;
+       BrightnessMain *client;
+       BrightnessFSlider *slider;
+       float *output;
+       float min, max;
+};
+
+class BrightnessFSlider : public BC_FSlider
+{
+public:
+       BrightnessFSlider(BrightnessMain *client,
+               BrightnessFText *text, float *output, int x, int y,
+               float min, float max, int w, int is_brightness);
+       ~BrightnessFSlider();
        int handle_event();
        char* get_caption();
 
        BrightnessMain *client;
+       BrightnessFText *text;
        float *output;
        int is_brightness;
        char string[BCTEXTLEN];
@@ -69,8 +102,28 @@ public:
        BrightnessLuma(BrightnessMain *client, int x, int y);
        ~BrightnessLuma();
        int handle_event();
+       BrightnessMain *client;
+};
+
+class BrightnessReset : public BC_GenericButton
+{
+public:
+       BrightnessReset(BrightnessMain *client, BrightnessWindow *window, int x, int y);
+       ~BrightnessReset();
+       int handle_event();
+       BrightnessMain *client;
+       BrightnessWindow *window;
+};
 
+class BrightnessClr : public BC_Button
+{
+public:
+       BrightnessClr(BrightnessMain *client, BrightnessWindow *window, int x, int y, int clear);
+       ~BrightnessClr();
+       int handle_event();
        BrightnessMain *client;
+       BrightnessWindow *window;
+       int clear;
 };
 
 #endif