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