Exemplo n.º 1
0
u32 sal_VideoInit(u32 bpp)
{
    SDL_ShowCursor(0);

    mBpp=bpp;

    //Set up the screen
    mScreen = SDL_SetVideoMode( SAL_SCREEN_WIDTH, SAL_SCREEN_HEIGHT, bpp, SDL_HWSURFACE |
#ifdef SDL_TRIPLEBUF
                                SDL_TRIPLEBUF
#else
                                SDL_DOUBLEBUF
#endif
                              );

    //If there was an error in setting up the screen
    if( mScreen == NULL )
    {
        sal_LastErrorSet("SDL_SetVideoMode failed");
        return SAL_ERROR;
    }

    // lock surface if needed
    if (SDL_MUSTLOCK(mScreen))
    {
        if (SDL_LockSurface(mScreen) < 0)
        {
            sal_LastErrorSet("unable to lock surface");
            return SAL_ERROR;
        }
    }

    return SAL_OK;
}
Exemplo n.º 2
0
u32 sal_VideoInit(u32 bpp, u32 color, u32 refreshRate)
{
	SDL_ShowCursor(0);

	if (mScreen)
	{
		if (mBpp == bpp)
		{
			return SAL_OK;
		}
		SDL_VideoQuit();
		mScreen=NULL;
	}
	
	mBpp=bpp;
	mRefreshRate=refreshRate;

	//Set up the screen
	mScreen = SDL_SetVideoMode( SAL_SCREEN_WIDTH, SAL_SCREEN_HEIGHT, bpp, SDL_HWSURFACE | SDL_DOUBLEBUF);

    	//If there was an error in setting up the screen
    	if( mScreen == NULL )
    	{
		sal_LastErrorSet("SDL_SetVideoMode failed");        	
		return SAL_ERROR;
    	}

    	// lock surface if needed 
	if (SDL_MUSTLOCK(mScreen)) 
	{ 
		if (SDL_LockSurface(mScreen) < 0) 
		{ 
			sal_LastErrorSet("unable to lock surface"); 
			return SAL_ERROR;
		} 
	}

	sal_VideoClear(color);
   
	sal_VideoFlip(1);
   
	return SAL_OK;
}