Support displaying metadata for images in sequencer preview windows (not
[blender.git] / source / blender / makesdna / DNA_space_types.h
index faa99aaaad89fd6658531c58be2467b504d9cf94..d6785da74862847710902ad72ec139867f908eef 100644 (file)
 struct ID;
 struct Text;
 struct Script;
-struct bSound;
-struct ImBuf;
 struct Image;
 struct Scopes;
 struct Histogram;
 struct SpaceIpo;
-struct BlendHandle;
-struct RenderInfo;
 struct bNodeTree;
-struct uiBlock;
 struct FileList;
 struct bGPdata;
 struct bDopeSheet;
 struct FileSelectParams;
 struct FileLayout;
-struct bScreen;
-struct Scene;
 struct wmOperator;
 struct wmTimer;
 struct MovieClip;
 struct MovieClipScopes;
 struct Mask;
-struct GHash;
 struct BLI_mempool;
 
 
@@ -209,6 +201,7 @@ typedef enum eSpaceButtons_Texture_Context {
        SB_TEXC_LAMP = 2,
        SB_TEXC_PARTICLES = 3,
        SB_TEXC_OTHER = 4,
+       SB_TEXC_LINESTYLE = 5,
 } eSpaceButtons_Texture_Context;
 
 /* sbuts->align */
@@ -273,6 +266,7 @@ typedef enum eSpaceOutliner_Flag {
        SO_NEWSELECTED          = (1 << 1),
        SO_HIDE_RESTRICTCOLS    = (1 << 2),
        SO_HIDE_KEYINGSETINFO   = (1 << 3),
+       SO_SKIP_SORT_ALPHA      = (1 << 4),
 } eSpaceOutliner_Flag;
 
 /* SpaceOops->outlinevis */
@@ -291,6 +285,7 @@ typedef enum eSpaceOutliner_Mode {
        SO_DATABLOCKS = 11,
        SO_USERDEF = 12,
        /* SO_KEYMAP = 13, */        /* deprecated! */
+       SO_ID_ORPHANS = 14,
 } eSpaceOutliner_Mode;
 
 /* SpaceOops->storeflag */
@@ -455,12 +450,14 @@ typedef enum eScreen_Redraws_Flag {
        TIME_ALL_3D_WIN        = (1 << 1),
        TIME_ALL_ANIM_WIN      = (1 << 2),
        TIME_ALL_BUTS_WIN      = (1 << 3),
-       TIME_WITH_SEQ_AUDIO    = (1 << 4), /* DEPRECATED */
+       // TIME_WITH_SEQ_AUDIO    = (1 << 4), /* DEPRECATED */
        TIME_SEQ               = (1 << 5),
        TIME_ALL_IMAGE_WIN     = (1 << 6),
-       TIME_CONTINUE_PHYSICS  = (1 << 7), /* UNUSED */
+       // TIME_CONTINUE_PHYSICS  = (1 << 7), /* UNUSED */
        TIME_NODES             = (1 << 8),
        TIME_CLIPS             = (1 << 9),
+
+       TIME_FOLLOW            = (1 << 15),
 } eScreen_Redraws_Flag;
 
 /* time->cache */
@@ -490,17 +487,22 @@ typedef struct SpaceSeq {
        
        float xof DNA_DEPRECATED, yof DNA_DEPRECATED;   /* deprecated: offset for drawing the image preview */
        short mainb;    /* weird name for the sequencer subtype (seq, image, luma... etc) */
-       short render_size;
+       short render_size;  /* eSpaceSeq_Proxy_RenderSize */
        short chanshown;
        short zebra;
        int flag;
        float zoom DNA_DEPRECATED;  /* deprecated, handled by View2D now */
        int view; /* see SEQ_VIEW_* below */
        int overlay_type;
+       int draw_flag; /* overlay an image of the editing on below the strips */
+       int pad;
 
        struct bGPdata *gpd;        /* grease-pencil data */
 
        struct SequencerScopes scopes;  /* different scoped displayed in space */
+
+       char multiview_eye;                             /* multiview current eye - for internal use */
+       char pad2[7];
 } SpaceSeq;
 
 
@@ -513,15 +515,26 @@ typedef enum eSpaceSeq_RegionType {
        SEQ_DRAW_IMG_HISTOGRAM = 4,
 } eSpaceSeq_RegionType;
 
+/* sseq->draw_flag */
+typedef enum eSpaceSeq_DrawFlag {
+       SEQ_DRAW_BACKDROP              = (1 << 0),
+       SEQ_DRAW_OFFSET_EXT            = (1 << 1),
+} eSpaceSeq_DrawFlag;
+
+
 /* sseq->flag */
 typedef enum eSpaceSeq_Flag {
        SEQ_DRAWFRAMES              = (1 << 0),
        SEQ_MARKER_TRANS            = (1 << 1),
        SEQ_DRAW_COLOR_SEPARATED    = (1 << 2),
-       SEQ_DRAW_SAFE_MARGINS       = (1 << 3),
+       SEQ_SHOW_SAFE_MARGINS       = (1 << 3),
        SEQ_SHOW_GPENCIL            = (1 << 4),
        SEQ_NO_DRAW_CFRANUM         = (1 << 5),
        SEQ_USE_ALPHA               = (1 << 6), /* use RGBA display mode for preview */
+       SEQ_ALL_WAVEFORMS           = (1 << 7), /* draw all waveforms */
+       SEQ_NO_WAVEFORMS            = (1 << 8), /* draw no waveforms */
+       SEQ_SHOW_SAFE_CENTER        = (1 << 9),
+       SEQ_SHOW_METADATA           = (1 << 10),
 } eSpaceSeq_Flag;
 
 /* sseq->view */
@@ -542,8 +555,7 @@ typedef enum eSpaceSeq_Proxy_RenderSize {
        SEQ_PROXY_RENDER_SIZE_FULL      = 100
 } eSpaceSeq_Proxy_RenderSize;
 
-typedef struct MaskSpaceInfo
-{
+typedef struct MaskSpaceInfo {
        /* **** mask editing **** */
        struct Mask *mask;
        /* draw options */
@@ -565,17 +577,22 @@ typedef enum eSpaceSeq_OverlayType {
 /* Config and Input for File Selector */
 typedef struct FileSelectParams {
        char title[96]; /* title, also used for the text of the execute button */
-       char dir[1056]; /* directory, FILE_MAX_LIBEXTRA, 1024 + 32, this is for extreme case when 1023 length path
+       char dir[1090]; /* directory, FILE_MAX_LIBEXTRA, 1024 + 66, this is for extreme case when 1023 length path
                         * needs to be linked in, where foo.blend/Armature need adding  */
+       char pad_c1[2];
        char file[256]; /* file */
        char renamefile[256];
        char renameedit[256]; /* annoying but the first is only used for initialization */
 
        char filter_glob[64]; /* list of filetypes to filter */
 
+       char filter_search[64];  /* text items' name must match to be shown. */
+
        int active_file;
        int sel_first;
        int sel_last;
+       unsigned short thumbnail_size;
+       short pad;
 
        /* short */
        short type; /* XXXXX for now store type here, should be moved to the operator */
@@ -618,9 +635,19 @@ typedef struct SpaceFile {
        struct FileLayout *layout;
        
        short recentnr, bookmarknr;
-       short systemnr, pad2;
+       short systemnr, system_bookmarknr;
 } SpaceFile;
 
+/* FSMenuEntry's without paths indicate seperators */
+typedef struct FSMenuEntry {
+       struct FSMenuEntry *next;
+
+       char *path;
+       char name[256];  /* FILE_MAXFILE */
+       short save;
+       short valid;
+       short pad[2];
+} FSMenuEntry;
 
 /* FileSelectParams.display */
 enum FileDisplayTypeE {
@@ -680,27 +707,28 @@ typedef enum eFileSel_Params_Flag {
 
 /* files in filesel list: file types */
 typedef enum eFileSel_File_Types {
-       BLENDERFILE         = (1 << 2),
-       BLENDERFILE_BACKUP  = (1 << 3),
-       IMAGEFILE           = (1 << 4),
-       MOVIEFILE           = (1 << 5),
-       PYSCRIPTFILE        = (1 << 6),
-       FTFONTFILE          = (1 << 7),
-       SOUNDFILE           = (1 << 8),
-       TEXTFILE            = (1 << 9),
-       MOVIEFILE_ICON      = (1 << 10), /* movie file that preview can't load */
-       FOLDERFILE          = (1 << 11), /* represents folders for filtering */
-       BTXFILE             = (1 << 12),
-       COLLADAFILE         = (1 << 13),
-       OPERATORFILE        = (1 << 14), /* from filter_glob operator property */
+       FILE_TYPE_BLENDER           = (1 << 2),
+       FILE_TYPE_BLENDER_BACKUP    = (1 << 3),
+       FILE_TYPE_IMAGE             = (1 << 4),
+       FILE_TYPE_MOVIE             = (1 << 5),
+       FILE_TYPE_PYSCRIPT          = (1 << 6),
+       FILE_TYPE_FTFONT            = (1 << 7),
+       FILE_TYPE_SOUND             = (1 << 8),
+       FILE_TYPE_TEXT              = (1 << 9),
+       /* 1 << 10 was FILE_TYPE_MOVIE_ICON, got rid of this so free slot for future type... */
+       FILE_TYPE_FOLDER            = (1 << 11), /* represents folders for filtering */
+       FILE_TYPE_BTX               = (1 << 12),
+       FILE_TYPE_COLLADA           = (1 << 13),
+       FILE_TYPE_OPERATOR          = (1 << 14), /* from filter_glob operator property */
+       FILE_TYPE_APPLICATIONBUNDLE = (1 << 15),
 } eFileSel_File_Types;
 
 /* Selection Flags in filesel: struct direntry, unsigned char selflag */
 typedef enum eDirEntry_SelectFlag {
-/*  ACTIVE_FILE         = (1 << 1), */ /* UNUSED */
-       HILITED_FILE        = (1 << 2),
-       SELECTED_FILE       = (1 << 3),
-       EDITING_FILE        = (1 << 4),
+/*     FILE_SEL_ACTIVE         = (1 << 1), */ /* UNUSED */
+       FILE_SEL_HIGHLIGHTED    = (1 << 2),
+       FILE_SEL_SELECTED       = (1 << 3),
+       FILE_SEL_EDITING        = (1 << 4),
 } eDirEntry_SelectFlag;
 
 /* Image/UV Editor ======================================== */
@@ -807,6 +835,9 @@ typedef enum eSpaceImage_Flag {
        SI_DRAW_OTHER         = (1 << 23),
 
        SI_COLOR_CORRECTION   = (1 << 24),
+
+       SI_NO_DRAW_TEXPAINT   = (1 << 25),
+       SI_DRAW_METADATA      = (1 << 26)
 } eSpaceImage_Flag;
 
 /* Text Editor ============================================ */
@@ -848,6 +879,8 @@ typedef struct SpaceText {
        char pad[4];
 
        void *drawcache; /* cache for faster drawing */
+
+       float scroll_accum[2]; /* runtime, for scroll increments smaller than a line */
 } SpaceText;
 
 
@@ -913,7 +946,7 @@ typedef struct bNodeTreePath {
        bNodeInstanceKey parent_key;    /* base key for nodes in this tree instance */
        int pad;
        float view_center[2];                   /* v2d center point, so node trees can have different offsets in editors */
-       /* XXX this is not automatically updated when node names are changed! */
+       
        char node_name[64];             /* MAX_NAME */
 } bNodeTreePath;
 
@@ -968,7 +1001,7 @@ typedef enum eSpaceNode_Flag {
        SNODE_SHOW_B         = (1 << 9),
        SNODE_AUTO_RENDER    = (1 << 5),
        SNODE_SHOW_HIGHLIGHT = (1 << 6),
-       SNODE_USE_HIDDEN_PREVIEW = (1 << 10),
+//     SNODE_USE_HIDDEN_PREVIEW = (1 << 10), DNA_DEPRECATED December2013 
        SNODE_NEW_SHADERS = (1 << 11),
        SNODE_PIN            = (1 << 12),
 } eSpaceNode_Flag;
@@ -978,12 +1011,14 @@ typedef enum eSpaceNode_TexFrom {
        SNODE_TEX_OBJECT   = 0,
        SNODE_TEX_WORLD    = 1,
        SNODE_TEX_BRUSH    = 2,
+       SNODE_TEX_LINESTYLE = 3,
 } eSpaceNode_TexFrom;
 
 /* snode->shaderfrom */
 typedef enum eSpaceNode_ShaderFrom {
        SNODE_SHADER_OBJECT = 0,
        SNODE_SHADER_WORLD = 1,
+       SNODE_SHADER_LINESTYLE = 2,
 } eSpaceNode_ShaderFrom;
 
 /* Game Logic Editor ===================================== */
@@ -1104,34 +1139,35 @@ typedef struct SpaceClip {
 
 /* SpaceClip->flag */
 typedef enum eSpaceClip_Flag {
-       SC_SHOW_MARKER_PATTERN = (1 << 0),
-       SC_SHOW_MARKER_SEARCH  = (1 << 1),
-       SC_LOCK_SELECTION      = (1 << 2),
-       SC_SHOW_TINY_MARKER    = (1 << 3),
-       SC_SHOW_TRACK_PATH     = (1 << 4),
-       SC_SHOW_BUNDLES        = (1 << 5),
-       SC_MUTE_FOOTAGE        = (1 << 6),
-       SC_HIDE_DISABLED       = (1 << 7),
-       SC_SHOW_NAMES          = (1 << 8),
-       SC_SHOW_GRID           = (1 << 9),
-       SC_SHOW_STABLE         = (1 << 10),
-       SC_MANUAL_CALIBRATION  = (1 << 11),
-       SC_SHOW_GPENCIL        = (1 << 12),
-       SC_SHOW_FILTERS        = (1 << 13),
-       SC_SHOW_GRAPH_FRAMES   = (1 << 14),
-       SC_SHOW_GRAPH_TRACKS   = (1 << 15),
-/*     SC_SHOW_PYRAMID_LEVELS = (1 << 16), */  /* UNUSED */
-       SC_LOCK_TIMECURSOR     = (1 << 17),
-       SC_SHOW_SECONDS        = (1 << 18),
-       SC_SHOW_GRAPH_SEL_ONLY = (1 << 19),
-       SC_SHOW_GRAPH_HIDDEN   = (1 << 20),
+       SC_SHOW_MARKER_PATTERN      = (1 << 0),
+       SC_SHOW_MARKER_SEARCH       = (1 << 1),
+       SC_LOCK_SELECTION           = (1 << 2),
+       SC_SHOW_TINY_MARKER         = (1 << 3),
+       SC_SHOW_TRACK_PATH          = (1 << 4),
+       SC_SHOW_BUNDLES             = (1 << 5),
+       SC_MUTE_FOOTAGE             = (1 << 6),
+       SC_HIDE_DISABLED            = (1 << 7),
+       SC_SHOW_NAMES               = (1 << 8),
+       SC_SHOW_GRID                = (1 << 9),
+       SC_SHOW_STABLE              = (1 << 10),
+       SC_MANUAL_CALIBRATION       = (1 << 11),
+       SC_SHOW_GPENCIL             = (1 << 12),
+       SC_SHOW_FILTERS             = (1 << 13),
+       SC_SHOW_GRAPH_FRAMES        = (1 << 14),
+       SC_SHOW_GRAPH_TRACKS_MOTION = (1 << 15),
+/*     SC_SHOW_PYRAMID_LEVELS      = (1 << 16), */     /* UNUSED */
+       SC_LOCK_TIMECURSOR          = (1 << 17),
+       SC_SHOW_SECONDS             = (1 << 18),
+       SC_SHOW_GRAPH_SEL_ONLY      = (1 << 19),
+       SC_SHOW_GRAPH_HIDDEN        = (1 << 20),
+       SC_SHOW_GRAPH_TRACKS_ERROR  = (1 << 21),
 } eSpaceClip_Flag;
 
 /* SpaceClip->mode */
 typedef enum eSpaceClip_Mode {
        SC_MODE_TRACKING = 0,
-       SC_MODE_RECONSTRUCTION = 1,
-       SC_MODE_DISTORTION = 2,
+       /*SC_MODE_RECONSTRUCTION = 1,*/  /* DEPRECATED */
+       /*SC_MODE_DISTORTION = 2,*/  /* DEPRECATED */
        SC_MODE_MASKEDIT = 3,
 } eSpaceClip_Mode;
 
@@ -1178,6 +1214,14 @@ typedef enum eSpace_Type {
        SPACEICONMAX = SPACE_CLIP
 } eSpace_Type;
 
+/* use for function args */
+#define SPACE_TYPE_ANY -1
+
+// TODO: SPACE_SCRIPT
+#if (DNA_DEPRECATED_GCC_POISON == 1)
+#pragma GCC poison SPACE_IMASEL SPACE_SOUND
+#endif
+
 #define IMG_SIZE_FALLBACK 256
 
 #endif  /* __DNA_SPACE_TYPES_H__ */