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:
authorTon Roosendaal <ton@blender.org>2008-01-07 21:03:41 +0300
committerTon Roosendaal <ton@blender.org>2008-01-07 21:03:41 +0300
commit1363134dee60ce96ab0772b72283fb405b6a75ed (patch)
treeece7c62b984d1ebfa8fd1fe1890332c75efa234d /source/blender/windowmanager/wm_event_system.h
parent1005d99ea5190f34c56f6b30d5eca6bf738a78e8 (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.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 */