aboutsummaryrefslogtreecommitdiffstats
path: root/examples/pugl_cairo_demo.c
AgeCommit message (Collapse)AuthorFilesLines
2022-05-21Use consistent integer types for view positions and sizesDavid Robillard1-4/+4
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-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-189/+184
2020-11-26Remove file documentationDavid Robillard1-5/+0
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-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-05-16Add default and maximum sizeDavid Robillard1-3/+2
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-01Replace puglShowWindow() with puglRealize()David Robillard1-2/+3
2020-03-17Use clearer names for pointer eventsDavid Robillard1-2/+2
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-15Unify event loop functions as puglUpdate()David Robillard1-7/+7
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-15Print events in Cairo demoDavid Robillard1-0/+2
2020-03-15Remove static data from Cairo demoDavid Robillard1-44/+56
2020-03-08Move demo programs to examples directoryDavid Robillard1-0/+255
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.