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