Newer
Older
/* Tell SDL to do various stuff... */
switch(ev.user.code) {
case SDL_USEREVENT_UPDATERECT:
sdl_full_screen_redraw();
break;
case SDL_USEREVENT_SETTITLE:
SDL_WM_SetCaption((char *)ev.user.data1,NULL);
free(ev.user.data1);
break;
case SDL_USEREVENT_SETVIDMODE:
FREE_AND_NULL(last_vmem);

deuce
committed
if(fullscreen)
win=SDL_SetVideoMode(
vstat.charwidth*vstat.cols*vstat.scaling
,vstat.charheight*vstat.rows*vstat.scaling
,8
,SDL_SWSURFACE|SDL_HWPALETTE|SDL_FULLSCREEN
);
else
win=SDL_SetVideoMode(
vstat.charwidth*vstat.cols*vstat.scaling
,vstat.charheight*vstat.rows*vstat.scaling
,8
,SDL_HWSURFACE|SDL_HWPALETTE|SDL_RESIZABLE
);
vstat.scaling=(int)(win->w/(vstat.charwidth*vstat.cols));
if(vstat.scaling < 1)
vstat.scaling=1;
sdl_setup_colours(win,0);
if(sdl_cursor!=NULL)
SDL_FreeSurface(sdl_cursor);

deuce
committed
sdl_cursor=SDL_CreateRGBSurface(SDL_SWSURFACE|SDL_SRCCOLORKEY, vstat.charwidth, vstat.charheight, 8, 0, 0, 0, 0);
/* Update font. */
sdl_load_font(NULL);
sdl_full_screen_redraw();
}
else if(sdl_init_good) {
ev.type=SDL_QUIT;
sdl_exitcode=1;
SDL_PeepEvents(&ev, 1, SDL_ADDEVENT, 0xffffffff);
}
free(ev.user.data1);
free(ev.user.data2);
break;
case SDL_USEREVENT_HIDEMOUSE:
SDL_ShowCursor(SDL_DISABLE);
break;
case SDL_USEREVENT_SHOWMOUSE:
SDL_ShowCursor(SDL_ENABLE);
break;
case SDL_USEREVENT_INIT:
if(!sdl_init_good) {
if(SDL_WasInit(SDL_INIT_VIDEO)==SDL_INIT_VIDEO) {
if(win != NULL) {
SDL_EnableUNICODE(1);
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
SDL_CreateThread(sdl_blinker_thread, NULL);
SDL_CreateThread(sdl_mouse_thread, NULL);
sdl_init_good=1;
}
}
}
SDL_SemPost(sdl_init_complete);
break;
}
break;
}
/* Ignore this stuff */
case SDL_SYSWMEVENT: /* ToDo... This is where Copy/Paste needs doing */
case SDL_JOYAXISMOTION:
case SDL_JOYBALLMOTION:
case SDL_JOYHATMOTION:
case SDL_JOYBUTTONDOWN:
case SDL_JOYBUTTONUP:
default:
break;
}
}
}
}