Point Cache Refactoring
[blender-staging.git] / source / blender / makesdna / DNA_space_types.h
index c07d47dc658a7c596b991a51c3a2e52903de4014..9e49b3a5e0c1d443b4533bbdfc87d16e7997df62 100644 (file)
@@ -94,7 +94,7 @@ typedef struct SpaceIpo {
        /* the ipo context we need to store */
        struct Ipo *ipo;
        struct ID *from;
-       char actname[32], constname[32];
+       char actname[32], constname[32], bonename[32];
 
        short totipo, pin;
        short butofs, channel;
@@ -148,11 +148,11 @@ typedef struct SpaceSeq {
        View2D v2d;
        
        float xof, yof; /* offset for drawing the image preview */
-       short mainb, zoom;
+       short mainb, pad;
        short chanshown;
-       short pad2;
+       short zebra;
        int flag;
-       int pad;
+       float zoom;
 } SpaceSeq;
 
 typedef struct SpaceFile {
@@ -167,7 +167,7 @@ typedef struct SpaceFile {
        int totfile;
        
        char title[24];
-       char dir[160];
+       char dir[240];
        char file[80];
        
        short type, ofs, flag, sort;
@@ -236,21 +236,19 @@ typedef struct SpaceImage {
        short curtile; /* the currently active tile of the image when tile is enabled, is kept in sync with the active faces tile */
        int flag;
        short imtypenr, lock;
-       short showspare, pin;
+       short pin, pad2;
        float zoom;
        char dt_uv; /* UV draw type */
-       char sticky; /* sticky selection type */ 
-       char pad[6]; 
+       char sticky; /* sticky selection type */
+       char dt_uvstretch;
+       char pad[5];
        
        float xof, yof;                                 /* user defined offset, image is centered */
        float centx, centy;                             /* storage for offset while render drawing */
        
-       char *info_str, *info_spare;    /* info string for render */
-       struct ImBuf *spare;
-       
 } SpaceImage;
 
-typedef struct SpaceNla{
+typedef struct SpaceNla {
        struct SpaceLink *next, *prev;
        int spacetype;
        float blockscale;
@@ -259,7 +257,8 @@ typedef struct SpaceNla{
        short blockhandler[8];
 
        short menunr, lock;
-       int flag;
+       short autosnap;                 /* this uses the same settings as autosnap for Action Editor */
+       short flag;
        
        View2D v2d;     
 } SpaceNla;
@@ -293,6 +292,24 @@ typedef struct SpaceText {
 
 } SpaceText;
 
+typedef struct Script {
+       ID id;
+
+       void *py_draw;
+       void *py_event;
+       void *py_button;
+       void *py_browsercallback;
+       void *py_globaldict;
+
+       int flags, lastspace;
+       char scriptname[256]; /* store the script file here so we can re-run it on loading blender, if "Enable Scripts" is on */
+       char scriptarg[256];
+} Script;
+#define SCRIPT_SET_NULL(_script) _script->py_draw = _script->py_event = _script->py_button = _script->py_browsercallback = _script->py_globaldict = NULL; _script->flags = 0;
+#define SCRIPT_RUNNING 0x01
+#define SCRIPT_GUI             0x02
+#define SCRIPT_FILESEL 0x04
+
 typedef struct SpaceScript {
        SpaceLink *next, *prev;
        int spacetype;
@@ -356,7 +373,7 @@ typedef struct SpaceImaSel {
 
        /* specific stuff for drawing */
        char title[24];
-       char dir[160];
+       char dir[240];
        char file[80];
 
        short type, menu, flag, sort;
@@ -420,7 +437,7 @@ typedef struct SpaceImaSel {
 
 /* filesel types */
 #define FILE_UNIX                      8
-#define FILE_BLENDER           8
+#define FILE_BLENDER           8 /* dont display relative paths */
 #define FILE_SPECIAL           9
 
 #define FILE_LOADLIB           1
@@ -465,12 +482,29 @@ typedef struct SpaceImaSel {
 #define SI_TEXTURE             0
 #define SI_SHOW                        1
 
+/* SpaceImage->dt_uv */
+#define SI_UVDT_DASH   0
+#define SI_UVDT_BLACK  1
+#define SI_UVDT_WHITE  2
+#define SI_UVDT_OUTLINE        3
+
+/* SpaceImage->dt_uvstretch */
+#define SI_UVDT_STRETCH_ANGLE  0
+#define SI_UVDT_STRETCH_AREA   1
+
+/* SpaceImage->sticky
+ * Note DISABLE should be 0, however would also need to re-arrange icon order,
+ * also, sticky loc is the default mode so this means we dont need to 'do_versons' */
+#define SI_STICKY_LOC          0
+#define SI_STICKY_DISABLE      1
+#define SI_STICKY_VERTEX       2
+
 /* SpaceImage->flag */
 #define SI_BE_SQUARE   1<<0
 #define SI_EDITTILE            1<<1
 #define SI_CLIP_UV             1<<2
 #define SI_DRAWTOOL            1<<3
-#define SI_DEPRECATED1    1<<4 /* stick UVs to others in the same location */
+#define SI_DEPRECATED1  1<<4   /* stick UVs to others in the same location */
 #define SI_DRAWSHADOW   1<<5
 #define SI_SELACTFACE   1<<6
 #define SI_DEPRECATED2 1<<7
@@ -489,7 +523,8 @@ typedef struct SpaceImaSel {
                /* this means that the image is drawn until it reaches the view edge,
                 * in the image view, its unrelated to the 'tile' mode for texface */
 #define SI_DRAW_TILE   1<<19 
-#define SI_SMOOTH_UV   1<<20 
+#define SI_SMOOTH_UV   1<<20
+#define SI_DRAW_STRETCH        1<<21
 
 /* SpaceText flags (moved from DNA_text_types.h) */
 
@@ -580,10 +615,15 @@ typedef struct SpaceImaSel {
 /* nla->flag */
 #define SNLA_ALLKEYED          1
 #define SNLA_ACTIVELAYERS      2
+#define SNLA_DRAWTIME          4
 
 /* time->flag */
+       /* show timing in frames instead of in seconds */
 #define TIME_DRAWFRAMES                1
+       /* temporary flag set when scrubbing time */
 #define TIME_CFRA_NUM          2
+       /* only keyframes from active/selected channels get shown */
+#define TIME_ONLYACTSEL                4
 
 /* time->redraws */
 #define TIME_LEFTMOST_3D_WIN   1
@@ -593,15 +633,20 @@ typedef struct SpaceImaSel {
 #define TIME_WITH_SEQ_AUDIO            16
 #define TIME_SEQ                               32
 #define TIME_ALL_IMAGE_WIN             64
+#define TIME_CONTINUE_PHYSICS  128
 
 /* sseq->mainb */
 #define SEQ_DRAW_SEQUENCE         0
 #define SEQ_DRAW_IMG_IMBUF        1
 #define SEQ_DRAW_IMG_WAVEFORM     2
 #define SEQ_DRAW_IMG_VECTORSCOPE  3
+#define SEQ_DRAW_IMG_HISTOGRAM    4
 
 /* sseq->flag */
-#define SEQ_DRAWFRAMES  1
+#define SEQ_DRAWFRAMES   1
+#define SEQ_MARKER_TRANS 2
+#define SEQ_DRAW_COLOR_SEPERATED     4
+#define SEQ_DRAW_SAFE_MARGINS        8
 
 /* space types, moved from DNA_screen_types.h */
 enum {