[SVN] r3862 - in branches/gsoc2008_manymouse/src: events video/x11

svn-owner at libsdl.org svn-owner at libsdl.org
Mon Aug 4 04:18:10 PDT 2008


Author: wilku
Date: 2008-08-04 04:18:10 -0700 (Mon, 04 Aug 2008)
New Revision: 3862

Modified:
   branches/gsoc2008_manymouse/src/events/SDL_mouse_c.h
   branches/gsoc2008_manymouse/src/video/x11/SDL_x11video.c
   branches/gsoc2008_manymouse/src/video/x11/SDL_x11window.c
Log:
Further x11 code improvments + comments

Modified: branches/gsoc2008_manymouse/src/events/SDL_mouse_c.h
===================================================================
--- branches/gsoc2008_manymouse/src/events/SDL_mouse_c.h	2008-08-03 10:25:25 UTC (rev 3861)
+++ branches/gsoc2008_manymouse/src/events/SDL_mouse_c.h	2008-08-04 11:18:10 UTC (rev 3862)
@@ -56,6 +56,13 @@
     /* Free the mouse when it's time */
     void (*FreeMouse) (SDL_Mouse * mouse);
 
+    /*data common for tablets*/
+    int pressure;
+    int pressure_max;
+    int pressure_min;
+    int tilt;/*for future use*/
+    int rotation;/*for future use*/
+
     /* Data common to all mice */
     SDL_WindowID focus;
     int which;
@@ -64,11 +71,7 @@
     int z;/*for future use*/
     int xdelta;
     int ydelta;
-    int pressure;
-    int pressure_max;
-    int pressure_min;
-    int tilt;/*for future use*/
-    int rotation;/*for future use*/
+
     char* name;
     Uint8 buttonstate;
     SDL_bool relative_mode;

Modified: branches/gsoc2008_manymouse/src/video/x11/SDL_x11video.c
===================================================================
--- branches/gsoc2008_manymouse/src/video/x11/SDL_x11video.c	2008-08-03 10:25:25 UTC (rev 3861)
+++ branches/gsoc2008_manymouse/src/video/x11/SDL_x11video.c	2008-08-04 11:18:10 UTC (rev 3862)
@@ -220,7 +220,7 @@
 int
 X11_VideoInit(_THIS)
 {
-    int i,index=0,c_not_needed;
+    int i,index=0,event_code;
     XEventClass xEvent;
     SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
 
@@ -250,91 +250,47 @@
         return -1;
     }
     X11_InitMouse(_this);
+
     /*we're generating the table of events that should be recognized*/
     for(i=0;i<SDL_NumOfXDevices;++i)
-    {   
-        DeviceKeyPress(SDL_XDevices[i],c_not_needed,xEvent);
-	    if (xEvent) SDL_XEvents[index++] = xEvent;
-	    DeviceKeyRelease(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
+    {  
+	    /*button events*/
+	    DeviceButtonPress(SDL_XDevices[i],event_code,xEvent);
+	    if (xEvent) 
+        {
+            SDL_XEvents[index++] = xEvent;
+            button_pressed=event_code;
+        }
+	    DeviceButtonRelease(SDL_XDevices[i],event_code,xEvent);
+	    if (xEvent)
+        {
+            SDL_XEvents[index++] = xEvent;
+            button_released=event_code;
+        }
 
-	/*focus events*/
-	DeviceFocusIn(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-	DeviceFocusOut(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
+	    /*proximity events*/
+	    ProximityIn(SDL_XDevices[i],event_code,xEvent);
+	    if (xEvent)
+        {
+            SDL_XEvents[index++] = xEvent;
+            proximity_in=event_code;
+        }
+	    ProximityOut(SDL_XDevices[i],event_code,xEvent);
+	    if (xEvent)
+        {
+            SDL_XEvents[index++] = xEvent;
+            proximity_out=event_code;
+        }
 
-	/*button events*/
-	DeviceButtonPress(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent) 
-    {
-        SDL_XEvents[index++] = xEvent;
-        button_pressed=c_not_needed;
-    }
-	DeviceButtonRelease(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent)
-    {
-        SDL_XEvents[index++] = xEvent;
-        button_released=c_not_needed;
-    }
+	    /*motion events*/
+	    DeviceMotionNotify(SDL_XDevices[i],event_code,xEvent);
+	    if (xEvent) 
+        {
+            SDL_XEvents[index++] = xEvent;
+            motion=event_code;
+        }
 
-	/*proximity events*/
-	ProximityIn(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent)
-    {
-        SDL_XEvents[index++] = xEvent;
-        proximity_in=c_not_needed;
     }
-	ProximityOut(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent)
-    {
-        SDL_XEvents[index++] = xEvent;
-        proximity_out=c_not_needed;
-    }
-	/*motion events*/
-	DeviceMotionNotify(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent) 
-    {
-        SDL_XEvents[index++] = xEvent;
-        motion=c_not_needed;
-    }
-
-	/*device state*/
-	DeviceStateNotify(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-	DeviceMappingNotify(SDL_XDevices[i],
-			c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-	ChangeDeviceNotify(SDL_XDevices[i],c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-
-#if 0
-	/* this cuts the motion data down - not sure if this is useful */
-	DevicePointerMotionHint(SDL_XDevices[i],
-			c_not_neededINPUTEVENT_DEVICE_POINTER_MOTION_HINT],xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-#endif
-
-	/*button motion*/
-	DeviceButtonMotion(SDL_XDevices[i],
-			c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-	DeviceButton1Motion(SDL_XDevices[i],
-			c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-	DeviceButton2Motion(SDL_XDevices[i],
-			c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-	DeviceButton3Motion(SDL_XDevices[i],
-			c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-	DeviceButton4Motion(SDL_XDevices[i],
-			c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-	DeviceButton5Motion(SDL_XDevices[i],
-			c_not_needed,xEvent);
-	if (xEvent) SDL_XEvents[index++] = xEvent;
-    }
     SDL_NumOfXEvents=index;
 
     return 0;

Modified: branches/gsoc2008_manymouse/src/video/x11/SDL_x11window.c
===================================================================
--- branches/gsoc2008_manymouse/src/video/x11/SDL_x11window.c	2008-08-03 10:25:25 UTC (rev 3861)
+++ branches/gsoc2008_manymouse/src/video/x11/SDL_x11window.c	2008-08-04 11:18:10 UTC (rev 3862)
@@ -490,7 +490,6 @@
                       PointerMotionMask | KeyPressMask | KeyReleaseMask |
                       PropertyChangeMask | StructureNotifyMask |
                       KeymapStateMask | fevent));
-    XSelectExtensionEvent(data->display, w, SDL_XEvents, SDL_NumOfXEvents);
     }
 #else
     XMapWindow(data->display,w);
@@ -500,9 +499,11 @@
                   PointerMotionMask | KeyPressMask | KeyReleaseMask |
                   PropertyChangeMask | StructureNotifyMask |
                   KeymapStateMask));
-    XSelectExtensionEvent(data->display, w, SDL_XEvents, SDL_NumOfXEvents);
 #endif
 
+    /*we're informing the display what extension events we want to receive from it*/
+    XSelectExtensionEvent(data->display, w, SDL_XEvents, SDL_NumOfXEvents);
+
     return 0;
 }
 




More information about the commits mailing list