From: Rowin H. <row...@gm...> - 2006-05-17 10:07:27
|
Hi, I added 2 new events which I guess could be quite usefull mousewheelup and mousewheel down. At the moment I only implemented it for qt, but anyway heres what I added vgui_event.h ------------------ enum vgui_event_type { vgui_EVENT_NULL =3D 0, vgui_ENTER, vgui_LEAVE, vgui_BUTTON_DOWN, /* */ vgui_MOUSE_DOWN =3D vgui_BUTTON_DOWN, vgui_MOUSE_PRESS =3D vgui_BUTTON_DOWN, vgui_BUTTON_UP, /* */ vgui_MOUSE_UP =3D vgui_BUTTON_UP, vgui_MOUSE_RELEASE =3D vgui_BUTTON_UP, vgui_MOTION, /* */ vgui_MOUSE_MOTION =3D vgui_MOTION, vgui_KEY_PRESS, /* */ vgui_KEY_DOWN =3D vgui_KEY_PRESS, vgui_KEY_RELEASE, /* */ vgui_KEY_UP =3D vgui_KEY_RELEASE, vgui_RESHAPE, vgui_TIMER, vgui_DRAW, vgui_DRAW_OVERLAY, /* */ vgui_OVERLAY_DRAW =3D vgui_DRAW_OVERLAY, vgui_STRING, vgui_HSCROLL, vgui_VSCROLL, vgui_DESTROY, vgui_IDLE, vgui_OTHER, vgui_FOCUSGAINED, vgui_FOCUSLOST, ++ vgui_WHEEL_UP, ++ vgui_WHEEL_DOWN, vgui_EVENT_MAX // This must be the last entry in the list }; vgui_qt_adaptor.h ------------------------- void mouseMoveEvent (QMouseEvent* e); void mousePressEvent (QMouseEvent* e); void mouseReleaseEvent(QMouseEvent* e); void keyPressEvent (QKeyEvent* e); void keyReleaseEvent (QKeyEvent* e); ++ void wheelEvent (QWheelEvent* e); vgui_event translate(QMouseEvent* e); vgui_event translate(QKeyEvent* e); ++ vgui_event translate(QWheelEvent* e); vgui_qt_adaptor.cxx ------------------------------ //-------------------------------------------------------------------------= ------- void vgui_qt_adaptor::wheelEvent (QWheelEvent* e) { vgui_event ev =3D translate(e); if(e->delta() > 0) ev.type =3D vgui_WHEEL_UP; else ev.type =3D vgui_WHEEL_DOWN; dispatch_to_tableau(ev); } vgui_event vgui_qt_adaptor::translate(QWheelEvent* e) { vgui_event ev; int state =3D vgui_MODIFIER_NULL; if (e-> state () & ControlButton) state |=3D vgui_CTRL; if (e-> state () & AltButton) state |=3D vgui_ALT; if (e-> state () & ShiftButton) state |=3D vgui_SHIFT; ev. modifier =3D vgui_modifier (state); ev. wx =3D e-> x (); ev. wy =3D QGLWidget::height () - e-> y (); return ev; } hope this helps --=20 Grtz Rowin Heymans |
From: Peter V. <pet...@ya...> - 2006-05-17 11:44:13
|
Thanks! I've added your changes to the CVS repository, so it should make it into the next release. -- Peter. |