comparison src/video/windx5/SDL_dx5events.c @ 1456:84de7511f79f

Fixed a bunch of 64-bit compatibility problems
author Sam Lantinga <slouken@libsdl.org>
date Wed, 01 Mar 2006 09:43:47 +0000
parents d910939febfa
children 4aac8563c296
comparison
equal deleted inserted replaced
1455:f487bb150acc 1456:84de7511f79f
474 posted = SDL_PrivateMouseMotion( 0, 1, xrel, yrel); 474 posted = SDL_PrivateMouseMotion( 0, 1, xrel, yrel);
475 } 475 }
476 } 476 }
477 477
478 /* The main Win32 event handler */ 478 /* The main Win32 event handler */
479 LONG 479 LRESULT DX5_HandleMessage(_THIS, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
480 DX5_HandleMessage(_THIS, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
481 { 480 {
482 switch (msg) { 481 switch (msg) {
483 #ifdef WM_ACTIVATEAPP 482 #ifdef WM_ACTIVATEAPP
484 case WM_ACTIVATEAPP: { 483 case WM_ACTIVATEAPP: {
485 int i, active; 484 int i, active;
501 break; 500 break;
502 #endif /* WM_ACTIVATEAPP */ 501 #endif /* WM_ACTIVATEAPP */
503 502
504 #ifdef WM_DISPLAYCHANGE 503 #ifdef WM_DISPLAYCHANGE
505 case WM_DISPLAYCHANGE: { 504 case WM_DISPLAYCHANGE: {
506 WORD BitsPerPixel; 505 WPARAM BitsPerPixel;
507 WORD SizeX, SizeY; 506 WORD SizeX, SizeY;
508 507
509 /* Ack! The display changed size and/or depth! */ 508 /* Ack! The display changed size and/or depth! */
510 SizeX = LOWORD(lParam); 509 SizeX = LOWORD(lParam);
511 SizeY = HIWORD(lParam); 510 SizeY = HIWORD(lParam);
864 863
865 SDL_RegisterApp(NULL, 0, 0); 864 SDL_RegisterApp(NULL, 0, 0);
866 865
867 SDL_windowid = (windowid != NULL); 866 SDL_windowid = (windowid != NULL);
868 if ( SDL_windowid ) { 867 if ( SDL_windowid ) {
869 SDL_Window = (HWND)SDL_strtol(windowid, NULL, 0); 868 SDL_Window = (HWND)SDL_strtoull(windowid, NULL, 0);
870 if ( SDL_Window == NULL ) { 869 if ( SDL_Window == NULL ) {
871 SDL_SetError("Couldn't get user specified window"); 870 SDL_SetError("Couldn't get user specified window");
872 return(-1); 871 return(-1);
873 } 872 }
874 873
875 /* DJM: we want all event's for the user specified 874 /* DJM: we want all event's for the user specified
876 window to be handled by SDL. 875 window to be handled by SDL.
877 */ 876 */
878 userWindowProc = (WNDPROCTYPE)GetWindowLong(SDL_Window, GWL_WNDPROC); 877 userWindowProc = (WNDPROCTYPE)GetWindowLongPtr(SDL_Window, GWL_WNDPROC);
879 SetWindowLong(SDL_Window, GWL_WNDPROC, (LONG)WinMessage); 878 SetWindowLongPtr(SDL_Window, GWL_WNDPROC, (LONG_PTR)WinMessage);
880 } else { 879 } else {
881 SDL_Window = CreateWindow(SDL_Appname, SDL_Appname, 880 SDL_Window = CreateWindow(SDL_Appname, SDL_Appname,
882 (WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX), 881 (WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX),
883 CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, NULL, NULL, SDL_Instance, NULL); 882 CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, NULL, NULL, SDL_Instance, NULL);
884 if ( SDL_Window == NULL ) { 883 if ( SDL_Window == NULL ) {
902 /* Close down DirectInput */ 901 /* Close down DirectInput */
903 DX5_DInputQuit(this); 902 DX5_DInputQuit(this);
904 903
905 /* Destroy our window */ 904 /* Destroy our window */
906 if ( SDL_windowid ) { 905 if ( SDL_windowid ) {
907 SetWindowLong(SDL_Window, GWL_WNDPROC, (LONG)userWindowProc); 906 SetWindowLongPtr(SDL_Window, GWL_WNDPROC, (LONG_PTR)userWindowProc);
908 } else { 907 } else {
909 DestroyWindow(SDL_Window); 908 DestroyWindow(SDL_Window);
910 } 909 }
911 SDL_UnregisterApp(); 910 SDL_UnregisterApp();
912 } 911 }