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

Reply via email to