diff options
Diffstat (limited to 'source/blender/makesdna/DNA_windowmanager_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_windowmanager_types.h | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index 25a810f5bfd..19d4ab10165 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -32,6 +32,7 @@ #define __DNA_WINDOWMANAGER_TYPES_H__ #include "DNA_listBase.h" +#include "DNA_screen_types.h" #include "DNA_vec_types.h" #include "DNA_userdef_types.h" @@ -41,6 +42,7 @@ struct wmWindowManager; struct wmWindow; +struct wmMsgBus; struct wmEvent; struct wmGesture; struct wmOperatorType; @@ -159,12 +161,15 @@ typedef struct wmWindowManager { char is_interface_locked; /* indicates whether interface is locked for user interaction */ char par[7]; + + struct wmMsgBus *message_bus; + } wmWindowManager; /* wmWindowManager.initialized */ enum { - WM_INIT_WINDOW = (1<<0), - WM_INIT_KEYMAP = (1<<1), + WM_WINDOW_IS_INITIALIZED = (1<<0), + WM_KEYMAP_IS_INITIALIZED = (1<<1), }; /* IME is win32 only! */ @@ -179,10 +184,18 @@ typedef struct wmWindow { struct wmWindow *next, *prev; void *ghostwin; /* don't want to include ghost.h stuff */ + void *gwnctx; /* don't want to include gawin stuff */ + + struct Scene *scene; /* The scene displayed in this window. */ + struct Scene *new_scene; /* temporary when switching */ + + struct WorkSpaceInstanceHook *workspace_hook; - struct bScreen *screen; /* active screen */ - struct bScreen *newscreen; /* temporary when switching */ - char screenname[64]; /* MAX_ID_NAME for matching window with active screen after file read */ + /** Global areas aren't part of the screen, but part of the window directly. + * \note Code assumes global areas with fixed height, fixed width not supported yet */ + ScrAreaMap global_areas; + + struct bScreen *screen DNA_DEPRECATED; short posx, posy, sizex, sizey; /* window coords */ short windowstate; /* borderless, full */ @@ -193,8 +206,7 @@ typedef struct wmWindow { short modalcursor; /* the current modal cursor */ short grabcursor; /* cursor grab mode */ short addmousemove; /* internal: tag this for extra mousemove event, makes cursors/buttons active on UI switching */ - short multisamples; /* amount of samples for OpenGL FSA the ghost window was created with, if zero no FSA */ - short pad[3]; + short pad[4]; int winid; /* winid also in screens, is for retrieving this window after read */ @@ -204,22 +216,16 @@ typedef struct wmWindow { struct wmEvent *eventstate; /* storage for event system */ - struct wmSubWindow *curswin; /* internal for wm_subwindow.c only */ - struct wmGesture *tweak; /* internal for wm_operators.c */ /* Input Method Editor data - complex character input (esp. for asian character input) * Currently WIN32, runtime-only data */ struct wmIMEData *ime_data; - int drawmethod, drawfail; /* internal for wm_draw.c only */ - ListBase drawdata; /* internal for wm_draw.c only */ - ListBase queue; /* all events (ghost level events were handled) */ ListBase handlers; /* window+screen handlers, handled last */ ListBase modalhandlers; /* priority handlers, handled first */ - ListBase subwindows; /* opengl stuff for sub windows, see notes in wm_subwindow.c */ ListBase gesture; /* gesture stuff */ struct Stereo3dFormat *stereo3d_format; /* properties for stereoscopic displays */ @@ -311,6 +317,7 @@ typedef struct wmKeyMap { char idname[64]; /* global editor keymaps, or for more per space/region */ short spaceid; /* same IDs as in DNA_space_types.h */ short regionid; /* see above */ + char owner_id[64]; /* optional, see: #wmOwnerID */ short flag; /* general flags */ short kmi_id; /* last kmi id */ @@ -370,7 +377,6 @@ typedef struct wmOperator { struct wmOperator *opm; /* current running macro, not saved */ struct uiLayout *layout; /* runtime for drawing */ short flag, pad[3]; - } wmOperator; /* operator type return flags: exec(), invoke() modal(), return values */ |