diff options
Diffstat (limited to 'source/blender/blenloader/BLO_readfile.h')
-rw-r--r-- | source/blender/blenloader/BLO_readfile.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/source/blender/blenloader/BLO_readfile.h b/source/blender/blenloader/BLO_readfile.h index 0213a4ee997..fe38fc86c84 100644 --- a/source/blender/blenloader/BLO_readfile.h +++ b/source/blender/blenloader/BLO_readfile.h @@ -39,6 +39,7 @@ extern "C" { struct BlendThumbnail; struct bScreen; struct LinkNode; +struct ListBase; struct Main; struct MemFile; struct ReportList; @@ -49,6 +50,7 @@ struct View3D; struct bContext; struct BHead; struct FileData; +struct wmWindowManager; typedef struct BlendHandle BlendHandle; @@ -65,13 +67,20 @@ typedef struct BlendFileData { int fileflags; int globalf; char filename[1024]; /* 1024 = FILE_MAX */ - - struct bScreen *curscreen; + + struct bScreen *curscreen; /* TODO think this isn't needed anymore? */ struct Scene *curscene; - + struct SceneLayer *cur_render_layer; /* layer to activate in workspaces when reading without UI */ + BlenFileType type; } BlendFileData; +typedef struct WorkspaceConfigFileData { + struct Main *main; /* has to be freed when done reading file data */ + + struct ListBase workspaces; +} WorkspaceConfigFileData; + /* skip reading some data-block types (may want to skip screen data too). */ typedef enum eBLOReadSkip { @@ -100,6 +109,7 @@ BlendHandle *BLO_blendhandle_from_memory(const void *mem, int memsize); struct LinkNode *BLO_blendhandle_get_datablock_names(BlendHandle *bh, int ofblocktype, int *tot_names); struct LinkNode *BLO_blendhandle_get_previews(BlendHandle *bh, int ofblocktype, int *tot_prev); struct LinkNode *BLO_blendhandle_get_linkable_groups(BlendHandle *bh); +struct LinkNode *BLO_blendhandle_get_appendable_groups(BlendHandle *bh); void BLO_blendhandle_close(BlendHandle *bh); @@ -126,7 +136,9 @@ void *BLO_library_read_struct(struct FileData *fd, struct BHead *bh, const char BlendFileData *blo_read_blendafterruntime(int file, const char *name, int actualsize, struct ReportList *reports); /* internal function but we need to expose it */ -void blo_lib_link_screen_restore(struct Main *newmain, struct bScreen *curscreen, struct Scene *curscene); +void blo_lib_link_restore( + struct Main *newmain, struct wmWindowManager *curwm, + struct Scene *curscene, struct SceneLayer *cur_render_layer); typedef void (*BLOExpandDoitCallback) (void *fdhandle, struct Main *mainvar, void *idv); |