GSOC 2013 paint
[blender.git] / source / blender / makesdna / DNA_curve_types.h
index 2d3a28fbd41b5bf3e6f2a34186f85fcc03d64ea0..d638d20c6a542a58fdedbc8266795368ef00e6a8 100644 (file)
@@ -68,16 +68,6 @@ typedef struct Path {
        float totdist;
 } Path;
 
-/* These two Lines with # tell makesdna this struct can be excluded. */
-#
-#
-typedef struct BevList {
-       struct BevList *next, *prev;
-       int nr, dupe_nr;
-       int poly, hole;
-       int charidx;
-} BevList;
-
 /* These two Lines with # tell makesdna this struct can be excluded. */
 #
 #
@@ -88,6 +78,19 @@ typedef struct BevPoint {
        short split_tag, dupe_tag;
 } BevPoint;
 
+/* These two Lines with # tell makesdna this struct can be excluded. */
+#
+#
+typedef struct BevList {
+       struct BevList *next, *prev;
+       int nr, dupe_nr;
+       int poly, hole;
+       int charidx;
+
+       /* over-alloc */
+       BevPoint bevpoints[0];
+} BevList;
+
 /**
  * Keyframes on F-Curves (allows code reuse of Bezier eval code) and
  * Points on Bezier Curves/Paths are generally BezTriples 
@@ -109,18 +112,18 @@ typedef struct BezTriple {
        float vec[3][3];
        float alfa, weight, radius;     /* alfa: tilt in 3D View, weight: used for softbody goal weight, radius: for bevel tapering */
        
-       short ipo;                                      /* ipo: interpolation mode for segment from this BezTriple to the next */
+       char ipo;                                       /* ipo: interpolation mode for segment from this BezTriple to the next */
        
        char h1, h2;                            /* h1, h2: the handle type of the two handles */
        char f1, f2, f3;                        /* f1, f2, f3: used for selection status */
        
        char hide;                                      /* hide: used to indicate whether BezTriple is hidden (3D), type of keyframe (eBezTriple_KeyframeTypes) */
        
+       char easing;                            /* easing: easing type for interpolation mode (eBezTriple_Easing) */
        float back;                                     /* BEZT_IPO_BACK */
        float amplitude, period;        /* BEZT_IPO_ELASTIC */
-       char easing;                            /* easing: easing type for interpolation mode (eBezTriple_Easing) */
-       
-       char pad[3];
+
+       char  pad[4];
 } BezTriple;
 
 /* note; alfa location in struct is abused by Key system */
@@ -380,9 +383,11 @@ typedef enum eBezTriple_Interpolation {
 
 /* easing modes (used only for Keyframes - BezTriple->easing) */
 typedef enum eBezTriple_Easing {
-       BEZT_IPO_EASE_IN = 0,
-       BEZT_IPO_EASE_OUT = 1,
-       BEZT_IPO_EASE_IN_OUT = 2
+       BEZT_IPO_EASE_AUTO = 0,
+       
+       BEZT_IPO_EASE_IN = 1,
+       BEZT_IPO_EASE_OUT = 2,
+       BEZT_IPO_EASE_IN_OUT = 3
 } eBezTriple_Easing;
 
 /* types of keyframe (used only for BezTriple->hide when BezTriple is used in F-Curves) */