Age | Commit message (Collapse) | Author | Files | Lines |
|
These could be combined into a hint-like general get/set mechanism, but
currently there's only two window relationships and no immediate plans to add
more, so that feels a bit over-engineered. So, just rename for consistency
with puglSetTransientParent().
|
|
|
|
The less time wasted with manual code formatting, the better.
|
|
|
|
|
|
The GLU library is often shipped in a separate package, so it's possible to
have a system with GL, but no GLU headers. Since use of GLU isn't
universal (none of the examples use it), its inclusion can break builds that
would otherwise work. So, move it to a separate wrapper header so this can be
avoided.
|
|
|
|
|
|
I don't know if vendoring the Vulkan library is appropriate, but regardless,
this allows applications to set the name to whatever they want, or specify an
absolute path, just in case the standard value baked into Pugl isn't the right
one in some situation.
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
This becomes important when the documentation is included in larger projects.
|
|
|
|
Doxygen is now giving parse errors in most places where @copydoc is used.
Unfortunately, this setup for bindings with documentation is generally really
flaky, and I probably need to figure something else out anyway.
|
|
|
|
|
|
|
|
|
|
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".
|
|
|
|
|
|
This implements a more powerful protocol for working with clipboards, which
supports datatype negotiation, and fixes various issues by mapping more
directly to how things work on X11.
|
|
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.
|
|
This collapses many functions into one, which makes the API more easily
extensible and reduces code size.
|
|
See https://reuse.software/ for details.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Just a convenience macro to make declarations a little more readable.
|
|
|
|
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.
|
|
|
|
This seemed messy and potentially misleading for what is fundamentally a C++
library. It also makes it possible to set separate clang-tidy and clang-format
settings for each to avoid "tainting" the C settings, though currently the
headers use the same checks.
|
|
|
|
These are relatively new and cause warnings on older systems.
|
|
|
|
|
|
This is more conventional and directories named "include" are specially
understood by some tooling like clang-tidy.
|
|
|
|
|
|
|