2006-09-25 09:46:28 -07:00
|
|
|
/*! \file SDL_framerate.h
|
|
|
|
* \brief framerate manager
|
2006-07-05 13:39:13 -07:00
|
|
|
|
|
|
|
LGPL (c) A. Schiffler
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _SDL_framerate_h
|
|
|
|
#define _SDL_framerate_h
|
|
|
|
|
|
|
|
/* Set up for C function definitions, even when using C++ */
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* --- */
|
|
|
|
|
|
|
|
#include "SDL/SDL.h"
|
|
|
|
|
|
|
|
/* --------- Definitions */
|
|
|
|
|
|
|
|
/* Some rates in Hz */
|
|
|
|
|
|
|
|
#define FPS_UPPER_LIMIT 200
|
|
|
|
#define FPS_LOWER_LIMIT 1
|
|
|
|
#define FPS_DEFAULT 30
|
|
|
|
|
|
|
|
/* --------- Structure variables */
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
Uint32 framecount;
|
|
|
|
float rateticks;
|
|
|
|
Uint32 lastticks;
|
|
|
|
Uint32 rate;
|
|
|
|
} FPSmanager;
|
|
|
|
|
|
|
|
/* Functions return 0 or value for sucess and -1 for error */
|
|
|
|
|
2006-07-05 15:19:23 -07:00
|
|
|
void SDL_initFramerate(FPSmanager * manager);
|
|
|
|
int SDL_setFramerate(FPSmanager * manager, int rate);
|
|
|
|
int SDL_getFramerate(FPSmanager * manager);
|
|
|
|
void SDL_framerateDelay(FPSmanager * manager);
|
2006-07-05 13:39:13 -07:00
|
|
|
|
|
|
|
/* --- */
|
|
|
|
|
|
|
|
/* Ends C function definitions when using C++ */
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _SDL_framerate_h */
|