Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-05-23 | Add rich clipboard support | David Robillard | 19 | -201/+946 | |
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. | |||||
2022-05-22 | Fix whitespace | David Robillard | 1 | -1/+1 | |
2022-05-22 | Factor out pugl_clipboard_demo example program | David Robillard | 5 | -14/+236 | |
This is a simpler example than pugl_embed_demo that demonstrates clipboard functionality without the complexity of embedded views. | |||||
2022-05-21 | Add puglGetScaleFactor() | David Robillard | 6 | -4/+106 | |
2022-05-21 | Windows: Send configure events when frame moves or resizes | David Robillard | 1 | -0/+3 | |
2022-05-21 | Add puglSetPosition() and puglSetSize() | David Robillard | 6 | -63/+239 | |
These are redundant with puglSetFrame in a sense, but allow setting the size of a view without the position, or vice-versa. This API also maps more nicely to Wayland, where applications can not position themselves (but can resize). | |||||
2022-05-21 | Use consistent integer types for view positions and sizes | David Robillard | 12 | -116/+147 | |
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. | |||||
2022-05-21 | Add a uniform API for setting size hints | David Robillard | 33 | -313/+356 | |
This collapses many functions into one, which makes the API more easily extensible and reduces code size. | |||||
2022-05-21 | X11: Remove redundant display member | David Robillard | 4 | -47/+52 | |
2022-05-21 | Rename PUGL_UNSUPPORTED_TYPE to be more generic | David Robillard | 8 | -12/+12 | |
2022-05-21 | MacOS: Specify maximum size constraint on draw view | David Robillard | 1 | -15/+37 | |
I am not sure why the minimum was only specified before, but it seems like an oversight. | |||||
2022-05-21 | X11: Use cursor themes | David Robillard | 2 | -29/+42 | |
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. | |||||
2022-05-21 | Avoid setting cursor on realization | David Robillard | 1 | -4/+0 | |
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. | |||||
2022-05-21 | Set a title for all test windows | David Robillard | 5 | -0/+6 | |
2022-05-21 | Fix build of examples that use a stub backend | David Robillard | 1 | -3/+21 | |
2022-05-20 | Windows: Set window class on local module | David Robillard | 1 | -2/+10 | |
This avoids potential clashes between multiple copies of Pugl statically compiled into several modules. | |||||
2022-05-20 | Add missing license metadata | David Robillard | 1 | -1/+1 | |
2022-05-20 | Use consistent class names and titles in tests and examples | David Robillard | 26 | -32/+32 | |
2022-05-20 | MacOS: Build examples as application bundles | David Robillard | 23 | -74/+313 | |
This is required on MacOS to make the examples usable. When run as bare programs, they don't show up as normal windows or receive keyboard input. | |||||
2022-05-03 | Fix crash when destroying OpenGL views that haven't been realized | Jean Pierre Cimalando | 5 | -1/+72 | |
2022-04-23 | Put unit tests in a "unit" suite | David Robillard | 1 | -4/+8 | |
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. | |||||
2022-04-23 | Fix IWYU warnings | David Robillard | 5 | -16/+9 | |
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. | |||||
2022-04-23 | Relax redisplay test to pass on MacOS 11.6 | David Robillard | 1 | -4/+6 | |
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. | |||||
2022-04-23 | Add descriptive verbose output to test_redisplay | David Robillard | 1 | -8/+21 | |
2022-04-23 | Move reserved platform defines from code to build system | David Robillard | 8 | -22/+10 | |
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. | |||||
2022-04-23 | Suppress warnings when building with clang on Windows | David Robillard | 2 | -0/+8 | |
2022-04-23 | Build C++ components as C++14 | David Robillard | 1 | -1/+1 | |
2022-04-23 | Windows: Remove redundant view size assignment | David Robillard | 1 | -5/+0 | |
2022-04-23 | Windows: Avoid initialization warning | David Robillard | 1 | -1/+2 | |
2022-04-23 | Windows: Remove pointless const qualifiers | David Robillard | 1 | -4/+1 | |
2022-04-23 | Windows: Avoid else after return | David Robillard | 2 | -5/+15 | |
2022-04-23 | Strengthen MSVC warnings | David Robillard | 3 | -6/+4 | |
2022-04-21 | Fix MacOS build | David Robillard | 1 | -0/+6 | |
2022-04-21 | Update README | David Robillard | 1 | -3/+7 | |
2022-04-21 | Improve error handling | David Robillard | 9 | -79/+140 | |
2022-04-21 | Remove unused return type from backend destroy methods | David Robillard | 11 | -35/+24 | |
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. | |||||
2022-04-21 | Move attribute definitions to a separate header | David Robillard | 4 | -12/+21 | |
2022-04-21 | Fix private include guards | David Robillard | 5 | -15/+15 | |
2022-03-14 | Fix warning in VS2019 | David Robillard | 1 | -1/+3 | |
2022-03-14 | Fix documentation markup | David Robillard | 1 | -1/+1 | |
2022-03-14 | Fix build on systems without a "python" executable | David Robillard | 1 | -1/+1 | |
This script is technically 2/3 compatible, but 3 is required to build anyway, so whatever. | |||||
2022-03-14 | Suppress warnings in MinGW | David Robillard | 1 | -0/+6 | |
2022-03-14 | Make C++ compiler optional | David Robillard | 1 | -2/+3 | |
2021-12-17 | Remove unused struct definition | David Robillard | 1 | -4/+0 | |
2021-12-17 | Reduce variable scope | David Robillard | 1 | -2/+2 | |
2021-12-17 | Pass const references where appropriate | David Robillard | 2 | -10/+11 | |
2021-12-17 | Remove redundant virtual qualifier | David Robillard | 1 | -1/+1 | |
2021-12-17 | Adopt REUSE machine-readable licensing standard | David Robillard | 97 | -1086/+385 | |
See https://reuse.software/ for details. | |||||
2021-12-17 | Suppress new warnings in clang-tidy 13 | David Robillard | 6 | -5/+8 | |
2021-12-17 | Remove unnecessary include | David Robillard | 1 | -1/+0 | |