Commit 42e7ceb7 authored by Sam Lantinga's avatar Sam Lantinga

*** empty log message ***

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40315
parent 74c1e3ca
...@@ -110,4 +110,4 @@ SDL_JOYSTICK_ATARI: ...@@ -110,4 +110,4 @@ SDL_JOYSTICK_ATARI:
-- --
Patrice Mandin <pmandin@caramail.com> Patrice Mandin <pmandin@caramail.com>
http://www.multimania.com/pmandin http://membres.lycos.fr/pmandin/
...@@ -619,10 +619,58 @@ static void XBIOS_UnlockHWSurface(_THIS, SDL_Surface *surface) ...@@ -619,10 +619,58 @@ static void XBIOS_UnlockHWSurface(_THIS, SDL_Surface *surface)
static void XBIOS_UpdateRects(_THIS, int numrects, SDL_Rect *rects) static void XBIOS_UpdateRects(_THIS, int numrects, SDL_Rect *rects)
{ {
SDL_Surface *surface; SDL_Surface *surface;
surface = this->screen; surface = this->screen;
XBIOS_FlipHWSurface(this, surface); if ((surface->format->BitsPerPixel) == 8) {
void *destscr;
int destx;
int i;
/* Center on destination screen */
destscr = XBIOS_screens[XBIOS_fbnum];
destscr += XBIOS_pitch * ((XBIOS_height - surface->h) >> 1);
destx = (XBIOS_width - surface->w) >> 1;
destx &= ~15;
destscr += destx;
for (i=0;i<numrects;i++) {
void *source,*destination;
int x1,x2;
x1 = rects[i].x & ~15;
x2 = ((rects[i].x+rects[i].w) | 15) +1;
source = surface->pixels;
source += surface->pitch * rects[i].y;
source += x1;
destination = destscr;
destination += XBIOS_pitch * rects[i].y;
destination += x1;
/* Convert chunky to planar screen */
Atari_C2pConvert(
source,
destination,
x2-x1,
rects[i].h,
XBIOS_doubleline,
surface->pitch,
XBIOS_pitch
);
}
}
Setscreen(-1,XBIOS_screens[XBIOS_fbnum],-1);
Vsync();
if ((surface->flags & SDL_DOUBLEBUF) == SDL_DOUBLEBUF) {
XBIOS_fbnum ^= 1;
if ((surface->format->BitsPerPixel) > 8) {
surface->pixels=XBIOS_screens[XBIOS_fbnum];
}
}
} }
static int XBIOS_FlipHWSurface(_THIS, SDL_Surface *surface) static int XBIOS_FlipHWSurface(_THIS, SDL_Surface *surface)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment