diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-12-19 17:58:24 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-12-19 17:58:24 +0300 |
commit | 924122199b3f4e8c548397c9859c783514008ea2 (patch) | |
tree | 9f9a073cc8f6e2d7abf532593d4cba0e8828b4bb /source/blender/windowmanager/WM_types.h | |
parent | 7e8af5868e3eea49f544a0487a01cb2134b6cb4d (diff) |
Bugfix: doubles are not supported correctly in SDNA, double click
introduced one in wmWindow.last_click_time. Moved this to the wmEvent
struct, which now no is in DNA, was needed for RNA wrapping but not
needed anymore.
Diffstat (limited to 'source/blender/windowmanager/WM_types.h')
-rw-r--r-- | source/blender/windowmanager/WM_types.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index 2a742b29d1c..318945918e7 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -288,6 +288,44 @@ typedef struct wmGesture { /* customdata for lasso is short array */ } wmGesture; +/* ************** wmEvent ************************ */ + +/* 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, screen coord */ + short mval[2]; /* region mouse position, name convention pre 2.5 :) */ + short unicode; /* future, ghost? */ + char ascii; /* from ghost */ + char pad; + + /* previous state */ + short prevtype; + short prevval; + short prevx, prevy; + double prevclicktime; + + /* modifier states */ + short shift, ctrl, alt, oskey; /* oskey is apple or windowskey, value denotes order of pressed */ + short keymodifier; /* rawkey modifier */ + + short pad1; + + /* keymap item, set by handler (weak?) */ + const char *keymap_idname; + + /* custom data */ + short custom; /* custom data type, stylus, 6dof, see wm_event_types.h */ + short customdatafree; + int pad2; + void *customdata; /* ascii, unicode, mouse coords, angles, vectors, dragdrop info */ + +} wmEvent; + /* ************** custom wmEvent data ************** */ typedef struct wmTabletData { int Active; /* 0=EVT_TABLET_NONE, 1=EVT_TABLET_STYLUS, 2=EVT_TABLET_ERASER */ |