When not in fullscreen mode...
you don't need SDL_DOUBLEBUFF
you should'nt use SDL_Flip
use SDL_UpdateRect
*rummages for reference*
God this book is small....
Code:
Prototype
void SDL_UpdateRect(SDL_Surface *screen, Sint32 x, Sint32 y, Sint32 w, Sint32 h);
also
void SDL_UpdateRects(SDL_Surface *screen, int numrects, SDL_Rect *rects);
Ex.1 for a 800x600 window:
SDL_UpdateRect(screen, 0, 0, 800, 600)
Ex.2 for a 800x600 window:
SDL_Rect rect;
rect.x = 0;
rect.y = 0;
rect.w = 800;
rect.h = 600;
SDL_UpdateRects(screen, 1, &rect)
Also, i suggest using macros for screen hieght/width because they are used so often... and its alot easier to change and... yeah.