diff options
author | Mike Erwin <significant.bit@gmail.com> | 2011-07-25 04:03:07 +0400 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2011-07-25 04:03:07 +0400 |
commit | 73417bfbb564a2e5b1b203e436994ea8b7f3c535 (patch) | |
tree | 3ab633e6397cb7396ab24a5730d8a4204fc18c9e /source/blender/windowmanager | |
parent | abf658d36785e3fb0fe458ba7ee9b22987a9c036 (diff) |
spoof MOUSEMOVE after NDOF_MOTION event, added comments
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index ad8df1ef0bb..322cd3b5642 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -1815,7 +1815,10 @@ void wm_event_do_handlers(bContext *C) /* for regions having custom cursors */ wm_paintcursor_test(C, event); } - + else if (event->type==NDOF_MOTION) { + win->addmousemove = TRUE; + } + for(sa= win->screen->areabase.first; sa; sa= sa->next) { if(wm_event_inside_i(event, &sa->totrct)) { CTX_wm_area_set(C, sa); @@ -1879,7 +1882,10 @@ void wm_event_do_handlers(bContext *C) if(doit && win->screen && win->screen->subwinactive != win->screen->mainwin) { win->eventstate->prevx= event->x; win->eventstate->prevy= event->y; + //printf("win->eventstate->prev = %d %d\n", event->x, event->y); } + else + ;//printf("not setting prev to %d %d\n", event->x, event->y); } /* store last event for this window */ @@ -1922,6 +1928,7 @@ void wm_event_do_handlers(bContext *C) /* only add mousemove when queue was read entirely */ if(win->addmousemove && win->eventstate) { wmEvent tevent= *(win->eventstate); + //printf("adding MOUSEMOVE %d %d\n", tevent.x, tevent.y); tevent.type= MOUSEMOVE; tevent.prevx= tevent.x; tevent.prevy= tevent.y; @@ -2408,6 +2415,8 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U update_tablet_data(win, &event); wm_event_add(win, &event); + + //printf("sending MOUSEMOVE %d %d\n", event.x, event.y); /* also add to other window if event is there, this makes overdraws disappear nicely */ /* it remaps mousecoord to other window in event */ @@ -2586,6 +2595,8 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U attach_ndof_data(&event, customdata); wm_event_add(win, &event); + //printf("sending NDOF_MOTION, prev = %d %d\n", event.x, event.y); + break; } |