diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-02-19 07:18:56 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-02-19 08:17:21 +0300 |
commit | f88ea20285891d516c91c976239f95994f73abf3 (patch) | |
tree | ef07c2513dcfc688d9c6cdd2fa8aa2fdf8b98d32 /source/blender/windowmanager/wm_event_system.h | |
parent | eae2942474fa06b369b3fc6ebdeddad90ca38d43 (diff) |
WM: move operator handler to it's own type
Diffstat (limited to 'source/blender/windowmanager/wm_event_system.h')
-rw-r--r-- | source/blender/windowmanager/wm_event_system.h | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/source/blender/windowmanager/wm_event_system.h b/source/blender/windowmanager/wm_event_system.h index 3e9793521ae..5346ec516ee 100644 --- a/source/blender/windowmanager/wm_event_system.h +++ b/source/blender/windowmanager/wm_event_system.h @@ -45,6 +45,7 @@ enum eWM_EventHandlerType { WM_HANDLER_TYPE_DEFAULT, WM_HANDLER_TYPE_GIZMO, WM_HANDLER_TYPE_UI, + WM_HANDLER_TYPE_OP, }; typedef struct wmEventHandler { @@ -61,13 +62,6 @@ typedef struct wmEventHandler { struct bToolRef *keymap_tool; - /* modal operator handler */ - bool op_is_fileselect; - wmOperator *op; /* for derived/modal handlers */ - struct ScrArea *op_area; /* for derived/modal handlers */ - struct ARegion *op_region; /* for derived/modal handlers */ - short op_region_type; /* for derived/modal handlers */ - /* drop box handler */ ListBase *dropboxes; @@ -97,6 +91,25 @@ typedef struct wmEventHandler_UI { } context; } wmEventHandler_UI; +/** #WM_HANDLER_TYPE_OP */ +typedef struct wmEventHandler_Op { + wmEventHandler base; + + /** Operator can be NULL. */ + wmOperator *op; + + /** Hack, special case for file-select. */ + bool is_fileselect; + + /** Store context for this handler for derived/modal handlers. */ + struct { + struct ScrArea *area; + struct ARegion *region; + short region_type; + } context; +} wmEventHandler_Op; + + /* wm_event_system.c */ void wm_event_free_all (wmWindow *win); void wm_event_free (wmEvent *event); |