#include "language.h"
#include "bccolors.h"
#include "pluginvclient.h"
+#include "theme.h"
#include "vframe.h"
#include <stdint.h>
#include <string.h>
+#define MAXVALUE 100
+
+#define RESET_ALL 0
+#define RESET_R_DX 1
+#define RESET_R_DY 2
+#define RESET_G_DX 3
+#define RESET_G_DY 4
+#define RESET_B_DX 5
+#define RESET_B_DY 6
class RGBShiftEffect;
class RGBShiftWindow;
+class RGBShiftIText;
+class RGBShiftISlider;
class RGBShiftReset;
+class RGBShiftClr;
class RGBShiftConfig
public:
RGBShiftConfig();
- void reset();
+ void reset(int clear);
void copy_from(RGBShiftConfig &src);
int equivalent(RGBShiftConfig &src);
void interpolate(RGBShiftConfig &prev,
int r_dx, r_dy, g_dx, g_dy, b_dx, b_dy;
};
-class RGBShiftLevel : public BC_ISlider
+class RGBShiftIText : public BC_TumbleTextBox
+{
+public:
+ RGBShiftIText(RGBShiftWindow *window, RGBShiftEffect *plugin,
+ RGBShiftISlider *slider, int *output, int x, int y, int min, int max);
+ ~RGBShiftIText();
+ int handle_event();
+ RGBShiftWindow *window;
+ RGBShiftEffect *plugin;
+ RGBShiftISlider *slider;
+ int *output;
+ int min, max;
+};
+
+class RGBShiftISlider : public BC_ISlider
{
public:
- RGBShiftLevel(RGBShiftEffect *plugin, int *output, int x, int y);
+ RGBShiftISlider(RGBShiftEffect *plugin, RGBShiftIText *text, int *output, int x, int y);
int handle_event();
RGBShiftEffect *plugin;
+ RGBShiftIText *text;
int *output;
};
RGBShiftWindow *window;
};
+class RGBShiftClr : public BC_Button
+{
+public:
+ RGBShiftClr(RGBShiftEffect *plugin, RGBShiftWindow *window, int x, int y, int clear);
+ ~RGBShiftClr();
+ int handle_event();
+ RGBShiftEffect *plugin;
+ RGBShiftWindow *window;
+ int clear;
+};
+
class RGBShiftWindow : public PluginClientWindow
{
public:
RGBShiftWindow(RGBShiftEffect *plugin);
void create_objects();
- void update();
- RGBShiftLevel *r_dx, *r_dy, *g_dx, *g_dy, *b_dx, *b_dy;
+ void update_gui(int clear);
+
+ RGBShiftIText *r_dx_text;
+ RGBShiftISlider *r_dx_slider;
+ RGBShiftClr *r_dx_Clr;
+ RGBShiftIText *r_dy_text;
+ RGBShiftISlider *r_dy_slider;
+ RGBShiftClr *r_dy_Clr;
+
+ RGBShiftIText *g_dx_text;
+ RGBShiftISlider *g_dx_slider;
+ RGBShiftClr *g_dx_Clr;
+ RGBShiftIText *g_dy_text;
+ RGBShiftISlider *g_dy_slider;
+ RGBShiftClr *g_dy_Clr;
+
+ RGBShiftIText *b_dx_text;
+ RGBShiftISlider *b_dx_slider;
+ RGBShiftClr *b_dx_Clr;
+ RGBShiftIText *b_dy_text;
+ RGBShiftISlider *b_dy_slider;
+ RGBShiftClr *b_dy_Clr;
+
RGBShiftEffect *plugin;
RGBShiftReset *reset;
};