|
SDLGameEngine
|
00001 /* 00002 * Copyright (c) 2007 Heiko Irrgang 00003 * 00004 * The license and distribution terms for this file may be 00005 * found in the file COPYING in this distribution or at 00006 * http://93-interactive.com/cms/products/software/sdl-game-engine/license/ 00007 */ 00008 00009 #include <sge.h> 00010 00011 Uint32 sgeGlobalFPS=0; 00012 00013 SGETIMER sgeAddTimer(int ms, void *function) { 00014 SGETIMER ret; 00015 if ((ret=SDL_AddTimer(ms, function, NULL))==NULL) { 00016 sgeBailOut("Error adding timer %s\n", "" ); 00017 } 00018 return ret; 00019 } 00020 00021 static Uint32 sgeRedrawTimer(Uint32 interval, void *param) { 00022 SDL_Event event; 00023 SDL_UserEvent uevent; 00024 00025 uevent.type = SDL_USEREVENT; 00026 uevent.code = SGEREDRAW; 00027 uevent.data1 = NULL; 00028 uevent.data2 = NULL; 00029 event.type = SDL_USEREVENT; 00030 event.user = uevent; 00031 SDL_PushEvent (&event); 00032 return interval; 00033 } 00034 00035 SGETIMER sgeStartRedrawTimer(int fps) { 00036 sgeGlobalFPS=fps; 00037 return sgeAddTimer(1000/fps, sgeRedrawTimer); 00038 } 00039 00040 void sgeStopRedrawTimer(SGETIMER sgetimer) { 00041 sgeRemoveTimer(sgetimer); 00042 } 00043 00044 Uint32 sgeGetFPS() { 00045 return sgeGlobalFPS; 00046 } 00047