Fixed picking blit function when RLE fails

This commit is contained in:
Sam Lantinga
2008-12-07 22:37:40 +00:00
parent 6b0a2a6894
commit fa3ec5263d
6 changed files with 6 additions and 5 deletions

View File

@@ -52,6 +52,7 @@
#define SDL_COPY_RLE_DESIRED 0x00001000
#define SDL_COPY_RLE_COLORKEY 0x00002000
#define SDL_COPY_RLE_ALPHAKEY 0x00004000
#define SDL_COPY_RLE_MASK (SDL_COPY_RLE_DESIRED|SDL_COPY_RLE_COLORKEY|SDL_COPY_RLE_ALPHAKEY)
/* SDL blit CPU flags */
#define SDL_CPU_ANY 0x00000000

View File

@@ -465,7 +465,7 @@ SDL_CalculateBlit0(SDL_Surface * surface)
} else {
which = surface->map->dst->format->BytesPerPixel;
}
switch (surface->map->info.flags) {
switch (surface->map->info.flags & ~SDL_COPY_RLE_MASK) {
case 0:
return bitmap_blit[which];

View File

@@ -532,7 +532,7 @@ SDL_CalculateBlit1(SDL_Surface * surface)
} else {
which = dstfmt->BytesPerPixel;
}
switch (surface->map->info.flags) {
switch (surface->map->info.flags & ~SDL_COPY_RLE_MASK) {
case 0:
return one_blit[which];

View File

@@ -2153,7 +2153,7 @@ SDL_CalculateBlitA(SDL_Surface * surface)
SDL_PixelFormat *sf = surface->format;
SDL_PixelFormat *df = surface->map->dst->format;
switch (surface->map->info.flags) {
switch (surface->map->info.flags & ~SDL_COPY_RLE_MASK) {
case SDL_COPY_BLEND:
/* Per-pixel alpha blits */
switch (df->BytesPerPixel) {

View File

@@ -2430,7 +2430,7 @@ SDL_CalculateBlitN(SDL_Surface * surface)
return (NULL);
}
switch (surface->map->info.flags) {
switch (surface->map->info.flags & ~SDL_COPY_RLE_MASK) {
case 0:
blitfun = NULL;
if (dstfmt->BitsPerPixel == 8) {

View File

@@ -548,7 +548,7 @@ SDL_GetSurfaceScaleMode(SDL_Surface * surface, int *scaleMode)
return 0;
}
switch (surface->map->info.flags & (SDL_COPY_NEAREST)) {
switch (surface->map->info.flags & SDL_COPY_NEAREST) {
case SDL_COPY_NEAREST:
*scaleMode = SDL_TEXTURESCALEMODE_FAST;
break;