#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
+#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,
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;
+};
~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;
};