Andrey      2009-09-21 19:14:43 PDT

gapi->hiresFix depends on the parameters GetSystemMetrics (SM_CXSCREEN) and
GetSystemMetrics (SM_CXSCREEN).
After the "Open GAPI display" they are changing.
Small patch fixed it.

--HG--
branch : SDL-1.2
This commit is contained in:
Sam Lantinga
2009-09-23 07:01:50 +00:00
parent 1bca236eb9
commit c2faa4c32c
2 changed files with 12 additions and 1 deletions

View File

@@ -776,9 +776,14 @@ SDL_Surface *GAPI_SetVideoMode(_THIS, SDL_Surface *current,
*/
WIN_FlushMessageQueue();
/* Open GAPI display */
/* Open GAPI display */
if( !gapi->useVga && gapi->useGXOpenDisplay && !gapi->alreadyGXOpened )
{
#if REPORT_VIDEO_INFO
printf("system display width (orig): %d\n", GetSystemMetrics(SM_CXSCREEN));
printf("system display height (orig): %d\n", GetSystemMetrics(SM_CYSCREEN));
#endif
gapi->hiresFix = (width > GetSystemMetrics(SM_CXSCREEN)) || (height > GetSystemMetrics(SM_CYSCREEN));
gapi->alreadyGXOpened = 1;
if( !gapi->gxFunc.GXOpenDisplay(SDL_Window, GX_FULLSCREEN) )
{

View File

@@ -92,6 +92,12 @@ static void GapiTransform(GapiInfo *gapiInfo, LONG *x, LONG *y) {
Sint16 rotatedX;
Sint16 rotatedY;
if(gapiInfo->hiresFix)
{
*x *= 2;
*y *= 2;
}
if(gapiInfo->userOrientation == SDL_ORIENTATION_UP &&
gapiInfo->gapiOrientation == SDL_ORIENTATION_RIGHT)
{