diff options
Diffstat (limited to 'source/blender/windowmanager/WM_api.h')
-rw-r--r-- | source/blender/windowmanager/WM_api.h | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index d2abfd419d1..bdb373a78ba 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -53,13 +53,11 @@ struct wmEvent; struct wmEventHandler; struct wmGesture; struct wmJob; -struct wmNotifier; struct wmOperatorType; struct wmOperator; struct rcti; struct PointerRNA; struct PropertyRNA; -struct EnumPropertyItem; struct MenuType; struct wmDropBox; struct wmDrag; @@ -105,6 +103,7 @@ void WM_window_open_temp (struct bContext *C, struct rcti *position, int type); /* returns true if draw method is triple buffer */ bool WM_is_draw_triple(struct wmWindow *win); +bool WM_stereo3d_enabled(struct wmWindow *win, bool only_fullscreen_test); /* files */ @@ -152,7 +151,7 @@ typedef void (*wmUIHandlerRemoveFunc)(struct bContext *C, void *userdata); struct wmEventHandler *WM_event_add_ui_handler( const struct bContext *C, ListBase *handlers, wmUIHandlerFunc ui_handle, wmUIHandlerRemoveFunc ui_remove, - void *userdata, const bool accept_dbl_click); + void *userdata, const char flag); void WM_event_remove_ui_handler( ListBase *handlers, wmUIHandlerFunc ui_handle, wmUIHandlerRemoveFunc ui_remove, @@ -166,23 +165,42 @@ void WM_event_free_ui_handler_all( struct wmEventHandler *WM_event_add_modal_handler(struct bContext *C, struct wmOperator *op); void WM_event_remove_handlers(struct bContext *C, ListBase *handlers); +/* handler flag */ +enum { + WM_HANDLER_BLOCKING = (1 << 0), /* after this handler all others are ignored */ + WM_HANDLER_ACCEPT_DBL_CLICK = (1 << 1), /* handler accepts double key press events */ + + /* internal */ + WM_HANDLER_DO_FREE = (1 << 7), /* handler tagged to be freed in wm_handlers_do() */ +}; + struct wmEventHandler *WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes); /* mouse */ void WM_event_add_mousemove(struct bContext *C); bool WM_modal_tweak_exit(const struct wmEvent *event, int tweak_event); +bool WM_event_is_absolute(const struct wmEvent *event); /* notifiers */ void WM_event_add_notifier(const struct bContext *C, unsigned int type, void *reference); void WM_main_add_notifier(unsigned int type, void *reference); void WM_main_remove_notifier_reference(const void *reference); +void WM_main_remove_editor_id_reference(const struct ID *id); /* reports */ +void WM_report_banner_show(const struct bContext *C); void WM_report(const struct bContext *C, ReportType type, const char *message); void WM_reportf(const struct bContext *C, ReportType type, const char *format, ...) ATTR_PRINTF_FORMAT(3, 4); -void wm_event_add(struct wmWindow *win, const struct wmEvent *event_to_add); -void wm_event_init_from_window(struct wmWindow *win, struct wmEvent *event); +void wm_event_add_ex( + struct wmWindow *win, const struct wmEvent *event_to_add, + const struct wmEvent *event_to_add_after) + ATTR_NONNULL(1, 2); +void wm_event_add( + struct wmWindow *win, const struct wmEvent *event_to_add) + ATTR_NONNULL(1, 2); + +void wm_event_init_from_window(struct wmWindow *win, struct wmEvent *event); /* at maximum, every timestep seconds it triggers event_type events */ |