More fixes for windows. Disabled tablet code.
--- 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
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
C:\programs\gsoc10\VisualC\SDLmain\Debug\SDLmain.lib"
+ AdditionalOptions="C:\programs\gsoc10\VisualC\SDL\Debug\SDL.lib
C:\programs\gsoc10\VisualC\SDLmain\Debug\SDLmain.lib
msvcrt.lib
"
+ 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>