X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Flinearblur%2Flinearblur.h;h=676f033190cb27ad5fc5275c2c2d06f657a35fb1;hb=refs%2Fheads%2Fmaster;hp=b0dfc7ed64b091209363c612a92519a99ab8d1ef;hpb=e375434717622cc3198a6bf9f7b7fb9fde555c21;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/plugins/linearblur/linearblur.h b/cinelerra-5.1/plugins/linearblur/linearblur.h index b0dfc7ed..5180ec65 100644 --- a/cinelerra-5.1/plugins/linearblur/linearblur.h +++ b/cinelerra-5.1/plugins/linearblur/linearblur.h @@ -37,13 +37,27 @@ #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 + +#define RADIUS_MIN 0 +#define RADIUS_MAX 100 +#define ANGLE_MAX 180 +#define STEPS_MIN 1 +#define STEPS_MAX 200 class LinearBlurMain; class LinearBlurWindow; class LinearBlurEngine; +class LinearBlurIText; +class LinearBlurISlider; +class LinearBlurToggle; class LinearBlurReset; - +class LinearBlurDefaultSettings; +class LinearBlurClr; @@ -52,7 +66,7 @@ class LinearBlurConfig public: LinearBlurConfig(); - void reset(); + void reset(int clear); int equivalent(LinearBlurConfig &that); void copy_from(LinearBlurConfig &that); void interpolate(LinearBlurConfig &prev, @@ -86,6 +100,33 @@ public: int *output; }; +class LinearBlurIText : public BC_TumbleTextBox +{ +public: + LinearBlurIText(LinearBlurWindow *gui, LinearBlurMain *plugin, + LinearBlurISlider *slider, int *output, int x, int y, int min, int max); + ~LinearBlurIText(); + int handle_event(); + LinearBlurWindow *gui; + LinearBlurMain *plugin; + LinearBlurISlider *slider; + int *output; + int min, max; +}; + +class LinearBlurISlider : public BC_ISlider +{ +public: + LinearBlurISlider(LinearBlurMain *plugin, + LinearBlurIText *text, int *output, int x, int y, + int min, int max, int w); + ~LinearBlurISlider(); + int handle_event(); + LinearBlurMain *plugin; + LinearBlurIText *text; + int *output; +}; + class LinearBlurToggle : public BC_CheckBox { public: @@ -109,6 +150,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 LinearBlurClr : public BC_Button +{ +public: + LinearBlurClr(LinearBlurMain *plugin, LinearBlurWindow *gui, int x, int y, int clear); + ~LinearBlurClr(); + int handle_event(); + LinearBlurMain *plugin; + LinearBlurWindow *gui; + int clear; +}; + class LinearBlurWindow : public PluginClientWindow { public: @@ -116,12 +178,24 @@ public: ~LinearBlurWindow(); void create_objects(); - void update(); + void update_gui(int clear); + + LinearBlurIText *radius_text; + LinearBlurISlider *radius_slider; + LinearBlurClr *radius_Clr; + + LinearBlurIText *angle_text; + LinearBlurISlider *angle_slider; + LinearBlurClr *angle_Clr; + + LinearBlurIText *steps_text; + LinearBlurISlider *steps_slider; + LinearBlurClr *steps_Clr; - LinearBlurSize *angle, *steps, *radius; LinearBlurToggle *r, *g, *b, *a; LinearBlurMain *plugin; LinearBlurReset *reset; + LinearBlurDefaultSettings *default_settings; };