Mercurial > sdl-ios-xcode
changeset 1549:066236f0cbf0
Implemented RISC OS and OS/2 desktop resolution code (thanks to Alan and Doodle)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 18 Mar 2006 22:42:09 +0000 |
parents | a77c022733fe |
children | 31c2b8e4885e |
files | src/video/os2fslib/SDL_os2fslib.c src/video/riscos/SDL_riscosvideo.c |
diffstat | 2 files changed, 13 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/os2fslib/SDL_os2fslib.c Sat Mar 18 18:41:59 2006 +0000 +++ b/src/video/os2fslib/SDL_os2fslib.c Sat Mar 18 22:42:09 2006 +0000 @@ -2725,8 +2725,8 @@ } /* Determine the current screen size */ - _this->info.current_w = 0; // FIXME! - _this->info.current_h = 0; // FIXME! + _this->info.current_w = pDesktopMode->uiXResolution; + _this->info.current_h = pDesktopMode->uiYResolution; /* Determine the screen depth */ vformat->BitsPerPixel = pDesktopMode->uiBPP;
--- a/src/video/riscos/SDL_riscosvideo.c Sat Mar 18 18:41:59 2006 +0000 +++ b/src/video/riscos/SDL_riscosvideo.c Sat Mar 18 22:42:09 2006 +0000 @@ -162,6 +162,7 @@ int RISCOS_VideoInit(_THIS, SDL_PixelFormat *vformat) { _kernel_swi_regs regs; + int vars[4], vals[3]; if (RISCOS_InitTask() == 0) { @@ -169,15 +170,19 @@ return 0; } - regs.r[0] = -1; /* Current mode */ - regs.r[1] = 9; /* Log base 2 bpp */ + vars[0] = 9; /* Log base 2 bpp */ + vars[1] = 11; /* XWndLimit - num x pixels -1 */ + vars[2] = 12; /* YWndLimit - num y pixels -1 */ + vars[3] = -1; /* Terminate list */ + regs.r[0] = (int)vars; + regs.r[1] = (int)vals; - _kernel_swi(OS_ReadModeVariable, ®s, ®s); - vformat->BitsPerPixel = (1 << regs.r[2]); + _kernel_swi(OS_ReadVduVariables, ®s, ®s); + vformat->BitsPerPixel = (1 << vals[0]); /* Determine the current screen size */ - this->info.current_w = 0; /* FIXME! */ - this->info.current_h = 0; /* FIXME! */ + this->info.current_w = vals[1] + 1; + this->info.current_h = vals[2] + 1; /* Minimum bpp for SDL is 8 */ if (vformat->BitsPerPixel < 8) vformat->BitsPerPixel = 8;