modify clr btn 16 plugins, add regdmp for sigtraps, rework mask_engine, mask rotate...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / yuvshift / yuvshift.h
index c943f5b7647283c6aa4cef3cf2bc88ead6943b72..b6dfae8b24370a9528802d5b93ccada584730f29 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_Y_DX 1
+#define RESET_Y_DY 2
+#define RESET_U_DX 3
+#define RESET_U_DY 4
+#define RESET_V_DX 5
+#define RESET_V_DY 6
 
 class YUVShiftEffect;
 class YUVShiftWindow;
 class YUVShiftReset;
+class YUVShiftSliderClr;
 
 
 class YUVShiftConfig
@@ -46,7 +55,7 @@ class YUVShiftConfig
 public:
        YUVShiftConfig();
 
-       void reset();
+       void reset(int clear);
        void copy_from(YUVShiftConfig &src);
        int equivalent(YUVShiftConfig &src);
        void interpolate(YUVShiftConfig &prev,
@@ -77,15 +86,29 @@ public:
        YUVShiftWindow *window;
 };
 
+class YUVShiftSliderClr : public BC_Button
+{
+public:
+       YUVShiftSliderClr(YUVShiftEffect *plugin, YUVShiftWindow *window, int x, int y, int w, int clear);
+       ~YUVShiftSliderClr();
+       int handle_event();
+       YUVShiftEffect *plugin;
+       YUVShiftWindow *window;
+       int clear;
+};
+
 class YUVShiftWindow : public PluginClientWindow
 {
 public:
        YUVShiftWindow(YUVShiftEffect *plugin);
        void create_objects();
-       void update();
+       void update_gui(int clear);
        YUVShiftLevel *y_dx, *y_dy, *u_dx, *u_dy, *v_dx, *v_dy;
        YUVShiftEffect *plugin;
        YUVShiftReset *reset;
+       YUVShiftSliderClr *y_dxClr, *y_dyClr;
+       YUVShiftSliderClr *u_dxClr, *u_dyClr;
+       YUVShiftSliderClr *v_dxClr, *v_dyClr;
 };