anonymous contribution for improved Chromakey plugin to include sliders, textbox...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / tracer / tracer.h
index cc2364e5edc36b97b4744e99c71e5096e3403e9b..d2cfc0caa97e2187a8723f3a25b3b3fb9e025ff2 100644 (file)
@@ -37,6 +37,7 @@ public:
 
        TracerPoint(float x, float y);
        ~TracerPoint();
+       void update_parameter(TracerPoint *prev, TracerPoint *src);
 };
 class TracerPoints : public ArrayList<TracerPoint *>
 {
@@ -52,6 +53,8 @@ public:
        ~TracerConfig();
 
        int equivalent(TracerConfig &that);
+       void save_data(KeyFrame *keyframe);
+       void read_data(KeyFrame *keyframe);
        void copy_from(TracerConfig &that);
        void interpolate(TracerConfig &prev, TracerConfig &next,
                long prev_frame, long next_frame, long current_frame);
@@ -62,10 +65,9 @@ public:
        int add_point();
        void del_point(int i);
 
-       int drag, draw, fill;
-       int radius;
-       double scale; 
-       int selected;
+       int draw, fill;
+       int invert, feather;
+       float radius; 
 };
 
 class TracePoint
@@ -100,6 +102,8 @@ public:
        PLUGIN_CLASS_MEMBERS2(TracerConfig)
        int is_realtime();
        void update_gui();
+       void render_gui(void *data);
+       int is_dragging();
        int new_point();
        void save_data(KeyFrame *keyframe);
        void read_data(KeyFrame *keyframe);
@@ -113,6 +117,10 @@ public:
        int smooth();
        void feather(int r, double s);
        int load_configuration1();
+       void span_keyframes(KeyFrame *src, int64_t start, int64_t end);
+       void update_parameter(TracerPoint *prev, TracerPoint *src);
+       void update_parameter(TracerConfig &prev_config, TracerConfig &src_config,
+                KeyFrame *keyframe);
 
        VFrame *edg, *msk, *frm;
        uint8_t **edg_rows;
@@ -125,6 +133,7 @@ public:
        int color_model, bpp;
        int is_float, is_yuv, has_alpha;
        int comps, comp;
+       int drag, selected;
 };
 
 #endif