modify clr btn 16 plugins, add regdmp for sigtraps, rework mask_engine, mask rotate...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / linearblur / linearblur.h
index b0dfc7ed64b091209363c612a92519a99ab8d1ef..676f033190cb27ad5fc5275c2c2d06f657a35fb1 100644 (file)
 #include "pluginvclient.h"
 #include "vframe.h"
 
-
+#define RESET_DEFAULT_SETTINGS 10
+#define RESET_ALL    0
+#define RESET_RADIUS 1
+#define RESET_ANGLE  2
+#define RESET_STEPS  3
 
 class LinearBlurMain;
 class LinearBlurWindow;
 class LinearBlurEngine;
 class LinearBlurReset;
-
+class LinearBlurDefaultSettings;
+class LinearBlurSliderClr;
 
 
 
@@ -52,7 +57,7 @@ class LinearBlurConfig
 public:
        LinearBlurConfig();
 
-       void reset();
+       void reset(int clear);
        int equivalent(LinearBlurConfig &that);
        void copy_from(LinearBlurConfig &that);
        void interpolate(LinearBlurConfig &prev,
@@ -109,6 +114,27 @@ public:
        LinearBlurWindow *gui;
 };
 
+class LinearBlurDefaultSettings : public BC_GenericButton
+{
+public:
+       LinearBlurDefaultSettings(LinearBlurMain *plugin, LinearBlurWindow *gui, int x, int y, int w);
+       ~LinearBlurDefaultSettings();
+       int handle_event();
+       LinearBlurMain *plugin;
+       LinearBlurWindow *gui;
+};
+
+class LinearBlurSliderClr : public BC_Button
+{
+public:
+       LinearBlurSliderClr(LinearBlurMain *plugin, LinearBlurWindow *gui, int x, int y, int w, int clear);
+       ~LinearBlurSliderClr();
+       int handle_event();
+       LinearBlurMain *plugin;
+       LinearBlurWindow *gui;
+       int clear;
+};
+
 class LinearBlurWindow : public PluginClientWindow
 {
 public:
@@ -116,12 +142,16 @@ public:
        ~LinearBlurWindow();
 
        void create_objects();
-       void update();
+       void update_gui(int clear);
 
        LinearBlurSize *angle, *steps, *radius;
        LinearBlurToggle *r, *g, *b, *a;
        LinearBlurMain *plugin;
        LinearBlurReset *reset;
+       LinearBlurDefaultSettings *default_settings;
+       LinearBlurSliderClr *radiusClr;
+       LinearBlurSliderClr *angleClr;
+       LinearBlurSliderClr *stepsClr;
 };