# HG changeset patch
# User jimtla
# Date 1276143317 14400
# Node ID 7ad7a473b086ec060b6f771e137be8b73ac4a06c
# Parent 35a80b0791aa1f3d8cc7eb1b653f30e49493951f
More fixes for windows. Disabled tablet code.
diff -r 35a80b0791aa -r 7ad7a473b086 VisualC/SDL/SDL.vcproj
--- 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 @@
/>
+#include
#include "wmmsg.h"
#endif
+//#include
/* 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) {
diff -r 35a80b0791aa -r 7ad7a473b086 src/video/win32/SDL_win32video.h
--- 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
#if SDL_VIDEO_RENDER_D3D
diff -r 35a80b0791aa -r 7ad7a473b086 src/video/win32/SDL_win32window.c
--- 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;
diff -r 35a80b0791aa -r 7ad7a473b086 src/video/win32/wmmsg.h
--- 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)",
diff -r 35a80b0791aa -r 7ad7a473b086 touchTest/touchTest.c
--- 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);
diff -r 35a80b0791aa -r 7ad7a473b086 touchTest/touchTest2/touchTest2.ncb
Binary file touchTest/touchTest2/touchTest2.ncb has changed
diff -r 35a80b0791aa -r 7ad7a473b086 touchTest/touchTest2/touchTest2.suo
Binary file touchTest/touchTest2/touchTest2.suo has changed
diff -r 35a80b0791aa -r 7ad7a473b086 touchTest/touchTest2/touchTest2/SDL.dll
Binary file touchTest/touchTest2/touchTest2/SDL.dll has changed
diff -r 35a80b0791aa -r 7ad7a473b086 touchTest/touchTest2/touchTest2/touchTest2.vcproj
--- 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 @@
/>
+
+
+
+