mirror of
https://github.com/glfw/glfw.git
synced 2024-11-22 10:05:10 +00:00
Improve cursor test animation
Only set cursor when it's time for a new frame. Use glfwWaitEventsTimeout when waiting for events during animation.
This commit is contained in:
parent
fca5a8ab48
commit
3b2e96e0b1
@ -195,6 +195,7 @@ int main(void)
|
||||
int i;
|
||||
GLFWwindow* window;
|
||||
GLFWcursor* star_cursors[CURSOR_FRAME_COUNT];
|
||||
GLFWcursor* current_frame = NULL;
|
||||
|
||||
glfwSetErrorCallback(error_callback);
|
||||
|
||||
@ -279,11 +280,22 @@ int main(void)
|
||||
if (animate_cursor)
|
||||
{
|
||||
const int i = (int) (glfwGetTime() * 30.0) % CURSOR_FRAME_COUNT;
|
||||
glfwSetCursor(window, star_cursors[i]);
|
||||
if (current_frame != star_cursors[i])
|
||||
{
|
||||
glfwSetCursor(window, star_cursors[i]);
|
||||
current_frame = star_cursors[i];
|
||||
}
|
||||
}
|
||||
else
|
||||
current_frame = NULL;
|
||||
|
||||
if (wait_events)
|
||||
glfwWaitEvents();
|
||||
{
|
||||
if (animate_cursor)
|
||||
glfwWaitEventsTimeout(1.0 / 30.0);
|
||||
else
|
||||
glfwWaitEvents();
|
||||
}
|
||||
else
|
||||
glfwPollEvents();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user