remove previous sources and wrong name
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / zoomblur / zoomblur.h
index 32a00f1cb76b252a5a0c31fd3f3bff6046be1a07..6338f5c0f4f4ab67ce477ed40824618698a4275d 100644 (file)
 #include "language.h"
 #include "loadbalance.h"
 #include "pluginvclient.h"
+#include "theme.h"
 #include "vframe.h"
 
+#define RESET_DEFAULT_SETTINGS 10
+#define RESET_ALL     0
+#define RESET_XSLIDER 1
+#define RESET_YSLIDER 2
+#define RESET_RADIUS  3
+#define RESET_STEPS   4
 
+#define XY_MIN       0
+#define XY_MAX     100
+#define RADIUS_MAX 100
+#define STEPS_MIN    1
+#define STEPS_MAX  100
 
 class ZoomBlurMain;
 class ZoomBlurWindow;
 class ZoomBlurEngine;
+class ZoomBlurIText;
+class ZoomBlurISlider;
+class ZoomBlurToggle;
 class ZoomBlurReset;
-
+class ZoomBlurDefaultSettings;
+class ZoomBlurClr;
 
 
 
@@ -49,7 +65,7 @@ class ZoomBlurConfig
 public:
        ZoomBlurConfig();
 
-       void reset();
+       void reset(int clear);
        int equivalent(ZoomBlurConfig &that);
        void copy_from(ZoomBlurConfig &that);
        void interpolate(ZoomBlurConfig &prev,
@@ -70,17 +86,31 @@ public:
 
 
 
-class ZoomBlurSize : public BC_ISlider
+
+class ZoomBlurIText : public BC_TumbleTextBox
 {
 public:
-       ZoomBlurSize(ZoomBlurMain *plugin,
-               int x,
-               int y,
-               int *output,
-               int min,
-               int max);
+       ZoomBlurIText(ZoomBlurWindow *window, ZoomBlurMain *plugin,
+               ZoomBlurISlider *slider, int *output, int x, int y, int min, int max);
+       ~ZoomBlurIText();
+       int handle_event();
+       ZoomBlurWindow *window;
+       ZoomBlurMain *plugin;
+       ZoomBlurISlider *slider;
+       int *output;
+       int min, max;
+};
+
+class ZoomBlurISlider : public BC_ISlider
+{
+public:
+       ZoomBlurISlider(ZoomBlurMain *plugin,
+               ZoomBlurIText *text, int *output, int x, int y,
+               int min, int max, int w);
+       ~ZoomBlurISlider();
        int handle_event();
        ZoomBlurMain *plugin;
+       ZoomBlurIText *text;
        int *output;
 };
 
@@ -104,12 +134,28 @@ public:
        ~ZoomBlurWindow();
 
        void create_objects();
-       void update();
+       void update_gui(int clear);
+
+       ZoomBlurIText *x_text;
+       ZoomBlurISlider *x_slider;
+       ZoomBlurClr *x_Clr;
+
+       ZoomBlurIText *y_text;
+       ZoomBlurISlider *y_slider;
+       ZoomBlurClr *y_Clr;
+
+       ZoomBlurIText *radius_text;
+       ZoomBlurISlider *radius_slider;
+       ZoomBlurClr *radius_Clr;
+
+       ZoomBlurIText *steps_text;
+       ZoomBlurISlider *steps_slider;
+       ZoomBlurClr *steps_Clr;
 
-       ZoomBlurSize *x, *y, *radius, *steps;
        ZoomBlurToggle *r, *g, *b, *a;
        ZoomBlurMain *plugin;
        ZoomBlurReset *reset;
+       ZoomBlurDefaultSettings *default_settings;
 };
 
 class ZoomBlurReset : public BC_GenericButton
@@ -122,6 +168,27 @@ public:
        ZoomBlurWindow *window;
 };
 
+class ZoomBlurDefaultSettings : public BC_GenericButton
+{
+public:
+       ZoomBlurDefaultSettings(ZoomBlurMain *plugin, ZoomBlurWindow *window, int x, int y, int w);
+       ~ZoomBlurDefaultSettings();
+       int handle_event();
+       ZoomBlurMain *plugin;
+       ZoomBlurWindow *window;
+};
+
+
+class ZoomBlurClr : public BC_Button
+{
+public:
+       ZoomBlurClr(ZoomBlurMain *plugin, ZoomBlurWindow *window, int x, int y, int clear);
+       ~ZoomBlurClr();
+       int handle_event();
+       ZoomBlurMain *plugin;
+       ZoomBlurWindow *window;
+       int clear;
+};