diff options
author | Ton Roosendaal <ton@blender.org> | 2008-01-07 21:03:41 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2008-01-07 21:03:41 +0300 |
commit | 1363134dee60ce96ab0772b72283fb405b6a75ed (patch) | |
tree | ece7c62b984d1ebfa8fd1fe1890332c75efa234d /source/blender/windowmanager/wm_event_system.h | |
parent | 1005d99ea5190f34c56f6b30d5eca6bf738a78e8 (diff) |
Whole lot of changes.... here a shortlist:
- removed editors/area and put this all in screen
- added first python calls (note, a new c file for scriptlinks)
- added view3d editor callbacks (no drawing yet)
- added files in editors/interface
(Cmake and Scons has to be fixed, help welcome!)
- now areas/headers are being converted on file read
- note: previously saved 2.50 files will crash!!! (.B.blend)
- area regions are being drawn, first handler for cursor added (on edge)
- window duplicate and scale works correct for screen subdiv
Todos for me:
- need to fix things in syntax (function names) a bit still
- more operators for screen
- define how Context will work... still unresolved when it gets set
- docs!
Reviews of code structure is welcome!
There are also more todos now for others, but it can wait a couple of days
Diffstat (limited to 'source/blender/windowmanager/wm_event_system.h')
-rw-r--r-- | source/blender/windowmanager/wm_event_system.h | 41 |
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 */ |