Mercurial > sdl-ios-xcode
changeset 1219:9a7a016d5a71
Quartz driver: Correctly handle SDL_DOUBLEBUF|SDL_FULLSCREEN when the
resolution is too small and thus emulated by SDL.
Fixes http://www.devolution.com/pipermail/sdl/2005-December/071765.html ...
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Mon, 02 Jan 2006 12:37:40 +0000 |
parents | 057d313e36a2 |
children | ca2f0da7b708 |
files | src/video/quartz/SDL_QuartzVideo.m |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/quartz/SDL_QuartzVideo.m Mon Jan 02 10:49:37 2006 +0000 +++ b/src/video/quartz/SDL_QuartzVideo.m Mon Jan 02 12:37:40 2006 +0000 @@ -975,8 +975,14 @@ if (quit_thread) return 0; - dst = CGDisplayBaseAddress (display_id); - src = current_buffer; + /* + * We have to add SDL_VideoSurface->offset here, since we might be a + * smaller surface in the center of the framebuffer (you asked for + * a fullscreen resolution smaller than the hardware could supply + * so SDL is centering it in a bigger resolution)... + */ + dst = CGDisplayBaseAddress (display_id) + SDL_VideoSurface->offset; + src = current_buffer + SDL_VideoSurface->offset; len = SDL_VideoSurface->w * SDL_VideoSurface->format->BytesPerPixel; h = SDL_VideoSurface->h; skip = SDL_VideoSurface->pitch;