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, preview;           /* align for panels, preview is signal to refresh */
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         int pathflag, dataicon; /* runtime */
144         ID *pinid;
145 } SpaceButs;
146
147 typedef struct SpaceSeq {
148         SpaceLink *next, *prev;
149         ListBase regionbase;            /* storage of regions for inactive spaces */
150         int spacetype;
151         float blockscale;
152
153         short blockhandler[8];
154
155         View2D v2d; /* depricated, copied to region */
156         
157         float xof, yof; /* offset for drawing the image preview */
158         short mainb;
159         short render_size;
160         short chanshown;
161         short zebra;
162         int flag;
163         float zoom;
164         
165         struct bGPdata *gpd;            /* grease-pencil data */
166 } SpaceSeq;
167
168 typedef struct FileSelectParams {
169         char title[24]; /* title, also used for the text of the execute button */
170         char dir[240]; /* directory */
171         char file[80]; /* file */
172
173         short flag; /* settings for filter, hiding files and display mode */
174         short sort; /* sort order */
175         short display; /* display mode flag */
176         short filter; /* filter when (flags & FILE_FILTER) is true */
177
178         /* XXX - temporary, better move to filelist */
179         short active_bookmark;
180         short pad;
181         int     active_file;
182         int selstate;
183
184         /* XXX --- still unused -- */
185         short f_fp; /* show font preview */
186         short menu; /* currently selected option in pupmenu */
187         char fp_str[8]; /* string to use for font preview */
188         
189         char *pupmenu; /* allows menu for save options - result stored in menup */
190         
191         /* XXX --- end unused -- */
192 } FileSelectParams;
193
194 /* FileSelectParams.display */
195 enum FileDisplayTypeE {
196         FILE_SHORTDISPLAY = 1,
197         FILE_LONGDISPLAY,
198         FILE_IMGDISPLAY
199 };
200
201 /* FileSelectParams.sort */
202 enum FileSortTypeE {
203         FILE_SORT_NONE = 0,
204         FILE_SORT_ALPHA = 1,
205         FILE_SORT_EXTENSION,
206         FILE_SORT_TIME,
207         FILE_SORT_SIZE
208 };
209
210 typedef struct SpaceFile {
211         SpaceLink *next, *prev;
212         ListBase regionbase;            /* storage of regions for inactive spaces */
213         int spacetype;
214         int pad;
215
216         struct FileSelectParams *params; /* config and input for file select */
217         
218         struct FileList *files; /* holds the list of files to show */
219
220         /* operator that is invoking fileselect 
221            op->exec() will be called on the 'Load' button.
222            if operator provides op->cancel(), then this will be invoked
223            on the cancel button.
224         */
225         struct wmOperator *op; 
226
227         struct wmTimer *loadimage_timer;
228
229         struct FileLayout *layout;
230         
231 } SpaceFile;
232
233 typedef struct SpaceOops {
234         SpaceLink *next, *prev;
235         ListBase regionbase;            /* storage of regions for inactive spaces */
236         int spacetype;
237         float blockscale;
238
239         short blockhandler[8];
240
241         View2D v2d; /* depricated, copied to region */
242         
243         ListBase tree;
244         struct TreeStore *treestore;
245         
246         /* search stuff */
247         char search_string[32];
248         struct TreeStoreElem search_tse;
249         int search_flags, do_;
250         
251         short flag, outlinevis, storeflag, pad;
252 } SpaceOops;
253
254 typedef struct SpaceImage {
255         SpaceLink *next, *prev;
256         ListBase regionbase;            /* storage of regions for inactive spaces */
257         int spacetype;
258
259         float blockscale;
260         short blockhandler[8];
261         
262         struct Image *image;
263         struct ImageUser iuser;
264         
265         struct CurveMapping *cumap;
266         short menunr, imanr, pad2;
267         short curtile; /* the currently active tile of the image when tile is enabled, is kept in sync with the active faces tile */
268         int flag;
269         short imtypenr, lock;
270         short pin, pad3;
271         char dt_uv; /* UV draw type */
272         char sticky; /* sticky selection type */
273         char dt_uvstretch;
274         char around;
275         
276         float xof, yof;                                 /* user defined offset, image is centered */
277         float zoom, pad4;                               /* user defined zoom level */
278         float centx, centy;                             /* storage for offset while render drawing */
279         
280         struct bGPdata *gpd;                    /* grease pencil data */
281 } SpaceImage;
282
283 typedef struct SpaceNla {
284         struct SpaceLink *next, *prev;
285         ListBase regionbase;            /* storage of regions for inactive spaces */
286         int spacetype;
287         float blockscale;
288
289         short blockhandler[8];
290
291         short autosnap;                 /* this uses the same settings as autosnap for Action Editor */
292         short flag;
293         int pad;
294         
295         struct bDopeSheet *ads;
296         View2D v2d;      /* depricated, copied to region */
297 } SpaceNla;
298
299 typedef struct SpaceText {
300         SpaceLink *next, *prev;
301         ListBase regionbase;            /* storage of regions for inactive spaces */
302         int spacetype;
303         float blockscale;
304
305         short blockhandler[8];
306
307         struct Text *text;      
308
309         int top, viewlines;
310         short flags, menunr;    
311
312         int lheight;
313         int left;
314         int showlinenrs;
315         int tabnumber;
316
317         int showsyntax;
318         short overwrite;
319         short live_edit; /* run python while editing, evil */
320         float pix_per_line;
321
322         struct rcti txtscroll, txtbar;
323
324         int wordwrap, doplugins;
325
326         char findstr[256];              /* ST_MAX_FIND_STR */
327         char replacestr[256];   /* ST_MAX_FIND_STR */
328 } SpaceText;
329
330 typedef struct Script {
331         ID id;
332
333         void *py_draw;
334         void *py_event;
335         void *py_button;
336         void *py_browsercallback;
337         void *py_globaldict;
338
339         int flags, lastspace;
340         char scriptname[256]; /* store the script file here so we can re-run it on loading blender, if "Enable Scripts" is on */
341         char scriptarg[256];
342 } Script;
343 #define SCRIPT_SET_NULL(_script) _script->py_draw = _script->py_event = _script->py_button = _script->py_browsercallback = _script->py_globaldict = NULL; _script->flags = 0;
344 #define SCRIPT_RUNNING  0x01
345 #define SCRIPT_GUI              0x02
346 #define SCRIPT_FILESEL  0x04
347
348 typedef struct SpaceScript {
349         SpaceLink *next, *prev;
350         ListBase regionbase;            /* storage of regions for inactive spaces */
351         int spacetype;
352         float blockscale;
353         struct Script *script;
354
355         short flags, menunr;
356         int pad1;
357         
358         void *but_refs;
359 } SpaceScript;
360
361 typedef struct SpaceTime {
362         SpaceLink *next, *prev;
363         ListBase regionbase;            /* storage of regions for inactive spaces */
364         int spacetype;
365         float blockscale;
366         
367         View2D v2d; /* depricated, copied to region */
368         
369         int flag, redraws;
370         
371 } SpaceTime;
372
373 typedef struct SpaceNode {
374         SpaceLink *next, *prev;
375         ListBase regionbase;            /* storage of regions for inactive spaces */
376         int spacetype;
377         float blockscale;
378         
379         short blockhandler[8];
380         
381         View2D v2d; /* depricated, copied to region */
382         
383         struct ID *id, *from;           /* context, no need to save in file? well... pinning... */
384         short flag, menunr;                     /* menunr: browse id block in header */
385         float aspect;
386         void *curfont;
387         
388         float xof, yof; /* offset for drawing the backdrop */
389         float mx, my;   /* mousepos for drawing socketless link */
390         
391         struct bNodeTree *nodetree, *edittree;
392         int treetype;                   /* treetype: as same nodetree->type */
393         short texfrom, pad;             /* texfrom object, world or brush */
394         
395         struct bGPdata *gpd;            /* grease-pencil data */
396 } SpaceNode;
397
398 /* snode->flag */
399 #define SNODE_BACKDRAW          2
400 #define SNODE_DISPGP            4
401
402 /* snode->texfrom */
403 #define SNODE_TEX_OBJECT        0
404 #define SNODE_TEX_WORLD         1
405 #define SNODE_TEX_BRUSH         2
406
407 typedef struct SpaceLogic {
408         SpaceLink *next, *prev;
409         ListBase regionbase;            /* storage of regions for inactive spaces */
410         int spacetype;
411         float blockscale;
412         
413         short blockhandler[8];
414         
415         short flag, scaflag;
416         int pad;
417         
418         struct bGPdata *gpd;            /* grease-pencil data */
419 } SpaceLogic;
420
421
422 typedef struct SpaceImaSel {
423         SpaceLink *next, *prev;
424         ListBase regionbase;            /* storage of regions for inactive spaces */
425         int spacetype;
426         float blockscale;
427         
428         short blockhandler[8];
429
430         View2D v2d; /* depricated, copied to region */
431
432         struct FileList *files;
433
434         /* specific stuff for drawing */
435         char title[24];
436         char dir[240];
437         char file[80];
438
439         short type, menu, flag, sort;
440
441         void *curfont;
442         int     active_file;
443
444         int numtilesx;
445         int numtilesy;
446
447         int selstate;
448
449         struct rcti viewrect;
450         struct rcti bookmarkrect;
451
452         float scrollpos; /* current position of scrollhandle */
453         float scrollheight; /* height of the scrollhandle */
454         float scrollarea; /* scroll region, scrollpos is from 0 to scrollarea */
455
456         float aspect;
457         unsigned short retval;          /* event */
458
459         short ipotype;
460         
461         short filter;
462         short active_bookmark;
463         short pad, pad1;
464
465         /* view settings */
466         short prv_w;
467         short prv_h;
468
469         /* one day we'll add unions to dna */
470         void (*returnfunc)(char *);
471         void (*returnfunc_event)(unsigned short);
472         void (*returnfunc_args)(char *, void *, void *);
473         
474         void *arg1, *arg2;
475         short *menup;   /* pointer to menu result or ID browsing */
476         char *pupmenu;  /* optional menu in header */
477
478         struct ImBuf *img;
479 } SpaceImaSel;
480
481
482 /* view3d  Now in DNA_view3d_types.h */
483
484
485
486 /* **************** SPACE DEFINES ********************* */
487
488 /* button defines (deprecated) */
489 /* warning: the values of these defines are used in sbuts->tabs[8] */
490 /* sbuts->mainb new */
491 #define CONTEXT_SCENE   0
492 #define CONTEXT_OBJECT  1
493 #define CONTEXT_TYPES   2
494 #define CONTEXT_SHADING 3
495 #define CONTEXT_EDITING 4
496 #define CONTEXT_SCRIPT  5
497 #define CONTEXT_LOGIC   6
498
499 /* sbuts->mainb old (deprecated) */
500 #define BUTS_VIEW                       0
501 #define BUTS_LAMP                       1
502 #define BUTS_MAT                        2
503 #define BUTS_TEX                        3
504 #define BUTS_ANIM                       4
505 #define BUTS_WORLD                      5
506 #define BUTS_RENDER                     6
507 #define BUTS_EDIT                       7
508 #define BUTS_GAME                       8
509 #define BUTS_FPAINT                     9
510 #define BUTS_RADIO                      10
511 #define BUTS_SCRIPT                     11
512 #define BUTS_SOUND                      12
513 #define BUTS_CONSTRAINT         13
514 #define BUTS_EFFECTS            14
515
516 /* sbuts->tab new (deprecated) */
517 #define TAB_SHADING_MAT         0
518 #define TAB_SHADING_TEX         1
519 #define TAB_SHADING_RAD         2
520 #define TAB_SHADING_WORLD       3
521 #define TAB_SHADING_LAMP        4
522
523 #define TAB_OBJECT_OBJECT       0
524 #define TAB_OBJECT_PHYSICS      1
525 #define TAB_OBJECT_PARTICLE     2
526
527 #define TAB_SCENE_RENDER        0
528 #define TAB_SCENE_WORLD         1
529 #define TAB_SCENE_ANIM          2
530 #define TAB_SCENE_SOUND         3
531 #define TAB_SCENE_SEQUENCER     4
532
533
534 /* buts->mainb new */
535 #define BCONTEXT_SCENE          0
536 #define BCONTEXT_WORLD          1
537 #define BCONTEXT_OBJECT         2
538 #define BCONTEXT_DATA           3
539 #define BCONTEXT_MATERIAL       4
540 #define BCONTEXT_TEXTURE        5
541 #define BCONTEXT_PARTICLE       6
542 #define BCONTEXT_PHYSICS        7
543 #define BCONTEXT_GAME           8
544 #define BCONTEXT_BONE           9
545 #define BCONTEXT_MODIFIER       10
546 #define BCONTEXT_CONSTRAINT 12
547 #define BCONTEXT_TOT            13
548
549 /* sbuts->flag */
550 #define SB_PRV_OSA                      1
551 #define SB_PIN_CONTEXT          2
552 #define SB_WORLD_TEX            4
553
554 /* sbuts->align */
555 #define BUT_FREE                0
556 #define BUT_HORIZONTAL  1
557 #define BUT_VERTICAL    2
558 #define BUT_AUTO                3
559
560 /* sbuts->scaflag */            
561 #define BUTS_SENS_SEL           1
562 #define BUTS_SENS_ACT           2
563 #define BUTS_SENS_LINK          4
564 #define BUTS_CONT_SEL           8
565 #define BUTS_CONT_ACT           16
566 #define BUTS_CONT_LINK          32
567 #define BUTS_ACT_SEL            64
568 #define BUTS_ACT_ACT            128
569 #define BUTS_ACT_LINK           256
570 #define BUTS_SENS_STATE         512
571 #define BUTS_ACT_STATE          1024
572
573 /* these values need to be hardcoded in structs, dna does not recognize defines */
574 /* also defined in BKE */
575 #define FILE_MAXDIR                     160
576 #define FILE_MAXFILE            80
577 #define FILE_MAX                        240
578
579 /* filesel types */
580 #define FILE_UNIX                       8
581 #define FILE_BLENDER            8 /* dont display relative paths */
582 #define FILE_SPECIAL            9
583
584 #define FILE_LOADLIB            1
585 #define FILE_MAIN                       2
586 #define FILE_LOADFONT           3
587
588 /* sfile->flag and simasel->flag */
589 #define FILE_SHOWSHORT          1
590 #define FILE_STRINGCODE         2
591 #define FILE_LINK                       4
592 #define FILE_HIDE_DOT           8
593 #define FILE_AUTOSELECT         16
594 #define FILE_ACTIVELAY          32
595 #define FILE_ATCURSOR           64
596 #define FILE_SYNCPOSE           128
597 #define FILE_FILTER                     256
598 #define FILE_BOOKMARKS          512
599
600 /* files in filesel list: 2=ACTIVE  */
601 #define HILITE                          1
602 #define BLENDERFILE                     4
603 #define PSXFILE                         8
604 #define IMAGEFILE                       16
605 #define MOVIEFILE                       32
606 #define PYSCRIPTFILE            64
607 #define FTFONTFILE                      128
608 #define SOUNDFILE                       256
609 #define TEXTFILE                        512
610 #define MOVIEFILE_ICON          1024 /* movie file that preview can't load */
611 #define FOLDERFILE                      2048 /* represents folders for filtering */
612
613 /* SpaceImage->dt_uv */
614 #define SI_UVDT_OUTLINE 0
615 #define SI_UVDT_DASH    1
616 #define SI_UVDT_BLACK   2
617 #define SI_UVDT_WHITE   3
618
619 /* SpaceImage->dt_uvstretch */
620 #define SI_UVDT_STRETCH_ANGLE   0
621 #define SI_UVDT_STRETCH_AREA    1
622
623 /* SpaceImage->sticky
624  * Note DISABLE should be 0, however would also need to re-arrange icon order,
625  * also, sticky loc is the default mode so this means we dont need to 'do_versons' */
626 #define SI_STICKY_LOC           0
627 #define SI_STICKY_DISABLE       1
628 #define SI_STICKY_VERTEX        2
629
630 /* SpaceImage->flag */
631 #define SI_BE_SQUARE    1<<0
632 #define SI_EDITTILE             1<<1
633 #define SI_CLIP_UV              1<<2
634 #define SI_DRAWTOOL             1<<3
635 #define SI_DEPRECATED1  1<<4    /* stick UVs to others in the same location */
636 #define SI_DRAWSHADOW   1<<5
637 #define SI_SELACTFACE   1<<6    /* deprecated */
638 #define SI_DEPRECATED2  1<<7
639 #define SI_DEPRECATED3  1<<8    /* stick UV selection to mesh vertex (UVs wont always be touching) */
640 #define SI_COORDFLOATS  1<<9
641 #define SI_PIXELSNAP    1<<10
642 #define SI_LIVE_UNWRAP  1<<11
643 #define SI_USE_ALPHA    1<<12
644 #define SI_SHOW_ALPHA   1<<13
645 #define SI_SHOW_ZBUF    1<<14
646                 /* next two for render window dislay */
647 #define SI_PREVSPACE    1<<15
648 #define SI_FULLWINDOW   1<<16
649 #define SI_DEPRECATED4  1<<17
650 #define SI_DEPRECATED5  1<<18
651                 /* this means that the image is drawn until it reaches the view edge,
652                  * in the image view, its unrelated to the 'tile' mode for texface */
653 #define SI_DRAW_TILE    1<<19 
654 #define SI_SMOOTH_UV    1<<20
655 #define SI_DRAW_STRETCH 1<<21
656 #define SI_DISPGP               1<<22
657 #define SI_DRAW_OTHER   1<<23
658
659 #define SI_COLOR_CORRECTION     1<<24
660
661 /* SpaceIpo->flag (Graph Editor Settings) */
662 #define SIPO_LOCK_VIEW                  (1<<0)
663 #define SIPO_NOTRANSKEYCULL             (1<<1)
664 #define SIPO_NOHANDLES                  (1<<2)
665 #define SIPO_NODRAWCFRANUM              (1<<3)
666 #define SIPO_DRAWTIME                   (1<<4)
667
668 /* SpaceIpo->mode (Graph Editor Mode) */
669 enum {
670                 /* all animation curves (from all over Blender) */
671         SIPO_MODE_ANIMATION     = 0,
672                 /* drivers only */
673         SIPO_MODE_DRIVERS,
674 } eGraphEdit_Mode;
675
676 /* SpaceText flags (moved from DNA_text_types.h) */
677
678 #define ST_SCROLL_SELECT        0x0001 // scrollable
679 #define ST_CLEAR_NAMESPACE      0x0010 // clear namespace after script
680                                        // execution (see BPY_main.c)
681 #define ST_FIND_WRAP                    0x0020
682 #define ST_FIND_ALL                             0x0040
683
684
685 /* stext->findstr/replacestr */
686 #define ST_MAX_FIND_STR         256
687
688 /* SpaceOops->flag */
689 #define SO_TESTBLOCKS   1
690 #define SO_NEWSELECTED  2
691 #define SO_HIDE_RESTRICTCOLS            4
692 #define SO_HIDE_KEYINGSETINFO           8
693
694 /* SpaceOops->outlinevis */
695 #define SO_ALL_SCENES   0
696 #define SO_CUR_SCENE    1
697 #define SO_VISIBLE              2
698 #define SO_SELECTED             3
699 #define SO_ACTIVE               4
700 #define SO_SAME_TYPE    5
701 #define SO_GROUPS               6
702 #define SO_LIBRARIES    7
703 #define SO_VERSE_SESSION        8
704 #define SO_VERSE_MS             9
705 #define SO_SEQUENCE             10
706 #define SO_DATABLOCKS   11
707 #define SO_USERDEF              12
708
709 /* SpaceOops->storeflag */
710 #define SO_TREESTORE_CLEANUP    1
711                 /* if set, it allows redraws. gets set for some allqueue events */
712 #define SO_TREESTORE_REDRAW             2
713
714 /* headerbuttons: 450-499 */
715
716 #define B_IMASELHOME            451
717 #define B_IMASELREMOVEBIP       452
718
719 #define C_BACK  0xBAAAAA
720 #define C_DARK  0x665656
721 #define C_DERK  0x766666
722 #define C_HI    0xCBBBBB
723 #define C_LO    0x544444
724
725 /* queue settings */
726 #define IMS_KNOW_WIN        1
727 #define IMS_KNOW_BIP        2
728 #define IMS_KNOW_DIR        4
729 #define IMS_DOTHE_INF           8
730 #define IMS_KNOW_INF       16
731 #define IMS_DOTHE_IMA      32
732 #define IMS_KNOW_IMA       64
733 #define IMS_FOUND_BIP     128
734 #define IMS_DOTHE_BIP     256
735 #define IMS_WRITE_NO_BIP  512
736
737 /* imasel->mode */
738 #define IMS_NOIMA                       0
739 #define IMS_IMA                         1
740 #define IMS_ANIM                        2
741 #define IMS_DIR                         4
742 #define IMS_FILE                        8
743 #define IMS_STRINGCODE          16
744
745 #define IMS_INDIR                       1
746 #define IMS_INDIRSLI            2
747 #define IMS_INFILE                      3
748 #define IMS_INFILESLI           4
749
750 /* nla->flag */
751         // depreceated
752 #define SNLA_ALLKEYED           (1<<0)
753         // depreceated
754 #define SNLA_ACTIVELAYERS       (1<<1)
755
756 #define SNLA_DRAWTIME           (1<<2)
757 #define SNLA_NOTRANSKEYCULL     (1<<3)
758 #define SNLA_NODRAWCFRANUM      (1<<4)
759
760 /* time->flag */
761         /* show timing in frames instead of in seconds */
762 #define TIME_DRAWFRAMES         1
763         /* temporary flag set when scrubbing time */
764 #define TIME_CFRA_NUM           2
765         /* only keyframes from active/selected channels get shown */
766 #define TIME_ONLYACTSEL         4
767
768 /* time->redraws */
769 #define TIME_REGION                             1
770 #define TIME_ALL_3D_WIN                 2
771 #define TIME_ALL_ANIM_WIN               4
772 #define TIME_ALL_BUTS_WIN               8
773 #define TIME_WITH_SEQ_AUDIO             16
774 #define TIME_SEQ                                32
775 #define TIME_ALL_IMAGE_WIN              64
776 #define TIME_CONTINUE_PHYSICS   128
777
778 /* sseq->mainb */
779 #define SEQ_DRAW_SEQUENCE         0
780 #define SEQ_DRAW_IMG_IMBUF        1
781 #define SEQ_DRAW_IMG_WAVEFORM     2
782 #define SEQ_DRAW_IMG_VECTORSCOPE  3
783 #define SEQ_DRAW_IMG_HISTOGRAM    4
784
785 /* sseq->flag */
786 #define SEQ_DRAWFRAMES   1
787 #define SEQ_MARKER_TRANS 2
788 #define SEQ_DRAW_COLOR_SEPERATED     4
789 #define SEQ_DRAW_SAFE_MARGINS        8
790 #define SEQ_DRAW_GPENCIL                        16
791
792 /* space types, moved from DNA_screen_types.h */
793 enum {
794         SPACE_EMPTY,
795         SPACE_VIEW3D,
796         SPACE_IPO,
797         SPACE_OUTLINER,
798         SPACE_BUTS,
799         SPACE_FILE,
800         SPACE_IMAGE,            
801         SPACE_INFO,
802         SPACE_SEQ,
803         SPACE_TEXT,
804         SPACE_IMASEL,
805         SPACE_SOUND,
806         SPACE_ACTION,
807         SPACE_NLA,
808         SPACE_SCRIPT,
809         SPACE_TIME,
810         SPACE_NODE,
811         SPACE_LOGIC,
812         SPACEICONMAX = SPACE_LOGIC
813 };
814
815 #endif