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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 );
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user