/*
* call-seq:
* to_display() -> Surface
*
* Copies the Surface to a new Surface with the pixel format of the display,
* suitable for fast blitting to the display surface (i.e. Screen).
* May raise SDLError if a problem occurs.
*
* If you want to take advantage of hardware colorkey or alpha blit
* acceleration, you should set the colorkey and alpha value before calling
* this function.
*
*/
VALUE rbgm_surface_dispform(VALUE self)
{
SDL_Surface *surf, *newsurf;
Data_Get_Struct(self, SDL_Surface, surf);
if( init_video_system() == 0 )
{
newsurf = SDL_DisplayFormat( surf );
}
else
{
newsurf = NULL;
}
if( newsurf == NULL )
{
rb_raise(eSDLError,\
"Could not convert the Surface to display format: %s",\
SDL_GetError());
}
return Data_Wrap_Struct( cSurface,0,SDL_FreeSurface,newsurf );
}