Age | Commit message (Collapse) | Author | Files | Lines |
|
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 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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since the clipboard is a globally shared resource, running clipboard tests in
parallel is likely to fail because one test can smash the state expected by
another.
|
|
|
|
This makes it unlikely for tests to be completely obscured, which should
hopefully make things a bit more consistent and reliable, especially when
running all of the tests in parallel. It also makes things a bit less visually
confusing.
|
|
This seems to make thing a bit more reliable, and matches what was happening
before the addition of more precise show commands.
|
|
|
|
|
|
Towards a more direct and explicit mapping to platform hints, and more
consistent behaviour across platforms. OpenGL applications are generally
expected to be explicit about hints like this.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
Things tend to stall when the two windows exactly overlap each other, which is
itself probably a bug of some sort, but that's an unusual situation and not
what this test is about.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
This enables running them without the data tests (which can be annoying while
working in a messy repo), and for bonus points makes the log output look more
uniform.
|
|
I suspect that using the same configuration across both C and C++ is starting
to wear a bit thin, but this will do for now.
|
|
Since upgrading to 11.6 (on an Intel Macbook), this test no longer seems to
pass. It's unfortunate to not test that small redisplay requests only result
in small exposures, but I don't think the previous strict check reflects
reality. Exposing more than the application requested, for whatever reason, is
a natural part of window environments, so I don't know if this is something
that can be reliably unit tested.
|
|
|
|
Numerous things warn about this, and it's generally a bad idea to put these in
the code since it can result in incompatibly compiled code being linked
together. Unfortunately this makes building manually (without the build
system) more fiddly, but such is life.
|