Credit Andrew - updating patches for FFmpeg 7.0 as needed since 6.1, now at 7.0,...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / sharpen / sharpenwindow.h
index 2376fa9665b04a2de5a2f336affda2ae9846e86c..7f37bbd7bbf5b308e68ee70b3442444e3d03101e 100644 (file)
 #define SHARPENWINDOW_H
 
 #include "guicast.h"
-
-class SharpenWindow;
-class SharpenInterlace;
-
 #include "filexml.h"
 #include "mutex.h"
 #include "sharpen.h"
+#include "theme.h"
 
+#define RESET_DEFAULT_SETTINGS 10
+#define RESET_ALL 0
+#define RESET_SHARPEN 1
 
-
-
-
-
+class SharpenWindow;
+class SharpenInterlace;
+class SharpenText;
 class SharpenSlider;
 class SharpenHorizontal;
 class SharpenLuminance;
+class SharpenReset;
+class SharpenDefaultSettings;
+class SharpenClr;
 
 class SharpenWindow : public PluginClientWindow
 {
@@ -47,23 +49,42 @@ public:
        ~SharpenWindow();
 
        void create_objects();
+       void update_gui(int clear);
 
        SharpenMain *client;
+
+       SharpenText *sharpen_text;
        SharpenSlider *sharpen_slider;
+       SharpenClr *sharpen_Clr;
+
        SharpenInterlace *sharpen_interlace;
        SharpenHorizontal *sharpen_horizontal;
        SharpenLuminance *sharpen_luminance;
+
+       SharpenReset *reset;
+       SharpenDefaultSettings *default_settings;
+};
+
+class SharpenText : public BC_TumbleTextBox
+{
+public:
+       SharpenText(SharpenMain *client, SharpenWindow *gui, int x, int y);
+       ~SharpenText();
+       int handle_event();
+
+       SharpenMain *client;
+       SharpenWindow *gui;
 };
 
 class SharpenSlider : public BC_ISlider
 {
 public:
-       SharpenSlider(SharpenMain *client, float *output, int x, int y);
+       SharpenSlider(SharpenMain *client, SharpenWindow *gui, int x, int y, int w);
        ~SharpenSlider();
        int handle_event();
 
+       SharpenWindow *gui;
        SharpenMain *client;
-       float *output;
 };
 
 class SharpenInterlace : public BC_CheckBox
@@ -96,5 +117,34 @@ public:
        SharpenMain *client;
 };
 
+class SharpenReset : public BC_GenericButton
+{
+public:
+       SharpenReset(SharpenMain *client, SharpenWindow *gui, int x, int y);
+       ~SharpenReset();
+       int handle_event();
+       SharpenMain *client;
+       SharpenWindow *gui;
+};
+
+class SharpenDefaultSettings : public BC_GenericButton
+{
+public:
+       SharpenDefaultSettings(SharpenMain *client, SharpenWindow *gui, int x, int y, int w);
+       ~SharpenDefaultSettings();
+       int handle_event();
+       SharpenMain *client;
+       SharpenWindow *gui;
+};
+
+class SharpenClr : public BC_Button
+{
+public:
+       SharpenClr(SharpenMain *client, SharpenWindow *gui, int x, int y);
+       ~SharpenClr();
+       int handle_event();
+       SharpenMain *client;
+       SharpenWindow *gui;
+};
 
 #endif