aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-12-17Make button numbers consistent across platformsDavid Robillard4-8/+30
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.
2021-12-17Call glXQueryDrawable() from within the GLX contextDavid Robillard1-5/+8
This fixes getting the PUGL_SWAP_INTERVAL hint on some NVidia drivers.
2021-12-17Explicitly check for supported GLX extensionsDavid Robillard1-11/+24
2021-12-16Add puglGetBackend()David Robillard2-0/+10
2021-12-16Add puglGetClassName()David Robillard2-0/+11
2021-12-16Add puglGetWindowTitle()David Robillard2-0/+11
2021-12-16Add puglGetParentWindow()David Robillard2-0/+11
2021-12-16Add puglGetTransientParent()David Robillard2-0/+16
2021-12-16Rename puglSetTransientFor to puglSetTransientParentDavid Robillard6-11/+23
2021-12-16MacOS: Fix warnings in unified ObjC++ test buildDavid Robillard1-1/+12
2021-12-16X11: Fix potential crash in puglGrabFocus()David Robillard2-2/+18
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.
2021-11-20Suppress warnings in GCC release buildsDavid Robillard1-0/+1
2021-10-09Use the correct macro for GLX_CONTEXT_PROFILE_MASK_ARBfalkTX1-1/+1
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.
2021-10-09Only call SetProcessDPIAware in programsfalkTX1-10/+11
This prevents plugins from changing global host state, which causes serious problems in hosts that are not DPI aware.
2021-08-28Suppress new clang-tidy warningsDavid Robillard5-0/+11
2021-08-28X11: Check for XRandR extension before usagefalkTX1-6/+9
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.
2021-08-25Fix whitespaceDavid Robillard1-1/+2
2021-08-25MacOS: Fix build on MacOS 10.9 and earlierfalkTX1-0/+1
NSEventSubtype was introduced in 10.10.
2021-06-07MacOS: Reset GL context after initial window reshapefalkTX1-0/+1
2021-06-07MacOS: Fix conversion warningfalkTX1-1/+1
2021-05-28Remove static downcasts in C++ bindingsDavid Robillard4-34/+29
2021-05-28Remove unnecessary "void" in C++David Robillard1-1/+1
2021-05-28Split up meson build definitions moreDavid Robillard4-34/+37
2021-05-28Use files() almost everywhere in mesonDavid Robillard1-9/+9
2021-05-28Split up warning suppression flags more finelyDavid Robillard3-75/+116
This avoids polluting the main list of suppressions with things that are only triggered in tests or examples, making it clearer which warning are present in pugl itself.
2021-05-28Remove unnecessary include directoryDavid Robillard1-1/+0
2021-05-28Fix questionable float equality comparisonDavid Robillard2-5/+5
This avoids a warning, and makes more sense in this situation anyway because negatives are also a bad configuration.
2021-05-28Fix build when tests and examples are disabledDavid Robillard1-1/+2
2021-05-27Add test for building the implementation as included C++David Robillard4-4/+170
2021-05-27Make code build cleanly as C++David Robillard3-4/+17
2021-05-27Fix missing function sentinelDavid Robillard1-1/+1
2021-05-27Avoid confusing fallthrough structureDavid Robillard1-6/+4
2021-05-25Rename event structs in a more readable styleDavid Robillard26-167/+224
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-05-25Fix some conversion warningsDavid Robillard2-8/+8
Avoids narrowing warnings when building as C++, and uses unsigned operands with bitwise operators in various places.
2021-05-25Windows: Make puglSetFrame() consistent with X11falkTX1-2/+1
2021-05-25X11: Do not override _POSIX_C_SOURCE if already definedfalkTX1-1/+3
2021-05-25Allow overriding PUGL_APIDavid Robillard1-8/+10
2021-05-25Fix long lineDavid Robillard1-2/+2
2021-05-24Add fancy constructor for C++ events and wrap puglSendEvent()David Robillard3-1/+22
2021-05-24Shrink codeDavid Robillard1-4/+1
2021-05-24Test invalid hint casesDavid Robillard2-0/+16
2021-05-24Separate stub backends from other backendsDavid Robillard12-189/+221
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).
2021-05-24MacOS: Fix duplicate PuglStubView symbolDavid Robillard1-1/+1
2021-05-24Fix the declaration of WGL function typesJean Pierre Cimalando1-4/+10
2021-05-24Fix documentation build as a subprojectDavid Robillard7-17/+34
2021-05-24Consistently refer to C++ as "cpp" and fix installationDavid Robillard16-36/+42
2021-05-14Remove redundant conditionalRichard Gill1-5/+1
2021-05-08Remove unused old filesDavid Robillard3-12/+0
2021-05-08Update editorconfig to apply to any Python fileDavid Robillard1-1/+1
2021-05-08Send unmap/map events when the view is minimized/restoredDavid Robillard8-61/+177
X11 Window managers set WM_STATE to notify about minimization, often without sending core X visibility events (which seems odd to me, but that's what Gnome does anyway). So, implement this protocol and send map/unmap events to the view, and adjust the Windows implementation to do the same for consistency across all platforms.