aboutsummaryrefslogtreecommitdiffstats
path: root/include/pugl/detail
AgeCommit message (Collapse)AuthorFilesLines
2020-10-26Add Vulkan backendsDavid Robillard3-0/+480
2020-10-26Don't send expose events when window is minimizedDavid Robillard1-1/+5
2020-10-24Replace live resize with loop eventsDavid Robillard4-28/+7
This allows the application to control how recursive loops are handled rather than have Pugl impose behavior which can get in the way. For example, an application may not want to continuously animate while being resized, or set up its rendering differently in this situation. For example, with Vulkan, setting up a different swapchain can be necessary for smooth performance while live resizing on Windows, and Pugl has no ability to do this. I think it was a mistake to add this timer to Pugl itself, because it was always a bit of a leaky abstraction, and not very appropriate for a library that is supposed to be a thin abstraction layer. Though it almost seemed like things ran as usual while resizing on Windows and MacOS, the main event loop being stalled can be confusing, and there was no way to detect this. This way, applications must explicitly handle this situation and can implement the behavior they want without Pugl getting in the way. This also simplifies the Pugl implementation a bit, which is always nice.
2020-10-22Resurrect puglEnterContext() and puglLeaveContext()David Robillard1-16/+6
Even though loading is now better handled with create events, there are still situations with OpenGL where it's difficult to avoid explicitly entering and leaving the context. So, resurrect these functions, but remove the drawing parameter to make it clear that they must never be used for drawing. This breaks the deprecated API since the drawing parameter would be inappropriate for the stable API, and a decent alternative name isn't available.
2020-10-21Cleanup: Always put return types on their own lineDavid Robillard5-13/+26
2020-10-21Cleanup: Sort includesDavid Robillard1-1/+2
2020-10-21Cleanup: Use conventional style for ObjC methodsDavid Robillard5-67/+66
2020-10-21Fix clang-tidy issues in Windows codeDavid Robillard3-33/+27
2020-10-21Fix building with clang on WindowsDavid Robillard1-1/+1
2020-10-21Use separate clang-tidy configurations in different directoriesDavid Robillard1-0/+12
This allows more fine-grained control. In particular, it prevents mistaked from creeping in to the public headers or core implementation because of warnings that are disabled for the tests and examples. This keeps the code that is used in other projects as clean as possible.
2020-10-21Add missing include guardsDavid Robillard3-0/+15
2020-10-21Add missing includesDavid Robillard1-0/+3
2020-10-21Move includes to a separate directoryDavid Robillard19-0/+6506
This is more conventional and directories named "include" are specially understood by some tooling like clang-tidy.