modify clr btn 16 plugins, add regdmp for sigtraps, rework mask_engine, mask rotate...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / rgbshift / rgbshift.h
index 2092dc0..4d71e6a 100644 (file)
 #include "language.h"
 #include "bccolors.h"
 #include "pluginvclient.h"
+#include "theme.h"
 #include "vframe.h"
 
 #include <stdint.h>
 #include <string.h>
 
+#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 RGBShiftReset;
+class RGBShiftSliderClr;
 
 
 class RGBShiftConfig
@@ -47,7 +56,7 @@ class RGBShiftConfig
 public:
        RGBShiftConfig();
 
-       void reset();
+       void reset(int clear);
        void copy_from(RGBShiftConfig &src);
        int equivalent(RGBShiftConfig &src);
        void interpolate(RGBShiftConfig &prev,
@@ -78,15 +87,29 @@ public:
        RGBShiftWindow *window;
 };
 
+class RGBShiftSliderClr : public BC_Button
+{
+public:
+       RGBShiftSliderClr(RGBShiftEffect *plugin, RGBShiftWindow *window, int x, int y, int w, int clear);
+       ~RGBShiftSliderClr();
+       int handle_event();
+       RGBShiftEffect *plugin;
+       RGBShiftWindow *window;
+       int clear;
+};
+
 class RGBShiftWindow : public PluginClientWindow
 {
 public:
        RGBShiftWindow(RGBShiftEffect *plugin);
        void create_objects();
-       void update();
+       void update_gui(int clear);
        RGBShiftLevel *r_dx, *r_dy, *g_dx, *g_dy, *b_dx, *b_dy;
        RGBShiftEffect *plugin;
        RGBShiftReset *reset;
+       RGBShiftSliderClr *r_dxClr, *r_dyClr;
+       RGBShiftSliderClr *g_dxClr, *g_dyClr;
+       RGBShiftSliderClr *b_dxClr, *b_dyClr;
 };