Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

maskauto.h

Go to the documentation of this file.
00001 #ifndef MASKAUTO_H
00002 #define MASKAUTO_H
00003 
00004 
00005 #include "arraylist.h"
00006 #include "auto.h"
00007 #include "maskauto.inc"
00008 #include "maskautos.inc"
00009 
00010 class MaskPoint
00011 {
00012 public:
00013         MaskPoint();
00014 
00015         int operator==(MaskPoint& ptr);
00016         MaskPoint& operator=(MaskPoint& ptr);
00017 
00018         float x, y;
00019 // Incoming acceleration
00020         float control_x1, control_y1;
00021 // Outgoing acceleration
00022         float control_x2, control_y2;
00023 };
00024 
00025 class SubMask
00026 {
00027 public:
00028         SubMask(MaskAuto *keyframe);
00029         ~SubMask();
00030 
00031         int operator==(SubMask& ptr);
00032         void copy_from(SubMask& ptr);
00033         void load(FileXML *file);
00034         void copy(FileXML *file);
00035         void dump();
00036 
00037         ArrayList<MaskPoint*> points;
00038         MaskAuto *keyframe;
00039 };
00040 
00041 class MaskAuto : public Auto
00042 {
00043 public:
00044         MaskAuto(EDL *edl, MaskAutos *autos);
00045         ~MaskAuto();
00046         
00047         int operator==(Auto &that);
00048         int operator==(MaskAuto &that);
00049         int identical(MaskAuto *src);
00050         void load(FileXML *file);
00051         void copy(int64_t start, int64_t end, FileXML *file, int default_auto);
00052         void copy_from(Auto *src);
00053         int interpolate_from(Auto *a1, Auto *a2, int64_t position); 
00054         void copy_from(MaskAuto *src);
00055 
00056         void dump();
00057 // Retrieve submask with clamping
00058         SubMask* get_submask(int number);
00059 // Translates all submasks      
00060         void translate_submasks(float translate_x, float translate_y);  
00061 
00062 
00063         ArrayList<SubMask*> masks;
00064 // These are constant for the entire track
00065         int mode;
00066         float feather;
00067 // 0 - 100
00068         int value;
00069 };
00070 
00071 
00072 
00073 
00074 #endif

Generated on Sun Jan 8 13:38:57 2006 for Cinelerra-svn by  doxygen 1.4.4