mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-07 11:58:12 +00:00
Add support for floating point main callback rates
This commit is contained in:

committed by
Ryan C. Gordon

parent
06cfea6a03
commit
9e6a6c01e4
@@ -2500,6 +2500,10 @@ extern "C" {
|
|||||||
* This defaults to 0, and specifying NULL for the hint's value will restore
|
* This defaults to 0, and specifying NULL for the hint's value will restore
|
||||||
* the default.
|
* the default.
|
||||||
*
|
*
|
||||||
|
* This doesn't have to be an integer value. For example, "59.94" won't be
|
||||||
|
* rounded to an integer rate; the digits after the decimal are actually
|
||||||
|
* respected.
|
||||||
|
*
|
||||||
* This hint can be set anytime.
|
* This hint can be set anytime.
|
||||||
*
|
*
|
||||||
* \since This hint is available since SDL 3.2.0.
|
* \since This hint is available since SDL 3.2.0.
|
||||||
|
@@ -34,9 +34,9 @@ static void SDLCALL MainCallbackRateHintChanged(void *userdata, const char *name
|
|||||||
if (iterate_after_waitevent) {
|
if (iterate_after_waitevent) {
|
||||||
callback_rate_increment = 0;
|
callback_rate_increment = 0;
|
||||||
} else {
|
} else {
|
||||||
const int callback_rate = newValue ? SDL_atoi(newValue) : 0;
|
const double callback_rate = newValue ? SDL_atof(newValue) : 0.0;
|
||||||
if (callback_rate > 0) {
|
if (callback_rate > 0.0) {
|
||||||
callback_rate_increment = ((Uint64) 1000000000) / ((Uint64) callback_rate);
|
callback_rate_increment = (Uint64) ((double) SDL_NS_PER_SECOND / callback_rate);
|
||||||
} else {
|
} else {
|
||||||
callback_rate_increment = 0;
|
callback_rate_increment = 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user