New "Gesture Manager" system.
authorDiego Borghetti <bdiego@gmail.com>
Sat, 19 Jan 2008 17:54:05 +0000 (17:54 +0000)
committerDiego Borghetti <bdiego@gmail.com>
Sat, 19 Jan 2008 17:54:05 +0000 (17:54 +0000)
commitb80049a139752fc9074d4d8a74019ccdef36936d
tree7bb5195ded66d61e210b3fac1b2e9c531f57cf03
parentd7223cb3aaaa87a9afb0b84874997d57dc9323ae
New "Gesture Manager" system.

This is a first implementation of the "gesture manager" system,
the idea is put the WM in a automatic draw mode so we can
implement different "Gesture types" to draw different class
of data (lasso, bound box, etc).

The gesture data is passed through the data field of the notifiers,
i think that we can change this to something like:
WM_gesture_init(C, data); /* put the data in the context. */

while() {
/* send WM_NOTE_GESTURE_CHANGED to update screen */
}

/* send event and free the data in the context. */
WM_gesture_end(C);

Also i add a new operator and event to test the gesture manager.
The new operator is the "border select" function, just press BKEY
in the window and LMB or ESCKEY to exit.
In the case of LMB you can see a print in the console about the
BORDERSELECT event.

All this still need a lot of work, comment are welcome.
14 files changed:
source/blender/editors/include/ED_screen.h
source/blender/editors/screen/screen_edit.c
source/blender/makesdna/DNA_screen_types.h
source/blender/makesdna/DNA_windowmanager_types.h
source/blender/windowmanager/WM_api.h
source/blender/windowmanager/WM_types.h
source/blender/windowmanager/intern/wm.c
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_gesture.c [new file with mode: 0644]
source/blender/windowmanager/intern/wm_operators.c
source/blender/windowmanager/intern/wm_window.c
source/blender/windowmanager/wm_event_system.h
source/blender/windowmanager/wm_event_types.h
source/blender/windowmanager/wm_gesture_types.h [new file with mode: 0644]