Mercurial > sdl-ios-xcode
changeset 204:62bad9a82022
Added photon fixes submitted by Luca Barbato
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 08 Oct 2001 18:54:06 +0000 |
parents | c6a0a7fe9a21 |
children | 13161d3d349d |
files | src/video/photon/SDL_ph_modes.c src/video/photon/SDL_ph_video.c |
diffstat | 2 files changed, 49 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/photon/SDL_ph_modes.c Sun Sep 30 20:23:55 2001 +0000 +++ b/src/video/photon/SDL_ph_modes.c Mon Oct 08 18:54:06 2001 +0000 @@ -205,7 +205,7 @@ void ph_FreeVideoModes(_THIS) { - int i; +// int i; // if ( SDL_modelist ) { // for ( i=0; SDL_modelist[i]; ++i ) { @@ -222,9 +222,10 @@ if ( use_vidmode ) { PgDisplaySettings_t settings; PgVideoModeInfo_t current_mode_info; + PgHWCaps_t my_hwcaps; unsigned short current_bpp; int i; - + /* if (PgGetVideoMode( &settings ) < 0) { fprintf(stderr,"error: PgGetVideoMode failed\n"); @@ -235,6 +236,17 @@ fprintf(stderr,"error: PgGetVideoModeInfo failed\n"); return; } + */ + //lu_zero + if (PgGetGraphicsHWCaps(&my_hwcaps) < 0) + { + fprintf(stderr,"set_best_resolution: GetGraphicsHWCaps failed!! \n"); + //that HAVE to work + } + if (PgGetVideoModeInfo(my_hwcaps.current_video_mode, ¤t_mode_info) < 0) + { + fprintf(stderr,"set_best_resolution: PgGetVideoModeInfo failed\n"); + } current_bpp = current_mode_info.bits_per_pixel; if (PgGetVideoModeList(&mode_list) >= 0) @@ -279,14 +291,25 @@ { if ( use_vidmode ) { - PgDisplaySettings_t settings; + //PgDisplaySettings_t settings; + PgVideoModeInfo_t current_mode_info; + PgHWCaps_t my_hwcaps; int unused; - + /* if (PgGetVideoMode( &settings ) >= 0) { *w = settings.xres; *h = settings.yres; return; - } + }*/ + if (PgGetGraphicsHWCaps(&my_hwcaps) >= 0) + { + if (PgGetVideoModeInfo(my_hwcaps.current_video_mode, ¤t_mode_info) < 0) + { + fprintf(stderr,"get_real_resolution: PgGetVideoModeInfo failed\n"); + } + *w = current_mode_info.width; + *h = current_mode_info.height; + } } // *w = DisplayWidth(SDL_Display, SDL_Screen); // *h = DisplayHeight(SDL_Display, SDL_Screen);
--- a/src/video/photon/SDL_ph_video.c Sun Sep 30 20:23:55 2001 +0000 +++ b/src/video/photon/SDL_ph_video.c Mon Oct 08 18:54:06 2001 +0000 @@ -154,6 +154,7 @@ int rtnval; PgDisplaySettings_t mysettings; PgVideoModeInfo_t my_mode_info; + PgHWCaps_t my_hwcaps; if( NULL == ( event = malloc( EVENT_SIZE ) ) ) exit( EXIT_FAILURE ); @@ -207,13 +208,19 @@ if(SDL_BlankCursor == NULL) printf("could not create blank cursor\n"); /* Get the video mode */ + /* if (PgGetVideoMode( &mysettings ) < 0) { - fprintf(stderr,"ph_VideoInit: PgGetVideoMode failed\n"); + fprintf(stderr,"ph_VideoInit: PgGetVideoMode failed patch A?? \n"); //QNX6/Patch A always fails return code even though call succeeds. fixed Patch B } - - if (PgGetVideoModeInfo(mysettings.mode, &my_mode_info) < 0) + */ + if (PgGetGraphicsHWCaps(&my_hwcaps) < 0) + { + fprintf(stderr,"ph_VideoInit: GetGraphicsHWCaps failed!! \n"); + //that HAVE to work + } + if (PgGetVideoModeInfo(my_hwcaps.current_video_mode, &my_mode_info) < 0) { fprintf(stderr,"ph_VideoInit: PgGetVideoModeInfo failed\n"); } @@ -258,6 +265,7 @@ { PhRegion_t region_info; PgDisplaySettings_t settings; + PgHWCaps_t my_hwcaps; PgVideoModeInfo_t mode_info; int mode, actual_width, actual_height; PtArg_t arg[5]; @@ -295,15 +303,22 @@ /* Get the video mode and set it */ if (bpp == 0) { + /*again same issue, same solution if (PgGetVideoMode( &settings ) < 0) { fprintf(stderr,"error: PgGetVideoMode failed\n"); } - if (PgGetVideoModeInfo(settings.mode, &mode_info) < 0) + */ + if (PgGetGraphicsHWCaps(&my_hwcaps) < 0) + { + fprintf(stderr,"ph_SetVideoMode: GetGraphicsHWCaps failed!! \n"); + //that HAVE to work + } + if (PgGetVideoModeInfo(my_hwcaps.current_video_mode, &mode_info) < 0) { - fprintf(stderr,"error: PgGetVideoModeInfo failed\n"); + fprintf(stderr,"ph_SetVideoMode: PgGetVideoModeInfo failed\n"); } - bpp = mode_info.bits_per_pixel; + bpp = mode_info.bits_per_pixel; } if (flags & SDL_ANYFORMAT) {