diff options
author | Peter Kim <pk15950@gmail.com> | 2021-10-05 09:55:57 +0300 |
---|---|---|
committer | Peter Kim <pk15950@gmail.com> | 2021-10-05 10:05:12 +0300 |
commit | 08511b1c3de0338314940397083adaba4e9cf492 (patch) | |
tree | 879ddffecd08dd9315847fdcffb0b2d76cee8637 /source/blender/windowmanager/wm_event_system.h | |
parent | 300403a38b8ed7f0f84125ca9a82264757ae704a (diff) |
XR: Add runtime window area for XR events
This adds an offscreen View3D window area for the VR view in order to
execute XR events/operators in the proper context. The area is created
as runtime data before XR events are dispatched and set as the active
area during XR event handling.
Since the area is runtime-only, it will not be saved in files and since
the area is offscreen, it will not interfere with regular window areas.
The area is removed with the rest of the XR runtime data on exit, file
read, or when stopping the VR session.
Note: This also adds internal types (EVT_DATA_XR, EVT_XR_ACTION) and
structs (wmXrActionData) for XR events.
Reviewed By: Severin
Differential Revision: https://developer.blender.org/D12472
Diffstat (limited to 'source/blender/windowmanager/wm_event_system.h')
-rw-r--r-- | source/blender/windowmanager/wm_event_system.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/windowmanager/wm_event_system.h b/source/blender/windowmanager/wm_event_system.h index 787c840de8a..d1eb10787e2 100644 --- a/source/blender/windowmanager/wm_event_system.h +++ b/source/blender/windowmanager/wm_event_system.h @@ -33,6 +33,10 @@ struct ARegion; struct GHOST_TabletData; struct ScrArea; +#ifdef WITH_XR_OPENXR +struct wmXrActionData; +#endif + #ifdef __cplusplus extern "C" { #endif @@ -147,6 +151,9 @@ void wm_event_free_handler(wmEventHandler *handler); void wm_event_do_handlers(bContext *C); void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void *customdata); +#ifdef WITH_XR_OPENXR +void wm_event_add_xrevent(wmWindow *win, struct wmXrActionData *actiondata, short val); +#endif void wm_event_do_depsgraph(bContext *C, bool is_after_open_file); void wm_event_do_refresh_wm_and_depsgraph(bContext *C); |