X-Git-Url: https://cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fwave%2Fwave.h;h=37a080b1aa84c2ce284d90aefd742ea8f65c1327;hb=1a2c313b568030b465b165089f0b90730d17884d;hp=99d11d34cff6218da2b0385b9d060bb39b4daa96;hpb=e375434717622cc3198a6bf9f7b7fb9fde555c21;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/plugins/wave/wave.h b/cinelerra-5.1/plugins/wave/wave.h index 99d11d34..37a080b1 100644 --- a/cinelerra-5.1/plugins/wave/wave.h +++ b/cinelerra-5.1/plugins/wave/wave.h @@ -32,6 +32,7 @@ #include "language.h" #include "loadbalance.h" #include "pluginvclient.h" +#include "theme.h" #include "vframe.h" #include @@ -44,18 +45,33 @@ #define SMEAR 0 #define BLACKEN 1 +#define RESET_DEFAULT_SETTINGS 10 +#define RESET_ALL 0 +#define RESET_AMPLITUDE 1 +#define RESET_PHASE 2 +#define RESET_WAVELENGTH 3 +#define AMPLITUDE_MIN 0.00 +#define AMPLITUDE_MAX 100.00 +#define PHASE_MIN 0.00 +#define PHASE_MAX 360.00 +#define WAVELENGTH_MIN 0.00 +#define WAVELENGTH_MAX 50.00 class WaveEffect; class WaveWindow; +class WaveFText; +class WaveFSlider; class WaveReset; +class WaveDefaultSettings; +class WaveClr; class WaveConfig { public: WaveConfig(); - void reset(); + void reset(int clear); void copy_from(WaveConfig &src); int equivalent(WaveConfig &src); void interpolate(WaveConfig &prev, @@ -97,41 +113,64 @@ public: WaveEffect *plugin; }; -class WaveAmplitude : public BC_FSlider + +class WaveFText : public BC_TumbleTextBox { public: - WaveAmplitude(WaveEffect *plugin, int x, int y); + WaveFText(WaveWindow *gui, WaveEffect *plugin, + WaveFSlider *slider, float *output, int x, int y, float min, float max); + ~WaveFText(); int handle_event(); + WaveWindow *gui; WaveEffect *plugin; + WaveFSlider *slider; + float *output; + float min, max; }; -class WavePhase : public BC_FSlider +class WaveFSlider : public BC_FSlider { public: - WavePhase(WaveEffect *plugin, int x, int y); + WaveFSlider(WaveEffect *plugin, + WaveFText *text, float *output, int x, int y, + float min, float max); + ~WaveFSlider(); int handle_event(); WaveEffect *plugin; + WaveFText *text; + float *output; }; -class WaveLength : public BC_FSlider +class WaveReset : public BC_GenericButton { public: - WaveLength(WaveEffect *plugin, int x, int y); + WaveReset(WaveEffect *plugin, WaveWindow *gui, int x, int y); + ~WaveReset(); int handle_event(); WaveEffect *plugin; + WaveWindow *gui; }; -class WaveReset : public BC_GenericButton +class WaveDefaultSettings : public BC_GenericButton { public: - WaveReset(WaveEffect *plugin, WaveWindow *gui, int x, int y); - ~WaveReset(); + WaveDefaultSettings(WaveEffect *plugin, WaveWindow *gui, int x, int y, int w); + ~WaveDefaultSettings(); int handle_event(); WaveEffect *plugin; WaveWindow *gui; }; - +class WaveClr : public BC_Button +{ +public: + WaveClr(WaveEffect *plugin, WaveWindow *gui, int x, int y, int clear); + ~WaveClr(); + int handle_event(); + WaveEffect *plugin; + WaveWindow *gui; + int clear; +}; @@ -144,16 +183,27 @@ public: ~WaveWindow(); void create_objects(); void update_mode(); - void update(); + void update_gui(int clear); WaveEffect *plugin; // WaveSmear *smear; // WaveBlacken *blacken; // WaveReflective *reflective; - WaveAmplitude *amplitude; - WavePhase *phase; - WaveLength *wavelength; + + WaveFText *amplitude_text; + WaveFSlider *amplitude_slider; + WaveClr *amplitude_Clr; + + WaveFText *phase_text; + WaveFSlider *phase_slider; + WaveClr *phase_Clr; + + WaveFText *wavelength_text; + WaveFSlider *wavelength_slider; + WaveClr *wavelength_Clr; + WaveReset *reset; + WaveDefaultSettings *default_settings; };