changeset 4650:7ad7a473b086

More fixes for windows. Disabled tablet code.
author jimtla
date Thu, 10 Jun 2010 00:15:17 -0400
parents 35a80b0791aa
children 78f6e0b80d1e
files VisualC/SDL/SDL.vcproj src/video/win32/SDL_win32events.c src/video/win32/SDL_win32video.h src/video/win32/SDL_win32window.c src/video/win32/wmmsg.h touchTest/touchTest.c touchTest/touchTest2/touchTest2.ncb touchTest/touchTest2/touchTest2.suo touchTest/touchTest2/touchTest2/SDL.dll touchTest/touchTest2/touchTest2/touchTest2.vcproj
diffstat 10 files changed, 76 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/VisualC/SDL/SDL.vcproj	Sat Jun 05 01:58:56 2010 -0400
+++ b/VisualC/SDL/SDL.vcproj	Thu Jun 10 00:15:17 2010 -0400
@@ -77,18 +77,21 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalOptions="/MACHINE:I386"
+				AdditionalOptions="/MACHINE:I386&#x0D;&#x0A;msvcrt.lib"
 				AdditionalDependencies="msimg32.lib winmm.lib"
 				OutputFile=".\Debug/SDL.dll"
 				LinkIncremental="2"
 				SuppressStartupBanner="true"
-				IgnoreAllDefaultLibraries="true"
+				IgnoreAllDefaultLibraries="false"
+				IgnoreDefaultLibraryNames=""
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile=".\Debug/SDL.pdb"
-				SubSystem="2"
+				SubSystem="0"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
 				ImportLibrary=".\Debug/SDL.lib"
+				Profile="true"
+				CLRThreadAttribute="0"
 				CLRUnmanagedCodeCheck="false"
 			/>
 			<Tool
--- a/src/video/win32/SDL_win32events.c	Sat Jun 05 01:58:56 2010 -0400
+++ b/src/video/win32/SDL_win32events.c	Thu Jun 10 00:15:17 2010 -0400
@@ -20,9 +20,9 @@
     slouken@libsdl.org
 */
 
-#if (_WIN32_WINNT < 0x0501)
+#if (_WIN32_WINNT < 0x601)
 #undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0501
+#define _WIN32_WINNT 0x601
 #endif
 
 #include "SDL_config.h"
@@ -32,11 +32,14 @@
 #include "SDL_vkeys.h"
 #include "../../events/SDL_events_c.h"
 
-/*#define WMMSG_DEBUG*/
+
+
+#define WMMSG_DEBUG
 #ifdef WMMSG_DEBUG
-#include <stdio.h>
+#include <stdio.h>	
 #include "wmmsg.h"
 #endif
+//#include <stdio.h>
 
 /* Masks for processing the windows KEYDOWN and KEYUP messages */
 #define REPEATED_KEYMASK    (1<<30)
@@ -125,9 +128,10 @@
     if (!data) {
         return CallWindowProc(DefWindowProc, hwnd, msg, wParam, lParam);
     }
+
 #ifdef WMMSG_DEBUG
-    {
-        FILE *log = fopen("wmmsg.txt", "a");
+    {		
+        FILE *log = fopen("wmmsg.txt", "a");		
         fprintf(log, "Received windows message: %p ", hwnd);
         if (msg > MAX_WMMSG) {
             fprintf(log, "%d", msg);
@@ -643,7 +647,39 @@
         }
         returnCode = 0;
         break;
-    }
+	case WM_TOUCH:
+		{
+			//printf("Got Touch Event!\n");
+    
+			FILE *log = fopen("wmmsg.txt", "a");
+			fprintf(log, "Received Touch Message: %p ", hwnd);
+			if (msg > MAX_WMMSG) {
+				fprintf(log, "%d", msg);
+			} else {
+				fprintf(log, "%s", wmtab[msg]);
+			}
+			fprintf(log, "WM_TOUCH = %d -- 0x%X, 0x%X\n",msg, wParam, lParam);
+			fclose(log);
+    
+		}
+		break;
+	case WM_GESTURE:
+		{
+			//printf("Got Touch Event!\n");
+    
+			FILE *log = fopen("wmmsg.txt", "a");
+			fprintf(log, "Received Gesture Message: %p ", hwnd);
+			if (msg > MAX_WMMSG) {
+				fprintf(log, "%d", msg);
+			} else {
+				fprintf(log, "%s", wmtab[msg]);
+			}
+			fprintf(log, "WM_GESTURE = %d -- 0x%X, 0x%X\n",msg, wParam, lParam);
+			fclose(log);
+    
+		}
+		break;		
+	}
 
     /* If there's a window proc, assume it's going to handle messages */
     if (data->wndproc) {
--- a/src/video/win32/SDL_win32video.h	Sat Jun 05 01:58:56 2010 -0400
+++ b/src/video/win32/SDL_win32video.h	Thu Jun 10 00:15:17 2010 -0400
@@ -30,7 +30,14 @@
 #define STRICT
 #define UNICODE
 #undef WINVER
-#define WINVER  0x500           /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */
+//#define WINVER  0x500           /* Need 0x410 for AlphaBlend() and 0x500 for EnumDisplayDevices() */
+#define WINVER 0x601  /* Need 0x600 (_WIN32_WINNT_WIN7) for WM_Touch */
+#if (_WIN32_WINNT < 0x601)
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x601
+#endif
+
+
 #include <windows.h>
 
 #if SDL_VIDEO_RENDER_D3D
--- a/src/video/win32/SDL_win32window.c	Sat Jun 05 01:58:56 2010 -0400
+++ b/src/video/win32/SDL_win32window.c	Thu Jun 10 00:15:17 2010 -0400
@@ -256,7 +256,8 @@
         WIN_SetError("Couldn't create window");
         return -1;
     }
-
+	/*Disable Tablet support, replace with multi-touch.*/
+#if 0 
     /* we're configuring the tablet data. See Wintab reference for more info */
     if (videodata->wintabDLL
         && videodata->WTInfoA(WTI_DEFSYSCTX, 0, &lc) != 0) {
@@ -290,6 +291,9 @@
         }
         g_hCtx[window->id] = videodata->WTOpenA(hwnd, &lc, TRUE);
     }
+#else 
+	//RegisterTouchWindow(hwnd, 0);
+#endif 
 #ifndef _WIN32_WCE              /* has no RawInput */
     /* we're telling the window, we want it to report raw input events from mice */
     Rid.usUsagePage = 0x01;
--- a/src/video/win32/wmmsg.h	Sat Jun 05 01:58:56 2010 -0400
+++ b/src/video/win32/wmmsg.h	Thu Jun 10 00:15:17 2010 -0400
@@ -283,7 +283,7 @@
     "WM_INITMENU",
     "WM_INITMENUPOPUP",
     "UNKNOWN (280)",
-    "UNKNOWN (281)",
+    "WM_GESTURE",
     "UNKNOWN (282)",
     "UNKNOWN (283)",
     "UNKNOWN (284)",
@@ -578,7 +578,7 @@
     "UNKNOWN (573)",
     "UNKNOWN (574)",
     "UNKNOWN (575)",
-    "UNKNOWN (576)",
+    "WM_TOUCH",
     "UNKNOWN (577)",
     "UNKNOWN (578)",
     "UNKNOWN (579)",
--- a/touchTest/touchTest.c	Sat Jun 05 01:58:56 2010 -0400
+++ b/touchTest/touchTest.c	Thu Jun 10 00:15:17 2010 -0400
@@ -55,7 +55,7 @@
 
   colour = SDL_MapRGB( screen->format, (col>>16)&0xFF, (col>>8)&0xFF, col&0xFF);
   
-  pixmem32 = (Uint32*) screen->pixels  + y*screen->pitch/BPP + x;
+  pixmem32 = (Uint32*) screen->pixels  + y*screen->pitch/screen->format->BytesPerPixel + x; //TODO : Check this. May cause crash.
   *pixmem32 = colour;
 }
 
@@ -219,6 +219,7 @@
       }
     //And draw
     DrawScreen(screen,h);
+	printf("Things\n");
     /*
       for(i=0;i<512;i++) 
       if(keystat[i]) printf("%i\n",i);
Binary file touchTest/touchTest2/touchTest2.ncb has changed
Binary file touchTest/touchTest2/touchTest2.suo has changed
Binary file touchTest/touchTest2/touchTest2/SDL.dll has changed
--- a/touchTest/touchTest2/touchTest2/touchTest2.vcproj	Sat Jun 05 01:58:56 2010 -0400
+++ b/touchTest/touchTest2/touchTest2/touchTest2.vcproj	Thu Jun 10 00:15:17 2010 -0400
@@ -57,7 +57,8 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalOptions="C:\programs\gsoc10\VisualC\SDL\Debug\SDL.lib&#x0D;&#x0A;C:\programs\gsoc10\VisualC\SDLmain\Debug\SDLmain.lib"
+				AdditionalOptions="C:\programs\gsoc10\VisualC\SDL\Debug\SDL.lib&#x0D;&#x0A;C:\programs\gsoc10\VisualC\SDLmain\Debug\SDLmain.lib&#x0D;&#x0A;msvcrt.lib&#x0D;&#x0A;"
+				IgnoreAllDefaultLibraries="true"
 				GenerateDebugInformation="true"
 				SubSystem="2"
 				TargetMachine="1"
@@ -179,6 +180,14 @@
 			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
 			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
 			>
+			<File
+				RelativePath=".\SDL.dll"
+				>
+			</File>
+			<File
+				RelativePath=".\wmmsg.txt"
+				>
+			</File>
 		</Filter>
 	</Files>
 	<Globals>