X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmaskauto.h;h=a3baeb442813216fa5c622682ac16d8296054686;hb=8e67d840c5a93f77de021102a4f0bfc4e07504f4;hp=acc035c68b4eb6fdb6e1cf7b88225ebb1ca6d11b;hpb=3f801b05e0de577b00e98019b099ed38d66b9550;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/maskauto.h b/cinelerra-5.1/cinelerra/maskauto.h index acc035c6..a3baeb44 100644 --- a/cinelerra-5.1/cinelerra/maskauto.h +++ b/cinelerra-5.1/cinelerra/maskauto.h @@ -44,6 +44,41 @@ public: float control_x2, control_y2; }; +class MaskCoord { public: double x, y, z; }; + +class MaskEdge : public ArrayList +{ +public: + MaskCoord &append(double x, double y, double z=0) { + MaskCoord &c = ArrayList::append(); + c.x = x; c.y = y; c.z = z; + return c; + } + void load(MaskPoints &points, float ofs); +}; + +class MaskEdges : public ArrayList { +public: + MaskEdges() {} + ~MaskEdges() { remove_all_objects(); } +}; + +class MaskPoints : public ArrayList +{ +public: + void clear() { remove_all_objects(); } + MaskPoints() {} + ~MaskPoints() { clear(); } +}; + +class MaskPointSets : public ArrayList +{ +public: + void clear() { remove_all_objects(); } + MaskPointSets() {} + ~MaskPointSets() { clear(); } +}; + #define FEATHER_MAX 100 class SubMask @@ -62,7 +97,7 @@ public: char name[BCSTRLEN]; float fader; // -100 - 100 float feather; // -100 - 100 - ArrayList points; + MaskPoints points; MaskAuto *keyframe; }; @@ -83,9 +118,9 @@ public: void copy_from(MaskAuto *src); // Copy data but not position void copy_data(MaskAuto *src); - void get_points(ArrayList *points, + void get_points(MaskPoints *points, int submask); - void set_points(ArrayList *points, + void set_points(MaskPoints *points, int submask); // Copy parameters to this which differ between ref & src @@ -105,19 +140,6 @@ public: int disable_opengl_masking; }; -class MaskCoord { public: double x, y, z; }; - -class MaskEdge : public ArrayList -{ -public: - MaskCoord &append() { return ArrayList::append(); } - MaskCoord &append(double x, double y, double z=0) { - MaskCoord &c = append(); - c.x = x; c.y = y; c.z = z; - return c; - } -}; - // shader buffer unsized array vec only seems to work for dvec (05/2019) class MaskSpot { public: double x, y; }; @@ -132,25 +154,4 @@ public: } }; -class MaskEdges : public ArrayList { -public: - MaskEdges() {} - ~MaskEdges() { remove_all_objects(); } -}; - -class MaskPointSet : public ArrayList -{ -public: - void clear() { remove_all_objects(); } - MaskPointSet() {} - ~MaskPointSet() { clear(); } -}; -class MaskPointSets : public ArrayList -{ -public: - void clear() { remove_all_objects(); } - MaskPointSets() {} - ~MaskPointSets() { clear(); } -}; - #endif