simplify OpenRWops
This commit is contained in:
@@ -633,25 +633,25 @@ bool RageDisplay::SaveScreenshot( CString sPath, GraphicsFileFormat format )
|
||||
CString buf;
|
||||
buf.reserve( 1024*1024 );
|
||||
|
||||
SDL_RWops *rw = OpenRWops( buf );
|
||||
SDL_RWops rw;
|
||||
OpenRWops( &rw, &buf );
|
||||
|
||||
switch( format )
|
||||
{
|
||||
case SAVE_LOSSLESS:
|
||||
SDL_SaveBMP_RW( surface, rw, false );
|
||||
SDL_SaveBMP_RW( surface, &rw, false );
|
||||
break;
|
||||
case SAVE_LOSSY_LOW_QUAL:
|
||||
IMG_SaveJPG_RW( surface, rw, false );
|
||||
IMG_SaveJPG_RW( surface, &rw, false );
|
||||
case SAVE_LOSSY_HIGH_QUAL:
|
||||
IMG_SaveJPG_RW( surface, rw, true );
|
||||
IMG_SaveJPG_RW( surface, &rw, true );
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
return false;
|
||||
}
|
||||
|
||||
SDL_RWclose( rw );
|
||||
SDL_FreeRW( rw );
|
||||
SDL_RWclose( &rw );
|
||||
|
||||
SDL_FreeSurface( surface );
|
||||
surface = NULL;
|
||||
|
||||
@@ -1086,15 +1086,13 @@ int RWString_Close(struct SDL_RWops *context)
|
||||
return 0;
|
||||
}
|
||||
|
||||
SDL_RWops *OpenRWops( CString &sBuf )
|
||||
void OpenRWops( SDL_RWops *rw, CString *sBuf )
|
||||
{
|
||||
SDL_RWops *rw = SDL_AllocRW();
|
||||
rw->hidden.unknown.data1 = new RWString( &sBuf );
|
||||
rw->hidden.unknown.data1 = new RWString( sBuf );
|
||||
rw->seek = RWString_Seek;
|
||||
rw->read = RWString_Read;
|
||||
rw->write = RWString_Write;
|
||||
rw->close = RWString_Close;
|
||||
return rw;
|
||||
}
|
||||
|
||||
SDL_Surface *mySDL_MakeDummySurface( int height, int width )
|
||||
|
||||
@@ -86,7 +86,7 @@ void ApplyHotPinkColorKey( SDL_Surface *&img );
|
||||
|
||||
class RageFile;
|
||||
void OpenRWops( SDL_RWops *rw, RageFile *f );
|
||||
SDL_RWops *OpenRWops( CString &sBuf );
|
||||
void OpenRWops( SDL_RWops *rw, CString *sBuf );
|
||||
SDL_Surface *mySDL_MakeDummySurface( int height, int width );
|
||||
|
||||
CString mySDL_GetError();
|
||||
|
||||
Reference in New Issue
Block a user