Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-05-28 | Update documentation | David Robillard | 1 | -0/+31 | |
2022-05-28 | Clean up and strengthen warning flags | David Robillard | 3 | -9/+14 | |
2022-05-28 | Avoid implicit conversions | David Robillard | 1 | -4/+3 | |
2022-05-23 | Add rich clipboard support | David Robillard | 1 | -4/+46 | |
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 | 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 puglSetPosition() and puglSetSize() | David Robillard | 2 | -35/+22 | |
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 | 4 | -30/+34 | |
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 | 9 | -36/+36 | |
This collapses many functions into one, which makes the API more easily extensible and reduces code size. | |||||
2022-05-21 | Fix build of examples that use a stub backend | David Robillard | 1 | -3/+21 | |
2022-05-20 | Use consistent class names and titles in tests and examples | David Robillard | 9 | -13/+13 | |
2022-05-20 | MacOS: Build examples as application bundles | David Robillard | 21 | -74/+299 | |
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-04-23 | Move reserved platform defines from code to build system | David Robillard | 2 | -9/+9 | |
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-03-14 | Fix warning in VS2019 | David Robillard | 1 | -1/+3 | |
2021-12-17 | Remove unused struct definition | David Robillard | 1 | -4/+0 | |
2021-12-17 | Pass const references where appropriate | David Robillard | 1 | -7/+8 | |
2021-12-17 | Adopt REUSE machine-readable licensing standard | David Robillard | 22 | -241/+51 | |
See https://reuse.software/ for details. | |||||
2021-12-17 | Suppress new warnings in clang-tidy 13 | David Robillard | 1 | -1/+2 | |
2021-12-17 | Fix spelling errors | David Robillard | 1 | -1/+1 | |
2021-12-16 | Rename puglSetTransientFor to puglSetTransientParent | David Robillard | 1 | -2/+2 | |
2021-08-28 | Suppress new clang-tidy warnings | David Robillard | 1 | -0/+4 | |
2021-05-28 | Remove static downcasts in C++ bindings | David Robillard | 1 | -2/+1 | |
2021-05-28 | Split up warning suppression flags more finely | David Robillard | 1 | -6/+51 | |
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-28 | Remove unnecessary include directory | David Robillard | 1 | -1/+0 | |
2021-05-25 | Rename event structs in a more readable style | David Robillard | 3 | -3/+3 | |
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-24 | Add fancy constructor for C++ events and wrap puglSendEvent() | David Robillard | 1 | -1/+6 | |
2021-05-24 | Consistently refer to C++ as "cpp" and fix installation | David Robillard | 4 | -6/+6 | |
2021-05-08 | Send unmap/map events when the view is minimized/restored | David Robillard | 1 | -26/+36 | |
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-06 | Add basic test for Vulkan support | David Robillard | 1 | -1/+1 | |
2021-04-27 | Simplify meson configuration | David Robillard | 1 | -5/+5 | |
2021-04-18 | Improve cube rendering in example programs | David Robillard | 2 | -17/+17 | |
2021-04-18 | Improve cube rendering in example programs | David Robillard | 2 | -27/+90 | |
2021-02-01 | Set maximum size in example programs | David Robillard | 6 | -0/+6 | |
2021-01-08 | Switch to Meson | David Robillard | 2 | -0/+115 | |
2021-01-02 | Avoid "else" after "return" | David Robillard | 4 | -10/+24 | |
2021-01-02 | Use email address instead of website for attribution | David Robillard | 3 | -3/+3 | |
2021-01-02 | Fix clang-tidy warnings | David Robillard | 2 | -12/+32 | |
2021-01-02 | Clean up includes | David Robillard | 3 | -3/+3 | |
2021-01-02 | Simplify clang-format configuration and format all code | David Robillard | 19 | -5763/+5608 | |
2020-12-11 | Make demo programs work from any directory, and install them | David Robillard | 8 | -19/+241 | |
2020-12-11 | Print an error message in Vulkan demo when shaders are not found | David Robillard | 1 | -0/+1 | |
2020-11-26 | Remove file documentation | David Robillard | 10 | -70/+36 | |
These will not be used in the Sphinx documentation, and most were self-explanatory and only there to make the Doxygen index look nice anyway. Where there was actually useful information, it has been preserved as regular comments. | |||||
2020-11-26 | Add pugl::World constructor overload that takes a flag | David Robillard | 1 | -2/+1 | |
Eventually we'll need an actual smart flags type here, but for now there's only one flag anyway, so simply define an overload that takes one. | |||||
2020-11-26 | Remove stub event handlers from pugl::View | David Robillard | 2 | -2/+10 | |
This was a bit weird since event dispatching can be handled by some other object. Just remove them, and have clients use a catch-all template to handle events that are not handled specially. | |||||
2020-11-25 | Rename puglShowWindow and puglHideWindow to puglShow an puglHide | David Robillard | 9 | -11/+11 | |
These names were confusing because a view is not necessarily a window. Since there's no room for ambiguity here, simply drop the superfluous word. | |||||
2020-11-25 | Pass vkGetInstanceProcAddr to puglCreateSurface instead of a loader | David Robillard | 2 | -4/+10 | |
This allows puglCreateSurface() to be used with some other loader, or when linking to Vulkan at compile time. | |||||
2020-11-22 | Suppress various clang-tidy warnings | David Robillard | 1 | -0/+7 | |
These libc-specific warnings are a new level, even for LLVM. Using an opt-out style for this is probably not going to last. | |||||
2020-11-01 | Cleanup: Fix typo | David Robillard | 1 | -1/+1 | |
2020-11-01 | Make event handling in C++ more flexible | David Robillard | 2 | -10/+14 | |
2020-10-31 | Use static polymorphism in C++ bindings | David Robillard | 2 | -41/+35 | |
This removes virtual function overhead, and the weird situation of having to include pugl.ipp once (or worse, for pugl to provide a binary C++ library). | |||||
2020-10-30 | Simplify header names | David Robillard | 10 | -10/+10 | |