SM_SDL_OrderedDither -> RageSurfaceUtils::OrderedDither

SM_SDL_ErrorDiffusionDither -> RageSurfaceUtils::ErrorDiffusionDither
(these have nothing to do with SDL; I'd rename the files but I hate
losing CVS history)
This commit is contained in:
Glenn Maynard
2004-08-28 09:09:34 +00:00
parent 01ed84e315
commit 3d3cbc73e5
4 changed files with 10 additions and 7 deletions
+2 -2
View File
@@ -383,9 +383,9 @@ void BannerCache::CacheBannerInternal( CString BannerPath )
RageSurface *dst = CreateSurface( img->w, img->h, 16, RageSurface *dst = CreateSurface( img->w, img->h, 16,
0x7C00, 0x03E0, 0x001F, 0x8000 ); 0x7C00, 0x03E0, 0x001F, 0x8000 );
/* SM_SDL_OrderedDither is still faster than SM_SDL_ErrorDiffusionDither, and /* OrderedDither is still faster than ErrorDiffusionDither, and
* these images are very small and only displayed briefly. */ * these images are very small and only displayed briefly. */
SM_SDL_OrderedDither(img, dst); RageSurfaceUtils::OrderedDither( img, dst );
delete img; delete img;
img = dst; img = dst;
} }
+1 -1
View File
@@ -233,7 +233,7 @@ void RageBitmapTexture::Create()
RageSurface *dst = CreateSurface( img->w, img->h, pfd->bpp, RageSurface *dst = CreateSurface( img->w, img->h, pfd->bpp,
pfd->masks[0], pfd->masks[1], pfd->masks[2], pfd->masks[3] ); pfd->masks[0], pfd->masks[1], pfd->masks[2], pfd->masks[3] );
SM_SDL_ErrorDiffusionDither(img, dst); RageSurfaceUtils::ErrorDiffusionDither( img, dst );
delete img; delete img;
img = dst; img = dst;
} }
+2 -2
View File
@@ -52,7 +52,7 @@ static uint8_t DitherPixel(int x, int y, int intensity, int conv)
return uint8_t((out_intensity + 1) >> 16); return uint8_t((out_intensity + 1) >> 16);
} }
void SM_SDL_OrderedDither(const RageSurface *src, RageSurface *dst) void RageSurfaceUtils::OrderedDither( const RageSurface *src, RageSurface *dst )
{ {
static bool DitherMatCalc_initted = false; static bool DitherMatCalc_initted = false;
if( !DitherMatCalc_initted ) if( !DitherMatCalc_initted )
@@ -167,7 +167,7 @@ void SM_SDL_OrderedDither(const RageSurface *src, RageSurface *dst)
/* This is very similar to SM_SDL_OrderedDither, except instead of using a matrix /* This is very similar to SM_SDL_OrderedDither, except instead of using a matrix
* containing rounding values, we truncate and then add the resulting error for * containing rounding values, we truncate and then add the resulting error for
* each pixel to the next pixel on the same line. (Maybe we could do both?) */ * each pixel to the next pixel on the same line. (Maybe we could do both?) */
void SM_SDL_ErrorDiffusionDither(const RageSurface *src, RageSurface *dst) void RageSurfaceUtils::ErrorDiffusionDither( const RageSurface *src, RageSurface *dst )
{ {
/* We can't dither to paletted surfaces. */ /* We can't dither to paletted surfaces. */
ASSERT( dst->format->BytesPerPixel > 1 ); ASSERT( dst->format->BytesPerPixel > 1 );
+5 -2
View File
@@ -2,8 +2,11 @@
#define SM_SDL_DITHER_H #define SM_SDL_DITHER_H
struct RageSurface; struct RageSurface;
void SM_SDL_OrderedDither(const RageSurface *src, RageSurface *dst); namespace RageSurfaceUtils
void SM_SDL_ErrorDiffusionDither(const RageSurface *src, RageSurface *dst); {
void OrderedDither(const RageSurface *src, RageSurface *dst);
void ErrorDiffusionDither(const RageSurface *src, RageSurface *dst);
};
#endif #endif