diff --git a/README.md b/README.md index 51c7903..3a06929 100644 --- a/README.md +++ b/README.md @@ -136,10 +136,11 @@ double mfb_timer_get_frequency(); double mfb_timer_get_resolution(); ``` -Furthermore you can set a target fps for the application. The default is 60 frames per second. +Furthermore you can set (and get) a target fps for the application. The default is 60 frames per second. ```c void mfb_set_target_fps(uint32_t fps); +unsigned mfb_get_target_fps(); ``` This avoid the problem of update too fast the window collapsing the redrawing in fast processors. diff --git a/include/MiniFB.h b/include/MiniFB.h index b87338f..c5c6120 100644 --- a/include/MiniFB.h +++ b/include/MiniFB.h @@ -68,6 +68,7 @@ const uint8_t * mfb_get_key_buffer(struct mfb_window *window); // O // FPS void mfb_set_target_fps(uint32_t fps); +unsigned mfb_get_target_fps(); bool mfb_wait_sync(struct mfb_window *window); // Timer diff --git a/src/MiniFB_timer.c b/src/MiniFB_timer.c index e349970..2dd755a 100644 --- a/src/MiniFB_timer.c +++ b/src/MiniFB_timer.c @@ -24,6 +24,17 @@ mfb_set_target_fps(uint32_t fps) { set_target_fps_aux(); } +//------------------------------------- +unsigned +mfb_get_target_fps() { + if (g_time_for_frame == 0) { + return 0; + } + else { + return 1.0 / g_time_for_frame; + } +} + //------------------------------------- struct mfb_timer * mfb_timer_create() {