aboutsummaryrefslogtreecommitdiffstats
path: root/examples/pugl_shader_demo.c
AgeCommit message (Collapse)AuthorFilesLines
2023-01-29Fix pugl_shader_demo on WindowsDavid Robillard1-1/+1
2023-01-14Windows: Add PUGL_DARK_FRAME hintDavid Robillard1-0/+1
This allows dark applications to visually integrate more nicely in Windows 10. A little thing, but it really goes a long way to make programs not look out of place and half-baked.
2023-01-14Add general string hint interfaceDavid Robillard1-2/+2
This replaces the window title and class name APIs with a more general one that can be easily extended to other things, like icon names, more detailed application hints, and so on.
2023-01-11Raise the initial display of example windowsDavid Robillard1-1/+1
This is the standard behaviour for applications.
2023-01-08Add support for OpenGL ES 3.2 in pugl_shader_demoDavid Robillard1-30/+40
2023-01-08Prepare OpenGL context flags for OpenGL ES supportDavid Robillard1-2/+3
2023-01-08Add support for raising windowsDavid Robillard1-1/+1
2023-01-07Rename create/destroy events to realize/unrealizeDavid Robillard1-4/+4
As evidence that this was confusing, the documentation for these was an outright lie, and I've burned quite a bit of time in the past few days trying to rework things based around that flawed understanding. These names make it clear what these events actually are. If we need actual create/destroy events with a broader scope, they'll have to be added, but I suspect those aren't actually useful anyway.
2022-10-07Use uppercase integer literal suffixesDavid Robillard1-2/+2
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