+
+SDL_Surface *InitScreen::Resize(int width, int height) {
+ SDL_Surface *newScreen(SDL_SetVideoMode(width, height, bpp, flags));
+ if (!newScreen) {
+ throw runtime_error("failed to resize screen");
+ }
+ return screen = newScreen;
+}
+
+void InitScreen::Flip(void) {
+ SDL_Flip(screen);
+ if (!(screen->flags & SDL_HWSURFACE)) {
+ // probably got no vsync, so suspend execution for a while
+ SDL_Delay(1);
+ }
+}
+