Mercurial > sdl-ios-xcode
diff src/video/photon/SDL_photon.c @ 3384:04af265172f9
Continue working on 2D support in Photon.
author | Mike Gorchak <lestat@i.com.ua> |
---|---|
date | Mon, 12 Oct 2009 08:21:43 +0000 |
parents | 90935231e9b6 |
children | fff074de9675 |
line wrap: on
line diff
--- a/src/video/photon/SDL_photon.c Sun Oct 11 18:45:39 2009 +0000 +++ b/src/video/photon/SDL_photon.c Mon Oct 12 08:21:43 2009 +0000 @@ -382,6 +382,7 @@ didata->device_id = it; /* Query photon about graphics hardware caps and current video mode */ + SDL_memset(&hwcaps, 0x00, sizeof(PgHWCaps_t)); status = PgGetGraphicsHWCaps(&hwcaps); if (status != 0) { PhRect_t extent; @@ -425,6 +426,17 @@ SDL_free(didata); return -1; } + + /* Get current video mode 2D capabilities */ + didata->mode_2dcaps=0; + if ((modeinfo.mode_capabilities2 & PgVM_MODE_CAP2_ALPHA_BLEND)==PgVM_MODE_CAP2_ALPHA_BLEND) + { + didata->mode_2dcaps|=SDL_VIDEO_CAP_ALPHA_BLEND; + } + if ((modeinfo.mode_capabilities2 & PgVM_MODE_CAP2_SCALED_BLIT)==PgVM_MODE_CAP2_SCALED_BLIT) + { + didata->mode_2dcaps|=SDL_VIDEO_CAP_SCALED_BLIT; + } } /* Setup current desktop mode for SDL */ @@ -749,6 +761,17 @@ didata->current_mode = *mode; didata->current_mode.refresh_rate = refresh_rate; + /* Get current video mode 2D capabilities */ + didata->mode_2dcaps=0; + if ((modeinfo.mode_capabilities2 & PgVM_MODE_CAP2_ALPHA_BLEND)==PgVM_MODE_CAP2_ALPHA_BLEND) + { + didata->mode_2dcaps|=SDL_VIDEO_CAP_ALPHA_BLEND; + } + if ((modeinfo.mode_capabilities2 & PgVM_MODE_CAP2_SCALED_BLIT)==PgVM_MODE_CAP2_SCALED_BLIT) + { + didata->mode_2dcaps|=SDL_VIDEO_CAP_SCALED_BLIT; + } + return 0; }