diff options
author | David Robillard <d@drobilla.net> | 2020-03-15 18:30:24 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-03-15 20:53:37 +0100 |
commit | efc053fe5a38a4928fbfd3780f5665dd43bc7f95 (patch) | |
tree | c3e28366d5b57592e82c004ab59a3e364d4ef57f /examples/pugl_gl3_demo.c | |
parent | 3b9e8287fd4c1096a2d6244aa07bc28cacb4da8d (diff) | |
download | pugl-efc053fe5a38a4928fbfd3780f5665dd43bc7f95.tar.gz pugl-efc053fe5a38a4928fbfd3780f5665dd43bc7f95.tar.bz2 pugl-efc053fe5a38a4928fbfd3780f5665dd43bc7f95.zip |
Unify event loop functions as puglUpdate()
The previous separation between polling and dispatching was a lie, especially
on MacOS where it is impossible to only poll for events without dispatching
anything. Providing such an API is misleading, and problematic in various
other ways.
So, merge them into a single puglUpdate() function which can do the right thing
on all platforms. This also adds the behaviour of actually processing all
events in the given time interval, which is almost always what clients actually
want to do when using a positive timeout (naively doing this before caused
terrible input lag).
Diffstat (limited to 'examples/pugl_gl3_demo.c')
-rw-r--r-- | examples/pugl_gl3_demo.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/examples/pugl_gl3_demo.c b/examples/pugl_gl3_demo.c index e0c63ca..26db852 100644 --- a/examples/pugl_gl3_demo.c +++ b/examples/pugl_gl3_demo.c @@ -1,5 +1,5 @@ /* - Copyright 2012-2019 David Robillard <http://drobilla.net> + Copyright 2012-2020 David Robillard <http://drobilla.net> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -177,6 +177,9 @@ onEvent(PuglView* view, const PuglEvent* event) case PUGL_CONFIGURE: onConfigure(view, event->configure.width, event->configure.height); break; + case PUGL_UPDATE: + puglPostRedisplay(view); + break; case PUGL_EXPOSE: onExpose(view); break; case PUGL_CLOSE: app->quit = 1; break; case PUGL_KEY_PRESS: @@ -411,8 +414,7 @@ main(int argc, char** argv) // Grind away, drawing continuously PuglFpsPrinter fpsPrinter = {puglGetTime(app.world)}; while (!app.quit) { - puglPostRedisplay(app.view); - puglDispatchEvents(app.world); + puglUpdate(app.world, 0.0); puglPrintFps(app.world, &fpsPrinter, &app.framesDrawn); } |