modify clr btn 16 plugins, add regdmp for sigtraps, rework mask_engine, mask rotate...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / wave / wave.h
index 99d11d34cff6218da2b0385b9d060bb39b4daa96..e8ba8d0ace5a58744b196fc06db120d0b5bf087f 100644 (file)
@@ -32,6 +32,7 @@
 #include "language.h"
 #include "loadbalance.h"
 #include "pluginvclient.h"
+#include "theme.h"
 #include "vframe.h"
 
 #include <math.h>
 #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
 
 class WaveEffect;
 class WaveWindow;
 class WaveReset;
+class WaveDefaultSettings;
+class WaveSliderClr;
 
 class WaveConfig
 {
 public:
        WaveConfig();
 
-       void reset();
+       void reset(int clear);
        void copy_from(WaveConfig &src);
        int equivalent(WaveConfig &src);
        void interpolate(WaveConfig &prev,
@@ -131,7 +138,26 @@ public:
        WaveWindow *gui;
 };
 
+class WaveDefaultSettings : public BC_GenericButton
+{
+public:
+       WaveDefaultSettings(WaveEffect *plugin, WaveWindow *gui, int x, int y, int w);
+       ~WaveDefaultSettings();
+       int handle_event();
+       WaveEffect *plugin;
+       WaveWindow *gui;
+};
 
+class WaveSliderClr : public BC_Button
+{
+public:
+       WaveSliderClr(WaveEffect *plugin, WaveWindow *gui, int x, int y, int w, int clear);
+       ~WaveSliderClr();
+       int handle_event();
+       WaveEffect *plugin;
+       WaveWindow *gui;
+       int clear;
+};
 
 
 
@@ -144,7 +170,7 @@ public:
        ~WaveWindow();
        void create_objects();
        void update_mode();
-       void update();
+       void update_gui(int clear);
 
        WaveEffect *plugin;
 //     WaveSmear *smear;
@@ -154,6 +180,10 @@ public:
        WavePhase *phase;
        WaveLength *wavelength;
        WaveReset *reset;
+       WaveDefaultSettings *default_settings;
+       WaveSliderClr *amplitudeClr;
+       WaveSliderClr *phaseClr;
+       WaveSliderClr *wavelengthClr;
 };