Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_fb Modified Files: Tag: SPLIT ecore_fb.c Log Message: handle 3 mouse buttons in ps2 driver :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_fb/Attic/ecore_fb.c,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -3 -r1.1.2.2 -r1.1.2.3 --- ecore_fb.c 12 Feb 2003 04:40:32 -0000 1.1.2.2 +++ ecore_fb.c 12 Feb 2003 05:06:25 -0000 1.1.2.3 @@ -545,7 +545,7 @@ do { - int x, y, button; + int x, y, button, i; int num; char *ptr; double t; @@ -586,38 +586,44 @@ e->y = y; ecore_event_add(ECORE_FB_EVENT_MOUSE_MOVE, e, _ecore_fb_event_free_generic, NULL); } - if ((button) && (!prev_button)) + for (i = 1; i <= 3; i++) { - /* DOWN: mouse is down, but was not now */ - Ecore_Fb_Event_Mouse_Button_Down *e; + int mask; - e = calloc(1, sizeof(Ecore_Fb_Event_Mouse_Button_Down)); - if (!e) goto retry; - e->x = x; - e->y = y; - e->button = 1; - if ((t - last_time) <= _ecore_fb_double_click_time) - e->double_click = 1; - if ((t - last_last_time) <= (2 * _ecore_fb_double_click_time)) + mask = 1 << (i - 1); + if (((button & mask)) && (!(prev_button & mask))) { - did_triple = 1; - e->triple_click = 1; + /* DOWN: mouse is down, but was not now */ + Ecore_Fb_Event_Mouse_Button_Down *e; + + e = calloc(1, sizeof(Ecore_Fb_Event_Mouse_Button_Down)); + if (!e) goto retry; + e->x = x; + e->y = y; + e->button = 1; + if ((t - last_time) <= _ecore_fb_double_click_time) + e->double_click = 1; + if ((t - last_last_time) <= (2 * _ecore_fb_double_click_time)) + { + did_triple = 1; + e->triple_click = 1; + } + ecore_event_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, e, +_ecore_fb_event_free_generic, NULL); + } + else if ((!(button & mask)) && ((prev_button & mask))) + { + /* UP: mouse was down, but is not now */ + Ecore_Fb_Event_Mouse_Button_Up *e; + + e = calloc(1, sizeof(Ecore_Fb_Event_Mouse_Button_Up)); + if (!e) goto retry; + e->x = x; + e->y = y; + e->button = 1; + ecore_event_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, e, +_ecore_fb_event_free_generic, NULL); } - ecore_event_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, e, _ecore_fb_event_free_generic, NULL); - } - else if ((!button) && (prev_button)) - { - /* UP: mouse was down, but is not now */ - Ecore_Fb_Event_Mouse_Button_Up *e; - - e = calloc(1, sizeof(Ecore_Fb_Event_Mouse_Button_Up)); - if (!e) goto retry; - e->x = x; - e->y = y; - e->button = 1; - ecore_event_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, e, _ecore_fb_event_free_generic, NULL); } - if (did_triple) + if (did_triple) { last_time = 0; last_last_time = 0; ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs