Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/windowmanager/wm_event_system.h')
-rw-r--r--source/blender/windowmanager/wm_event_system.h41
1 files changed, 11 insertions, 30 deletions
diff --git a/source/blender/windowmanager/wm_event_system.h b/source/blender/windowmanager/wm_event_system.h
index 9b918ce3cf6..54cf45db61d 100644
--- a/source/blender/windowmanager/wm_event_system.h
+++ b/source/blender/windowmanager/wm_event_system.h
@@ -33,31 +33,6 @@
#define WM_HANDLER_BREAK 1
-/* each event should have full modifier state */
-/* event comes from eventmanager and from keymap */
-typedef struct wmEvent {
- struct wmEvent *next, *prev;
-
- short type; /* event code itself (short, is also in keymap) */
- short val; /* press, release, scrollvalue */
- short x, y; /* mouse pointer position */
- short unicode; /* future, ghost? */
- char ascii; /* from ghost */
- char pad1;
-
- /* modifier states */
- short shift, ctrl, alt, oskey; /* oskey is apple or windowskey, value denotes order of pressed */
- short keymodifier; /* rawkey modifier */
-
- /* keymap item, set by handler (weak?) */
- const char *keymap_idname;
-
- /* custom data */
- short custom; /* custom data type, stylus, 6dof, see wm_event_types.h */
- void *customdata; /* ascii, unicode, mouse coords, angles, vectors, dragdrop info */
-
-} wmEvent;
-
/* wmKeyMap is in DNA_windowmanager.h, it's savable */
typedef struct wmEventHandler {
@@ -73,10 +48,13 @@ typedef struct wmEventHandler {
} wmEventHandler;
+
/* handler flag */
/* after this handler all others are ignored */
#define WM_HANDLER_BLOCKING 1
+
+
/* custom types for handlers, for signalling, freeing */
enum {
WM_HANDLER_DEFAULT,
@@ -84,14 +62,17 @@ enum {
};
-void wm_event_free_all (wmWindow *win);
-wmEvent *wm_event_next (wmWindow *win);
-void wm_event_free_handlers (ListBase *lb);
+void wm_event_free_all (wmWindow *win);
+wmEvent *wm_event_next (wmWindow *win);
+void wm_event_free_handlers (ListBase *lb);
/* goes over entire hierarchy: events -> window -> screen -> area -> region */
-void wm_event_do_handlers(bContext *C);
+void wm_event_do_handlers (bContext *C);
+
+void wm_event_add_ghostevent(wmWindow *win, int type, void *customdata);
-void wm_event_add_ghostevent(wmWindow *win, int type, void *customdata);
+void wm_event_do_notifiers (bContext *C);
+void wm_draw_update (bContext *C);
#endif /* WM_EVENT_SYSTEM_H */