X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmaskauto.h;h=31a11b92bccb3b2ee32c6085ce97dce539aef96c;hb=7ead9f7382846e81c2f8efb25780014e5f8834c3;hp=1bae9ab8a7a375e3d28887b9fc1becc13d3f3c14;hpb=2f5f5847bfeea491f69f5314dcbccaf6de4b22e4;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/maskauto.h b/cinelerra-5.1/cinelerra/maskauto.h index 1bae9ab8..31a11b92 100644 --- a/cinelerra-5.1/cinelerra/maskauto.h +++ b/cinelerra-5.1/cinelerra/maskauto.h @@ -44,13 +44,14 @@ public: float control_x2, control_y2; }; +#define FEATHER_MAX 100 + class SubMask { public: SubMask(MaskAuto *keyframe, int no); ~SubMask(); -// Don't use == int operator==(SubMask& ptr); int equivalent(SubMask& ptr); void copy_from(SubMask& ptr); @@ -59,6 +60,8 @@ public: void dump(); char name[BCSTRLEN]; + float fader; // 0 - 100 + float feather; // 0 - 100 ArrayList points; MaskAuto *keyframe; }; @@ -98,15 +101,56 @@ public: ArrayList masks; // These are constant for the entire track - int mode; - float feather; -// 0 - 100 - int value; int apply_before_plugins; 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; }; + +class MaskSpots : public ArrayList +{ +public: + MaskSpot &append() { return ArrayList::append(); } + MaskSpot &append(double x, double y) { + MaskSpot &s = append(); + s.x = x; s.y = y; + return s; + } +}; +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