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 ... --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401222
This commit is contained in:
parent
22cfa5480b
commit
ca9a638c42
1 changed files with 8 additions and 2 deletions
|
@ -975,8 +975,14 @@ static int QZ_ThreadFlip (_THIS) {
|
||||||
if (quit_thread)
|
if (quit_thread)
|
||||||
return 0;
|
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;
|
len = SDL_VideoSurface->w * SDL_VideoSurface->format->BytesPerPixel;
|
||||||
h = SDL_VideoSurface->h;
|
h = SDL_VideoSurface->h;
|
||||||
skip = SDL_VideoSurface->pitch;
|
skip = SDL_VideoSurface->pitch;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue