# 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 @@ /> + + + +