Blender V4.5
wm_event_system.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2007 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "WM_api.hh"
12
13struct ARegion;
14struct bToolRef;
15struct GHOST_TabletData;
16struct ScrArea;
17struct wmEvent;
18struct wmKeyMap;
19struct wmKeyMapItem;
21
22#ifdef WITH_XR_OPENXR
23struct wmXrActionData;
24#endif
25
26/* #wmKeyMap is in `DNA_windowmanager.h`, it's saveable. */
27
36
37using EventHandlerPoll = bool (*)(const wmWindow *win,
38 const ScrArea *area,
39 const ARegion *region,
40 const wmEvent *event);
41
50
53 void (*post_fn)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data);
54 void *user_data;
55};
56
62
75
83
106
130
138
139/* `wm_event_system.cc` */
140
141void wm_event_free_all(wmWindow *win);
142void wm_event_free(wmEvent *event);
144
151
156 wmWindow *win,
157 int type,
158 const void *customdata,
159 const uint64_t event_time_ms);
160#ifdef WITH_XR_OPENXR
161void wm_event_add_xrevent(wmWindow *win, wmXrActionData *actiondata, short val);
162#endif
163
164void wm_event_do_depsgraph(bContext *C, bool is_after_open_file);
175
177 wmWindow *win,
178 ARegion *region,
179 bool reactivate_button);
180
181/* `wm_event_query.cc`. */
182
186float wm_pressure_curve(float raw_pressure);
187void wm_tablet_data_from_ghost(const GHOST_TabletData *tablet_data, wmTabletData *wmtab);
188
189/* `wm_dropbox.cc`. */
190
191void wm_dropbox_free();
198void wm_drop_prepare(bContext *C, wmDrag *drag, wmDropBox *drop);
199void wm_drop_end(bContext *C, wmDrag *drag, wmDropBox *drop);
203void wm_drags_check_ops(bContext *C, const wmEvent *event);
213void wm_drags_draw(bContext *C, wmWindow *win);
#define C
Definition RandGen.cpp:29
int(*)(bContext *C, const wmEvent *event, void *userdata) wmUIHandlerFunc
Definition WM_api.hh:641
eWM_EventHandlerFlag
Definition WM_api.hh:541
bool(*)(const wmWindow *win, const ScrArea *area, const ARegion *region, const wmEvent *event) EventHandlerPoll
Definition WM_api.hh:553
void(*)(wmWindowManager *wm, wmWindow *win, wmEventHandler_Keymap *handler, wmEventHandler_KeymapResult *km_result) wmEventHandler_KeymapDynamicFn
Definition WM_api.hh:605
void(*)(bContext *C, void *userdata) wmUIHandlerRemoveFunc
Definition WM_api.hh:642
wmOperatorCallContext
Definition WM_types.hh:236
unsigned long long int uint64_t
struct wmGizmoMap * gizmo_map
wmEventHandler_KeymapDynamicFn keymap_fn
void(* post_fn)(wmKeyMap *keymap, wmKeyMapItem *kmi, void *user_data)
wmEventHandler_KeymapDynamic dynamic
wmEventHandler_KeymapPost post
wmEventHandler head
struct wmEventHandler_Op::@201124376056252227312207212313325315250365150262 context
wmUIHandlerRemoveFunc remove_fn
struct wmEventHandler_UI::@362332347065273121377045151307270216115063355157 context
wmUIHandlerFunc handle_fn
wmEventHandler head
wmEventHandler * prev
EventHandlerPoll poll
eWM_EventHandlerType type
eWM_EventHandlerFlag flag
wmEventHandler * next
void wm_dropbox_free()
float wm_pressure_curve(float raw_pressure)
void wm_drop_prepare(bContext *C, wmDrag *drag, wmDropBox *drop)
void wm_drop_end(bContext *C, wmDrag *drag, wmDropBox *drop)
void wm_event_do_handlers(bContext *C)
eWM_EventHandlerType
@ WM_HANDLER_TYPE_UI
@ WM_HANDLER_TYPE_OP
@ WM_HANDLER_TYPE_KEYMAP
@ WM_HANDLER_TYPE_GIZMO
@ WM_HANDLER_TYPE_DROPBOX
void wm_event_do_refresh_wm_and_depsgraph(bContext *C)
void wm_event_do_depsgraph(bContext *C, bool is_after_open_file)
void wm_tablet_data_from_ghost(const GHOST_TabletData *tablet_data, wmTabletData *wmtab)
void wm_drags_draw(bContext *C, wmWindow *win)
void wm_event_free_all(wmWindow *win)
wmOperatorCallContext wm_drop_operator_context_get(const wmDropBox *drop)
void wm_drags_check_ops(bContext *C, const wmEvent *event)
bool(*)(const wmWindow *win, const ScrArea *area, const ARegion *region, const wmEvent *event) EventHandlerPoll
void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, const void *customdata, const uint64_t event_time_ms)
void wm_drags_exit(wmWindowManager *wm, wmWindow *win)
void wm_event_handler_ui_cancel_ex(bContext *C, wmWindow *win, ARegion *region, bool reactivate_button)
void wm_event_free(wmEvent *event)
void wm_event_free_handler(wmEventHandler *handler)
void wm_event_do_notifiers(bContext *C)