aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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.
2021-05-08X11: Always send an initial configure before mapDavid Robillard1-1/+1
I think the conditional here was because this is typical when the view is embedded, but window manager behaviour is all over the place and this is something we want to always guarantee.
2021-05-08X11: Factor out translateClientMessage()David Robillard1-12/+21
2021-05-08Print create/destroy and map/unmap events in tests by defaultDavid Robillard1-8/+8
2021-05-06Strengthen clang-tidy warningsDavid Robillard2-3/+1
2021-05-06Clean up X11 implementationDavid Robillard3-154/+114
2021-05-06Add basic test for OpenGL supportDavid Robillard2-0/+121
2021-05-06Add basic test for stub backendDavid Robillard2-0/+80
2021-05-06Add basic test for Vulkan supportDavid Robillard4-8/+230
2021-05-06Add test for copy/pasteDavid Robillard4-5/+300
2021-05-06Make timer test less flakyDavid Robillard1-14/+29
2021-05-06Set distinct window titles for testsDavid Robillard10-1/+10
This makes things a little more clear when something goes wrong, for example if a test hangs.
2021-05-06Use consistent name for test structureDavid Robillard3-68/+68
2021-05-03Fix paginated documentation linksDavid Robillard2-1/+4
2021-05-03Improve test coverageDavid Robillard7-0/+460
2021-05-03Clean up includes and add mappings for old versions of IWYUDavid Robillard2-1/+14
2021-05-03Increase tolerance of timer testDavid Robillard1-4/+0
2021-05-03MacOS: Make puglGetNativeWorld() return the NSApplicationDavid Robillard2-3/+3
2021-05-03Shrink puglGetViewHint() implementationDavid Robillard1-5/+1
2021-05-03Fix crash when freeing a view that has not been configuredDavid Robillard2-4/+14
2021-05-03Fix questionable event castsDavid Robillard3-29/+66
I don't think there is any UB actually happening here, but some of these were casting to a pointer of a larger type, which is problematic. Unfortunately, it makes for quite a bit of tedious verbosity, but I don't see a decent way around that in C99.
2021-04-27dox_to_sphinx.py: Remove debug printingDavid Robillard1-1/+0
2021-04-27Simplify meson configurationDavid Robillard1-5/+5
2021-04-21MacOS: Fix memory leaks in puglUpdate()Bjarke Bech1-24/+26
2021-04-18Improve cube rendering in example programsDavid Robillard2-17/+17