NLA SoC: Merge from 2.5
[blender-staging.git] / source / blender / makesdna / DNA_space_types.h
1 /**
2  * blenlib/DNA_space_types.h (mar-2001 nzc)
3  *      
4  * $Id$ 
5  *
6  * ***** BEGIN GPL LICENSE BLOCK *****
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software Foundation,
20  * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21  *
22  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
23  * All rights reserved.
24  *
25  * The Original Code is: all of this file.
26  *
27  * Contributor(s): none yet.
28  *
29  * ***** END GPL LICENSE BLOCK *****
30  */
31 #ifndef DNA_SPACE_TYPES_H
32 #define DNA_SPACE_TYPES_H
33
34 #include "DNA_listBase.h"
35 #include "DNA_vec_types.h"
36 #include "DNA_outliner_types.h"         /* for TreeStoreElem */
37 #include "DNA_image_types.h"    /* ImageUser */
38 /* Hum ... Not really nice... but needed for spacebuts. */
39 #include "DNA_view2d_types.h"
40
41 struct ID;
42 struct Text;
43 struct Script;
44 struct ImBuf;
45 struct Image;
46 struct SpaceIpo;
47 struct BlendHandle;
48 struct RenderInfo;
49 struct bNodeTree;
50 struct uiBlock;
51 struct FileList;
52 struct bGPdata;
53 struct bDopeSheet;
54 struct FileSelectParams;
55 struct FileLayout;
56 struct bScreen;
57 struct Scene;
58 struct wmOperator;
59 struct wmTimer;
60
61         /**
62          * The base structure all the other spaces
63          * are derived (implicitly) from. Would be
64          * good to make this explicit.
65          */
66
67 typedef struct SpaceLink {
68         struct SpaceLink *next, *prev;
69         ListBase regionbase;            /* storage of regions for inactive spaces */
70         int spacetype;
71         float blockscale;                       /* XXX depricate this */
72         short blockhandler[8];          /* XXX depricate this */
73 } SpaceLink;
74
75 typedef struct SpaceInfo {
76         SpaceLink *next, *prev;
77         ListBase regionbase;            /* storage of regions for inactive spaces */
78         int spacetype;
79         float blockscale;
80
81         short blockhandler[8];          /* XXX depricate this */
82         
83         struct bScreen *screen;         /* browse screen */
84         struct Scene *scene;            /* browse scene */
85         
86 } SpaceInfo;
87
88 /* 'Graph' Editor (formerly known as the IPO Editor) */
89 // XXX for now, we keep all old data...
90 typedef struct SpaceIpo {
91         SpaceLink *next, *prev;
92         ListBase regionbase;            /* storage of regions for inactive spaces */
93         int spacetype;
94         float blockscale;
95
96         short blockhandler[8];
97         View2D v2d; /* depricated, copied to region */
98         
99                 // 'IPO keys' - vertical lines for editing multiple keyframes at once - use Dopesheet instead for this?
100         //ListBase ipokey;              // XXX it's not clear how these will come back yet
101         //short showkey;                        // XXX this doesn't need to be restored until ipokeys come back
102         
103         struct bDopeSheet *ads; /* settings for filtering animation data (NOTE: we use a pointer due to code-linking issues) */
104         
105         ListBase ghostCurves;   /* sampled snapshots of F-Curves used as in-session guides */
106         
107         short mode;                             /* mode for the Graph editor (eGraphEdit_Mode) */
108         short flag;                             /* settings for Graph editor */
109         short autosnap;                 /* time-transform autosnapping settings for Graph editor (eAnimEdit_AutoSnap in DNA_action_types.h) */
110         char pin, lock;
111 } SpaceIpo;
112
113 typedef struct SpaceButs {
114         SpaceLink *next, *prev;
115         ListBase regionbase;            /* storage of regions for inactive spaces */
116         int spacetype;
117         float blockscale;
118         
119         short blockhandler[8];
120         
121         struct RenderInfo *ri;
122
123         short cursens, curact;
124         short align, pad;               /* align for panels */
125         View2D v2d; /* depricated, copied to region */
126         
127         short mainb, menunr;    /* texnr and menunr have to remain shorts */
128         short pin, mainbo;      
129         void *lockpoin;
130         
131         short texnr;
132         char texfrom, showgroup;
133         
134         short modeltype;
135         short scriptblock;
136         short scaflag;
137         short re_align;
138         
139         short oldkeypress;              /* for keeping track of the sub tab key cycling */
140         char flag, texact;
141         
142         void *path;             /* runtime */
143         ID *pinid;
144 } SpaceButs;
145
146 typedef struct SpaceSeq {
147         SpaceLink *next, *prev;
148         ListBase regionbase;            /* storage of regions for inactive spaces */
149         int spacetype;
150         float blockscale;
151
152         short blockhandler[8];
153
154         View2D v2d; /* depricated, copied to region */
155         
156         float xof, yof; /* offset for drawing the image preview */
157         short mainb, pad;
158         short chanshown;
159         short zebra;
160         int flag;
161         float zoom;
162         
163         struct bGPdata *gpd;            /* grease-pencil data */
164 } SpaceSeq;
165
166 typedef struct SpaceFile {
167         SpaceLink *next, *prev;
168         ListBase regionbase;            /* storage of regions for inactive spaces */
169         int spacetype;
170         int pad;
171
172         struct FileSelectParams *params; /* config and input for file select */
173         
174         struct FileList *files; /* holds the list of files to show */
175
176         /* operator that is invoking fileselect 
177            op->exec() will be called on the 'Load' button.
178            if operator provides op->cancel(), then this will be invoked
179            on the cancel button.
180         */
181         struct wmOperator *op; 
182
183         struct wmTimer *loadimage_timer;
184
185         struct FileLayout *layout;
186         
187 } SpaceFile;
188
189 typedef struct SpaceOops {
190         SpaceLink *next, *prev;
191         ListBase regionbase;            /* storage of regions for inactive spaces */
192         int spacetype;
193         float blockscale;
194
195         short blockhandler[8];
196
197         View2D v2d; /* depricated, copied to region */
198         
199         ListBase tree;
200         struct TreeStore *treestore;
201         
202         /* search stuff */
203         char search_string[32];
204         struct TreeStoreElem search_tse;
205         int search_flags, do_;
206         
207         short flag, outlinevis, storeflag, pad;
208 } SpaceOops;
209
210 typedef struct SpaceImage {
211         SpaceLink *next, *prev;
212         ListBase regionbase;            /* storage of regions for inactive spaces */
213         int spacetype;
214
215         float blockscale;
216         short blockhandler[8];
217         
218         struct Image *image;
219         struct ImageUser iuser;
220         
221         struct CurveMapping *cumap;
222         short menunr, imanr, pad2;
223         short curtile; /* the currently active tile of the image when tile is enabled, is kept in sync with the active faces tile */
224         int flag;
225         short imtypenr, lock;
226         short pin, pad3;
227         char dt_uv; /* UV draw type */
228         char sticky; /* sticky selection type */
229         char dt_uvstretch;
230         char pad;
231         
232         float xof, yof;                                 /* user defined offset, image is centered */
233         float zoom, pad4;                               /* user defined zoom level */
234         float centx, centy;                             /* storage for offset while render drawing */
235         
236         struct bGPdata *gpd;                    /* grease pencil data */
237 } SpaceImage;
238
239 typedef struct SpaceNla {
240         struct SpaceLink *next, *prev;
241         ListBase regionbase;            /* storage of regions for inactive spaces */
242         int spacetype;
243         float blockscale;
244
245         short blockhandler[8];
246
247         short autosnap;                 /* this uses the same settings as autosnap for Action Editor */
248         short flag;
249         int pad;
250         
251         struct bDopeSheet *ads;
252         View2D v2d;      /* depricated, copied to region */
253 } SpaceNla;
254
255 typedef struct SpaceText {
256         SpaceLink *next, *prev;
257         ListBase regionbase;            /* storage of regions for inactive spaces */
258         int spacetype;
259         float blockscale;
260
261         short blockhandler[8];
262
263         struct Text *text;      
264
265         int top, viewlines;
266         short flags, menunr;    
267
268         int lheight;
269         int left;
270         int showlinenrs;
271         int tabnumber;
272
273         int showsyntax;
274         int overwrite;
275         float pix_per_line;
276
277         struct rcti txtscroll, txtbar;
278
279         int wordwrap, doplugins;
280
281         char findstr[256];              /* ST_MAX_FIND_STR */
282         char replacestr[256];   /* ST_MAX_FIND_STR */
283 } SpaceText;
284
285 typedef struct Script {
286         ID id;
287
288         void *py_draw;
289         void *py_event;
290         void *py_button;
291         void *py_browsercallback;
292         void *py_globaldict;
293
294         int flags, lastspace;
295         char scriptname[256]; /* store the script file here so we can re-run it on loading blender, if "Enable Scripts" is on */
296         char scriptarg[256];
297 } Script;
298 #define SCRIPT_SET_NULL(_script) _script->py_draw = _script->py_event = _script->py_button = _script->py_browsercallback = _script->py_globaldict = NULL; _script->flags = 0;
299 #define SCRIPT_RUNNING  0x01
300 #define SCRIPT_GUI              0x02
301 #define SCRIPT_FILESEL  0x04
302
303 typedef struct SpaceScript {
304         SpaceLink *next, *prev;
305         ListBase regionbase;            /* storage of regions for inactive spaces */
306         int spacetype;
307         float blockscale;
308         struct Script *script;
309
310         short flags, menunr;
311         int pad1;
312         
313         void *but_refs;
314 } SpaceScript;
315
316 typedef struct SpaceTime {
317         SpaceLink *next, *prev;
318         ListBase regionbase;            /* storage of regions for inactive spaces */
319         int spacetype;
320         float blockscale;
321         
322         View2D v2d; /* depricated, copied to region */
323         
324         int flag, redraws;
325         
326 } SpaceTime;
327
328 typedef struct SpaceNode {
329         SpaceLink *next, *prev;
330         ListBase regionbase;            /* storage of regions for inactive spaces */
331         int spacetype;
332         float blockscale;
333         
334         short blockhandler[8];
335         
336         View2D v2d; /* depricated, copied to region */
337         
338         struct ID *id, *from;           /* context, no need to save in file? well... pinning... */
339         short flag, menunr;                     /* menunr: browse id block in header */
340         float aspect;
341         void *curfont;
342         
343         float xof, yof; /* offset for drawing the backdrop */
344         float mx, my;   /* mousepos for drawing socketless link */
345         
346         struct bNodeTree *nodetree, *edittree;
347         int treetype, pad;                      /* treetype: as same nodetree->type */
348         
349         struct bGPdata *gpd;            /* grease-pencil data */
350 } SpaceNode;
351
352 /* snode->flag */
353 #define SNODE_BACKDRAW          2
354 #define SNODE_DISPGP            4
355
356 typedef struct SpaceImaSel {
357         SpaceLink *next, *prev;
358         ListBase regionbase;            /* storage of regions for inactive spaces */
359         int spacetype;
360         float blockscale;
361         
362         short blockhandler[8];
363
364         View2D v2d; /* depricated, copied to region */
365
366         struct FileList *files;
367
368         /* specific stuff for drawing */
369         char title[24];
370         char dir[240];
371         char file[80];
372
373         short type, menu, flag, sort;
374
375         void *curfont;
376         int     active_file;
377
378         int numtilesx;
379         int numtilesy;
380
381         int selstate;
382
383         struct rcti viewrect;
384         struct rcti bookmarkrect;
385
386         float scrollpos; /* current position of scrollhandle */
387         float scrollheight; /* height of the scrollhandle */
388         float scrollarea; /* scroll region, scrollpos is from 0 to scrollarea */
389
390         float aspect;
391         unsigned short retval;          /* event */
392
393         short ipotype;
394         
395         short filter;
396         short active_bookmark;
397         short pad, pad1;
398
399         /* view settings */
400         short prv_w;
401         short prv_h;
402
403         /* one day we'll add unions to dna */
404         void (*returnfunc)(char *);
405         void (*returnfunc_event)(unsigned short);
406         void (*returnfunc_args)(char *, void *, void *);
407         
408         void *arg1, *arg2;
409         short *menup;   /* pointer to menu result or ID browsing */
410         char *pupmenu;  /* optional menu in header */
411
412         struct ImBuf *img;
413 } SpaceImaSel;
414
415
416 /* view3d  Now in DNA_view3d_types.h */
417
418
419
420 /* **************** SPACE DEFINES ********************* */
421
422 /* button defines (deprecated) */
423 /* warning: the values of these defines are used in sbuts->tabs[8] */
424 /* sbuts->mainb new */
425 #define CONTEXT_SCENE   0
426 #define CONTEXT_OBJECT  1
427 #define CONTEXT_TYPES   2
428 #define CONTEXT_SHADING 3
429 #define CONTEXT_EDITING 4
430 #define CONTEXT_SCRIPT  5
431 #define CONTEXT_LOGIC   6
432
433 /* sbuts->mainb old (deprecated) */
434 #define BUTS_VIEW                       0
435 #define BUTS_LAMP                       1
436 #define BUTS_MAT                        2
437 #define BUTS_TEX                        3
438 #define BUTS_ANIM                       4
439 #define BUTS_WORLD                      5
440 #define BUTS_RENDER                     6
441 #define BUTS_EDIT                       7
442 #define BUTS_GAME                       8
443 #define BUTS_FPAINT                     9
444 #define BUTS_RADIO                      10
445 #define BUTS_SCRIPT                     11
446 #define BUTS_SOUND                      12
447 #define BUTS_CONSTRAINT         13
448 #define BUTS_EFFECTS            14
449
450 /* sbuts->tab new (deprecated) */
451 #define TAB_SHADING_MAT         0
452 #define TAB_SHADING_TEX         1
453 #define TAB_SHADING_RAD         2
454 #define TAB_SHADING_WORLD       3
455 #define TAB_SHADING_LAMP        4
456
457 #define TAB_OBJECT_OBJECT       0
458 #define TAB_OBJECT_PHYSICS      1
459 #define TAB_OBJECT_PARTICLE     2
460
461 #define TAB_SCENE_RENDER        0
462 #define TAB_SCENE_WORLD         1
463 #define TAB_SCENE_ANIM          2
464 #define TAB_SCENE_SOUND         3
465 #define TAB_SCENE_SEQUENCER     4
466
467
468 /* warning: the values of these defines are used in sbuts->tabs[8] */
469 /* buts->mainb new */
470 #define BCONTEXT_SCENE          0
471 #define BCONTEXT_WORLD          1
472 #define BCONTEXT_OBJECT         2
473 #define BCONTEXT_DATA           3
474 #define BCONTEXT_MATERIAL       4
475 #define BCONTEXT_TEXTURE        5
476 #define BCONTEXT_PARTICLE       6
477 #define BCONTEXT_PHYSICS        7
478 #define BCONTEXT_GAME           8
479 #define BCONTEXT_BONE           9
480 #define BCONTEXT_MODIFIER       10
481
482
483 /* sbuts->flag */
484 #define SB_PRV_OSA                      1
485
486 /* sbuts->align */
487 #define BUT_FREE                0
488 #define BUT_HORIZONTAL  1
489 #define BUT_VERTICAL    2
490 #define BUT_AUTO                3
491
492 /* sbuts->scaflag */            
493 #define BUTS_SENS_SEL           1
494 #define BUTS_SENS_ACT           2
495 #define BUTS_SENS_LINK          4
496 #define BUTS_CONT_SEL           8
497 #define BUTS_CONT_ACT           16
498 #define BUTS_CONT_LINK          32
499 #define BUTS_ACT_SEL            64
500 #define BUTS_ACT_ACT            128
501 #define BUTS_ACT_LINK           256
502 #define BUTS_SENS_STATE         512
503 #define BUTS_ACT_STATE          1024
504
505 /* these values need to be hardcoded in structs, dna does not recognize defines */
506 /* also defined in BKE */
507 #define FILE_MAXDIR                     160
508 #define FILE_MAXFILE            80
509 #define FILE_MAX                        240
510
511 /* filesel types */
512 #define FILE_UNIX                       8
513 #define FILE_BLENDER            8 /* dont display relative paths */
514 #define FILE_SPECIAL            9
515
516 #define FILE_LOADLIB            1
517 #define FILE_MAIN                       2
518 #define FILE_LOADFONT           3
519
520 /* sfile->flag and simasel->flag */
521 #define FILE_SHOWSHORT          1
522 #define FILE_STRINGCODE         2
523 #define FILE_LINK                       4
524 #define FILE_HIDE_DOT           8
525 #define FILE_AUTOSELECT         16
526 #define FILE_ACTIVELAY          32
527 #define FILE_ATCURSOR           64
528 #define FILE_SYNCPOSE           128
529 #define FILE_FILTER                     256
530 #define FILE_BOOKMARKS          512
531
532 /* sfile->sort */
533 #define FILE_SORTALPHA          0
534 #define FILE_SORTDATE           1
535 #define FILE_SORTSIZE           2
536 #define FILE_SORTEXTENS         3
537
538 /* files in filesel list: 2=ACTIVE  */
539 #define HILITE                          1
540 #define BLENDERFILE                     4
541 #define PSXFILE                         8
542 #define IMAGEFILE                       16
543 #define MOVIEFILE                       32
544 #define PYSCRIPTFILE            64
545 #define FTFONTFILE                      128
546 #define SOUNDFILE                       256
547 #define TEXTFILE                        512
548 #define MOVIEFILE_ICON          1024 /* movie file that preview can't load */
549 #define FOLDERFILE                      2048 /* represents folders for filtering */
550
551 /* SpaceImage->dt_uv */
552 #define SI_UVDT_OUTLINE 0
553 #define SI_UVDT_DASH    1
554 #define SI_UVDT_BLACK   2
555 #define SI_UVDT_WHITE   3
556
557 /* SpaceImage->dt_uvstretch */
558 #define SI_UVDT_STRETCH_ANGLE   0
559 #define SI_UVDT_STRETCH_AREA    1
560
561 /* SpaceImage->sticky
562  * Note DISABLE should be 0, however would also need to re-arrange icon order,
563  * also, sticky loc is the default mode so this means we dont need to 'do_versons' */
564 #define SI_STICKY_LOC           0
565 #define SI_STICKY_DISABLE       1
566 #define SI_STICKY_VERTEX        2
567
568 /* SpaceImage->flag */
569 #define SI_BE_SQUARE    1<<0
570 #define SI_EDITTILE             1<<1
571 #define SI_CLIP_UV              1<<2
572 #define SI_DRAWTOOL             1<<3
573 #define SI_DEPRECATED1  1<<4    /* stick UVs to others in the same location */
574 #define SI_DRAWSHADOW   1<<5
575 #define SI_SELACTFACE   1<<6    /* deprecated */
576 #define SI_DEPRECATED2  1<<7
577 #define SI_DEPRECATED3  1<<8    /* stick UV selection to mesh vertex (UVs wont always be touching) */
578 #define SI_COORDFLOATS  1<<9
579 #define SI_PIXELSNAP    1<<10
580 #define SI_LIVE_UNWRAP  1<<11
581 #define SI_USE_ALPHA    1<<12
582 #define SI_SHOW_ALPHA   1<<13
583 #define SI_SHOW_ZBUF    1<<14
584                 /* next two for render window dislay */
585 #define SI_PREVSPACE    1<<15
586 #define SI_FULLWINDOW   1<<16
587 #define SI_DEPRECATED4  1<<17
588 #define SI_DEPRECATED5  1<<18
589                 /* this means that the image is drawn until it reaches the view edge,
590                  * in the image view, its unrelated to the 'tile' mode for texface */
591 #define SI_DRAW_TILE    1<<19 
592 #define SI_SMOOTH_UV    1<<20
593 #define SI_DRAW_STRETCH 1<<21
594 #define SI_DISPGP               1<<22
595 #define SI_DRAW_OTHER   1<<23
596
597 #define SI_COLOR_CORRECTION     1<<24
598
599 /* SpaceIpo->flag (Graph Editor Settings) */
600 #define SIPO_LOCK_VIEW                  (1<<0)
601 #define SIPO_NOTRANSKEYCULL             (1<<1)
602 #define SIPO_NOHANDLES                  (1<<2)
603 #define SIPO_NODRAWCFRANUM              (1<<3)
604 #define SIPO_DRAWTIME                   (1<<4)
605
606 /* SpaceIpo->mode (Graph Editor Mode) */
607 enum {
608                 /* all animation curves (from all over Blender) */
609         SIPO_MODE_ANIMATION     = 0,
610                 /* drivers only */
611         SIPO_MODE_DRIVERS,
612 } eGraphEdit_Mode;
613
614 /* SpaceText flags (moved from DNA_text_types.h) */
615
616 #define ST_SCROLL_SELECT        0x0001 // scrollable
617 #define ST_CLEAR_NAMESPACE      0x0010 // clear namespace after script
618                                        // execution (see BPY_main.c)
619 #define ST_FIND_WRAP                    0x0020
620 #define ST_FIND_ALL                             0x0040
621
622
623 /* stext->findstr/replacestr */
624 #define ST_MAX_FIND_STR         256
625
626 /* SpaceOops->flag */
627 #define SO_TESTBLOCKS   1
628 #define SO_NEWSELECTED  2
629 #define SO_HIDE_RESTRICTCOLS            4
630 #define SO_HIDE_KEYINGSETINFO           8
631
632 /* SpaceOops->outlinevis */
633 #define SO_ALL_SCENES   0
634 #define SO_CUR_SCENE    1
635 #define SO_VISIBLE              2
636 #define SO_SELECTED             3
637 #define SO_ACTIVE               4
638 #define SO_SAME_TYPE    5
639 #define SO_GROUPS               6
640 #define SO_LIBRARIES    7
641 #define SO_VERSE_SESSION        8
642 #define SO_VERSE_MS             9
643 #define SO_SEQUENCE             10
644 #define SO_DATABLOCKS   11
645 #define SO_USERDEF              12
646
647 /* SpaceOops->storeflag */
648 #define SO_TREESTORE_CLEANUP    1
649                 /* if set, it allows redraws. gets set for some allqueue events */
650 #define SO_TREESTORE_REDRAW             2
651
652 /* headerbuttons: 450-499 */
653
654 #define B_IMASELHOME            451
655 #define B_IMASELREMOVEBIP       452
656
657 #define C_BACK  0xBAAAAA
658 #define C_DARK  0x665656
659 #define C_DERK  0x766666
660 #define C_HI    0xCBBBBB
661 #define C_LO    0x544444
662
663 /* queue settings */
664 #define IMS_KNOW_WIN        1
665 #define IMS_KNOW_BIP        2
666 #define IMS_KNOW_DIR        4
667 #define IMS_DOTHE_INF           8
668 #define IMS_KNOW_INF       16
669 #define IMS_DOTHE_IMA      32
670 #define IMS_KNOW_IMA       64
671 #define IMS_FOUND_BIP     128
672 #define IMS_DOTHE_BIP     256
673 #define IMS_WRITE_NO_BIP  512
674
675 /* imasel->mode */
676 #define IMS_NOIMA                       0
677 #define IMS_IMA                         1
678 #define IMS_ANIM                        2
679 #define IMS_DIR                         4
680 #define IMS_FILE                        8
681 #define IMS_STRINGCODE          16
682
683 #define IMS_INDIR                       1
684 #define IMS_INDIRSLI            2
685 #define IMS_INFILE                      3
686 #define IMS_INFILESLI           4
687
688 /* nla->flag */
689 #define SNLA_ALLKEYED           (1<<0)
690 #define SNLA_ACTIVELAYERS       (1<<1)
691 #define SNLA_DRAWTIME           (1<<2)
692 #define SNLA_NOTRANSKEYCULL     (1<<3)
693 #define SNLA_NODRAWCFRANUM      (1<<4)
694
695 /* time->flag */
696         /* show timing in frames instead of in seconds */
697 #define TIME_DRAWFRAMES         1
698         /* temporary flag set when scrubbing time */
699 #define TIME_CFRA_NUM           2
700         /* only keyframes from active/selected channels get shown */
701 #define TIME_ONLYACTSEL         4
702
703 /* time->redraws */
704 #define TIME_REGION                             1
705 #define TIME_ALL_3D_WIN                 2
706 #define TIME_ALL_ANIM_WIN               4
707 #define TIME_ALL_BUTS_WIN               8
708 #define TIME_WITH_SEQ_AUDIO             16
709 #define TIME_SEQ                                32
710 #define TIME_ALL_IMAGE_WIN              64
711 #define TIME_CONTINUE_PHYSICS   128
712
713 /* sseq->mainb */
714 #define SEQ_DRAW_SEQUENCE         0
715 #define SEQ_DRAW_IMG_IMBUF        1
716 #define SEQ_DRAW_IMG_WAVEFORM     2
717 #define SEQ_DRAW_IMG_VECTORSCOPE  3
718 #define SEQ_DRAW_IMG_HISTOGRAM    4
719
720 /* sseq->flag */
721 #define SEQ_DRAWFRAMES   1
722 #define SEQ_MARKER_TRANS 2
723 #define SEQ_DRAW_COLOR_SEPERATED     4
724 #define SEQ_DRAW_SAFE_MARGINS        8
725 #define SEQ_DRAW_GPENCIL                        16
726
727 /* space types, moved from DNA_screen_types.h */
728 enum {
729         SPACE_EMPTY,
730         SPACE_VIEW3D,
731         SPACE_IPO,
732         SPACE_OUTLINER,
733         SPACE_BUTS,
734         SPACE_FILE,
735         SPACE_IMAGE,            
736         SPACE_INFO,
737         SPACE_SEQ,
738         SPACE_TEXT,
739         SPACE_IMASEL,
740         SPACE_SOUND,
741         SPACE_ACTION,
742         SPACE_NLA,
743         SPACE_SCRIPT,
744         SPACE_TIME,
745         SPACE_NODE,
746         SPACEICONMAX = SPACE_NODE
747 /*      SPACE_LOGIC     */
748 };
749
750 #endif