aboutsummaryrefslogtreecommitdiffstats
path: root/examples/pugl_shader_demo.c
AgeCommit message (Collapse)AuthorFilesLines
2022-09-28Handle fread() errors in examplesDavid Robillard1-1/+5
2022-05-21Add a uniform API for setting size hintsDavid Robillard1-7/+7
This collapses many functions into one, which makes the API more easily extensible and reduces code size.
2022-05-20Use consistent class names and titles in tests and examplesDavid Robillard1-2/+2
2022-05-20MacOS: Build examples as application bundlesDavid Robillard1-4/+11
This is required on MacOS to make the examples usable. When run as bare programs, they don't show up as normal windows or receive keyboard input.
2021-12-17Remove unused struct definitionDavid Robillard1-4/+0
2021-12-17Adopt REUSE machine-readable licensing standardDavid Robillard1-15/+2
See https://reuse.software/ for details.
2021-05-08Send unmap/map events when the view is minimized/restoredDavid Robillard1-26/+36
X11 Window managers set WM_STATE to notify about minimization, often without sending core X visibility events (which seems odd to me, but that's what Gnome does anyway). So, implement this protocol and send map/unmap events to the view, and adjust the Windows implementation to do the same for consistency across all platforms.
2021-02-01Set maximum size in example programsDavid Robillard1-0/+1
2021-01-02Avoid "else" after "return"David Robillard1-1/+3
2021-01-02Simplify clang-format configuration and format all codeDavid Robillard1-359/+343
2020-12-11Make demo programs work from any directory, and install themDavid Robillard1-4/+16
2020-11-26Remove file documentationDavid Robillard1-19/+18
These will not be used in the Sphinx documentation, and most were self-explanatory and only there to make the Doxygen index look nice anyway. Where there was actually useful information, it has been preserved as regular comments.
2020-11-25Rename puglShowWindow and puglHideWindow to puglShow an puglHideDavid Robillard1-1/+1
These names were confusing because a view is not necessarily a window. Since there's no room for ambiguity here, simply drop the superfluous word.
2020-10-30Simplify header namesDavid Robillard1-1/+1
2020-10-24Replace live resize with loop eventsDavid Robillard1-2/+17
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-21Fix shader demo arguments to allow running at maximum framerateDavid Robillard1-2/+3
2020-10-19Cleanup: Fix IWYU warningsDavid Robillard1-1/+0
2020-10-04Use refresh rate to better drive example event loopDavid Robillard1-2/+33
2020-10-04Print all view hints in shader demo and hint testsDavid Robillard1-0/+1
2020-07-05Improve struct packingDavid Robillard1-1/+1
Unfortunately there is no warning like Wpadded but only for internal padding, so that can't be turned on, but if there was, after this commit the build would be clean with it. Maybe some day...
2020-06-13Cleanup: Fix uninitialised variablesDavid Robillard1-1/+1
2020-05-16Add default and maximum sizeDavid Robillard1-5/+3
2020-05-16Use email address in copyright headersDavid Robillard1-1/+1
Not really sure why I used a web link here (maybe because it's more stable), but this is more conventional.
2020-05-16Fix file documentationDavid Robillard1-1/+2
2020-04-04Shader Demo: Support both GL 3 and 4David Robillard1-0/+426