Age | Commit message (Collapse) | Author | Files | Lines |
|
This changes to getting cursors by name from the cursor theme, which makes the
cursor match the ones used in modern desktop environments. As far as I can
tell, there is no real standard for names, these ones seem to work for me in
GNOME, KDE, and Xfce.
I am not sure about the compatibility concerns here, but X11 without Xcursor
themes strikes me as either too esoteric or too ancient to worry about,
especially since cursor switching isn't critical functionality anyway.
|
|
This avoids issues when the default X11 cursor isn't the expected "default" of
the environment, for example with Plasma.
A real application that changes the cursor needs to do so consistently on mouse
enter and leave events anyway.
|
|
This avoids potential clashes between multiple copies of Pugl statically
compiled into several modules.
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since this is essentially a destructor, I don't think there's anything really
useful to do with errors here, and in practice no backends actually used it
anyway.
|
|
|
|
|
|
|
|
See https://reuse.software/ for details.
|
|
|
|
|
|
There's no universal consensus on how buttons are numbered. Left, right,
middle as 0, 1, 2 seems to be the most common convention on modern vaguely
similar libraries, so I've gone with that.
The switch to zero-based indices will obviously break all current client code.
Particularly since now is the time to finish any breaking changes before a
stable release, I think that is better than only changing the middle and right
numbers, which would likely go unnoticed.
|
|
This fixes getting the PUGL_SWAP_INTERVAL hint on some NVidia drivers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is really a mistake in user code, but things shouldn't crash in general.
So, this commit fixes the crash and adds some documentation so that developers
hopefully don't try to grab focus before it makes sense.
The case that was previously a crash will now gracefully fail, that is, the
focus will not be (and can not be) grabbed.
|
|
GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB is the correct counterpart to
GLX_CONTEXT_CORE_PROFILE_BIT_ARB in this context. This has the same value as
the GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB it replaces though, so this change
should not actually affect anything.
|
|
This prevents plugins from changing global host state, which causes serious
problems in hosts that are not DPI aware.
|
|
|
|
It happens in practice that XRandR is enabled in the build but is not available
at runtime, particularly with X11 forwarding over SSH. This properly queries
the extension first to avoid crashing in such situations.
|
|
|
|
NSEventSubtype was introduced in 10.10.
|
|
|
|
|
|
This avoids a warning, and makes more sense in this situation anyway because
negatives are also a bad configuration.
|
|
|
|
|
|
|
|
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.
|
|
Avoids narrowing warnings when building as C++, and uses unsigned operands with
bitwise operators in various places.
|
|
|
|
|
|
|
|
Stub backends were a dependency of other backends to allow some code reuse.
However, that can cause conflicting symbols if multiple backends are linked
into the same binary, which should be possible.
To avoid this, move the shared code into the platform implementation, and
export those symbols so that backends can use them. This adds some semi-public
platform-specific API that can only be used by backends included with pugl.
They are undocumented, subject to change at any time without a corresponding
version change, and may not be used by third parties (for example by custom
backends in an application).
|
|
|
|
|