aboutsummaryrefslogtreecommitdiffstats
path: root/examples/pugl_window_demo.c
AgeCommit message (Collapse)AuthorFilesLines
2022-10-07Use uppercase integer literal suffixesDavid Robillard1-7/+7
2022-06-08Use consistent terminology for native viewsDavid Robillard1-1/+1
On MacOS in particular, views and windows are entirely different concepts, so confusing them... confuses things. This was the last holdover in the API that used the old "native window".
2022-05-21Add puglSetPosition() and puglSetSize()David Robillard1-21/+14
These are redundant with puglSetFrame in a sense, but allow setting the size of a view without the position, or vice-versa. This API also maps more nicely to Wayland, where applications can not position themselves (but can resize).
2022-05-21Use consistent integer types for view positions and sizesDavid Robillard1-11/+14
Actual window sizes and positions fit easily in a 16-bit integer. So, we use that in "representation contexts" like events. This makes structures smaller, and allows the values to be converted to float, double, or integer without casting (since any int16_t or uint16_t value can fit in them without loss). Setter APIs use native integers for convenience, to avoid casting hassles when doing arithmetic. Ranges are checked at runtime.
2022-05-21Add a uniform API for setting size hintsDavid Robillard1-3/+3
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-1/+1
2021-12-17Adopt REUSE machine-readable licensing standardDavid Robillard1-15/+2
See https://reuse.software/ for details.
2021-12-16Rename puglSetTransientFor to puglSetTransientParentDavid Robillard1-2/+2
2021-05-25Rename event structs in a more readable styleDavid Robillard1-1/+1
Aside from reading more naturally, this avoids clashes with types that are not events, like PuglEventFlags. This is also more consistent with the C++ bindings, where "EventExpose" would be quite strange, for example. Apologies for the noise. Aliases to the old names will be preserved in the deprecated API like other things for a short while.
2021-02-01Set maximum size in example programsDavid Robillard1-0/+1
2021-01-02Simplify clang-format configuration and format all codeDavid Robillard1-192/+186
2020-11-26Remove file documentationDavid Robillard1-3/+2
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-07-05Improve struct packingDavid Robillard1-2/+2
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 implicit conversion warnings with clangDavid Robillard1-2/+3
2020-05-16Add default and maximum sizeDavid Robillard1-0/+1
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-06Implement puglSetTransientFor() for Mac and WindowsDavid Robillard1-4/+9
2020-04-02Strengthen warningsDavid Robillard1-2/+7
2020-04-01Cleanup: Fix mismatched file commentsDavid Robillard1-1/+1
2020-04-01Replace puglShowWindow() with puglRealize()David Robillard1-3/+3
2020-03-17Use clearer names for pointer eventsDavid Robillard1-3/+3
These old "notify" names are a smell from X11 which is a bit strange and inconsistent here, since nearly everything is a "notification" of sorts. I think the new names here are much more clear since they are consistent with the keyboard focus events.
2020-03-16Window Demo: Only redisplay on update when running continuouslyDavid Robillard1-1/+3
2020-03-15Unify event loop functions as puglUpdate()David Robillard1-9/+4
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-15Add type and flags to worldDavid Robillard1-1/+1
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-13Strengthen warningsDavid Robillard1-2/+0
2020-03-09Window Demo: Fix updating when not runnning continuouslyDavid Robillard1-6/+16
2020-03-09Cleanup: Remove unnecessary includesDavid Robillard1-1/+0
Apparently glxext.h is always included in glx.h on modern systems. The window demo does not actually use any GL functions directly since they are all factored out.
2020-03-08Add vsync command line options to demosDavid Robillard1-1/+1
2020-03-08Add multiple window exampleDavid Robillard1-0/+243