Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-03-15 | Cleanup: Fix stale comment | David Robillard | |
2020-03-15 | Unify event loop functions as puglUpdate() | David Robillard | |
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). | |||
2020-03-15 | Add type and flags to world | David Robillard | |
Unfortunately this is an API break, but there's no reasonable way to deprecate the old function and this is required for things to work correctly. The type will be used in following commits to tick the main loop and dispatch events correctly for either case. | |||
2020-03-15 | Cleanup: Fix indentation | David Robillard | |
2020-03-09 | Add test for redisplays posted in the event loop | David Robillard | |
2020-03-09 | Add PuglEventClient and puglSendEvent() | David Robillard | |
This event makes it possible to send an arbitrary event to a view, which is useful for many things. In particular, this method of communication with views will wake up the event loop, unlike hacks in applications that share data in some other way. | |||
2020-03-09 | Add test for basic view creation, exposure, and destruction | David Robillard | |
2020-03-09 | Add create, destroy, map, and unmap events | David Robillard | |
These can be used to do things when a view is created or destroyed, in particular set up the GL context in a more controlled way. Map and unmap events are also added for when views are shown and hidden so application can react to this as well. Towards the deprecation of puglEnterContext() and puglLeaveContext(), which are prone to abuse. squash! Remove client event stuff | |||
2020-03-08 | Enable double buffering by default | David Robillard | |
2020-03-08 | Add vsync command line options to demos | David Robillard | |
2020-03-08 | Move demo programs to examples directory | David Robillard | |
These are not really tests, but examples or demos, which has caused some confusion in the past. So, move them, and make room for actual tests. | |||
2020-03-08 | Split graphical utilities out from test_utils.h | David Robillard | |
2020-03-08 | Print when unknown events are received in tests | David Robillard | |
2020-03-08 | Cleanup: Fix some conversion warnings | David Robillard | |
2020-03-07 | Test: Don't reuse cube vertices for background | David Robillard | |
This was pretty confusing since it looked like the parent view was drawing the cube as well, and inefficient since only a single rect needs to be drawn here. | |||
2020-03-07 | Test: Fix cube rotation via mouse | David Robillard | |
2020-03-02 | Strengthen ultra-strict warnings with clang | David Robillard | |
2020-03-01 | Cleanup: Adjust some code to be more clang-format friendly | David Robillard | |
2020-03-01 | Cleanup: Shorten event printing code | David Robillard | |
2020-03-01 | Cleanup: Fix includes | David Robillard | |
2020-02-18 | Cairo Test: Preserve clip rectangle for background fill | David Robillard | |
2019-12-11 | GL3 Test: Use instancing | David Robillard | |
2019-12-11 | GL3 Test: Update bindings to OpenGL 3.3 | David Robillard | |
2019-12-11 | GL3 Test: Spread out rectangles more | David Robillard | |
2019-12-11 | GL3 Test: Calculate border color on the GPU | David Robillard | |
2019-12-11 | GL3 Test: Move shaders to separate files | David Robillard | |
2019-12-09 | Fix use of incorrect union element | David Robillard | |
2019-11-21 | Rename "backend" headers | David Robillard | |
Working on Vulkan clarified what has always been slightly smelly about the design and organization here: not everything that is API specific is really in a "backend" (a PuglBackend). The concrete example is puglGetProcAddress(), which only makes sense for GL and is actually implemented in the "backend" files. Arguably puglGetContext() is also such a thing. So, rename the headers so they can be the place where API-specific things go in general, which happens to include a backend most of the time. The stub is a bit of an exception to this, but whatever. The includes look tidier this way. In place of the old headers are compatibility stubs that just emit a warning and include the new version, which will be maintained for a while. | |||
2019-11-18 | Cleanup: Remove unnecessary includes | David Robillard | |
2019-11-18 | Add test utility function for logging errors | David Robillard | |
2019-11-18 | Add error checking option to test programs | David Robillard | |
2019-11-09 | Fix various clang-tidy warnings | David Robillard | |
2019-11-09 | Make pugl_gl3_test deterministic | David Robillard | |
2019-11-09 | Add puglStrerror() and improve test program error reporting | David Robillard | |
2019-11-03 | Remove redisplay flag and add puglPostRedisplayRect() | David Robillard | |
2019-11-03 | Add pugl_print_events test program | David Robillard | |
2019-11-03 | Add verbose option to test programs to print all events | David Robillard | |
2019-11-03 | Fix duplicate word in error message | David Robillard | |
2019-10-21 | Don't use compatible profile in pugl_gl3_test | David Robillard | |
It turns out that there are some systems where having this on makes things not work, because compatible profiles are only supported up to earlier versions, despite a much higher version being available. | |||
2019-09-07 | Add clipboard support | David Robillard | |
2019-09-07 | Add OpenGL 3 test program | David Robillard | |
2019-09-03 | Make event handler return a status | David Robillard | |
Currently unused, but this is to leave open the possibility of event propagation or better errror handling. | |||
2019-09-03 | Factor out parsing test options | David Robillard | |
2019-09-03 | Rename remaining init functions | David Robillard | |
This finishes the removal of the init/set split. While these ones are superficial, the general idea here is to provide general functions that work before or after window creation where possible. This prevents the situation where ever more dynamic counterparts to existing init functions get added over time. | |||
2019-09-03 | Add puglSetClassName() | David Robillard | |
2019-09-03 | Replace size and aspect ratio init functions with dynamic ones | David Robillard | |
2019-09-03 | Add swap interval hint | David Robillard | |
2019-09-03 | Make pugl_test use a nested view and test focus and movement | David Robillard | |
2019-09-03 | Add functions to get and set view size and position | David Robillard | |
2019-09-03 | Add puglDispatchEvents() | David Robillard | |