Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-01-02 | X11: Create Cairo drawing surface with precisely the needed size | David Robillard | 1 | -12/+11 | |
This decouples drawing from the view frame, which can be out of sync with the drawing that is currently happening. | |||||
2023-01-02 | X11: Factor out getCurrentConfiguration | David Robillard | 1 | -11/+18 | |
2023-01-02 | Ensure that views have an event handler set | David Robillard | 1 | -0/+5 | |
Otherwise, there will be crashes in the implementation. | |||||
2023-01-02 | Factor out common realize checks and initialization | David Robillard | 5 | -44/+49 | |
2023-01-02 | Fix PUGL_NUM_CURSORS | David Robillard | 1 | -3/+1 | |
2023-01-02 | Remove dead code | David Robillard | 1 | -5/+0 | |
2022-12-27 | Fix inconsistent initial window positioning across platforms | David Robillard | 3 | -9/+17 | |
2022-12-27 | Set transient parent when views are realized if necessary | David Robillard | 3 | -1/+8 | |
2022-12-27 | Fail to set transient parent of views with a parent window | David Robillard | 2 | -0/+8 | |
2022-12-27 | MacOS: Fix timestamps on systems with different clock rates | David Robillard | 2 | -5/+14 | |
This seems to be a thing at least on MacOS 12 on M1. | |||||
2022-12-24 | Fix weird/inconsistent control flow in puglSetSize() | David Robillard | 1 | -3/+2 | |
I'm not really sure about directly updating the frame like this - or whether these fields should even exist in the first place (it's questionable whether the view is "really" the new size until the configure process is complete) - but regardless, the same pattern should probably be used for both size and position. "Probably", because touching anything like this tends to break some situation or another somewhere, but such is life. | |||||
2022-12-24 | Add diagonal cursors | falkTX | 3 | -9/+30 | |
2022-10-30 | Add malloc attributes to allocating functions | David Robillard | 1 | -0/+2 | |
These inform the compiler that the returned value doesn't alias with anything. Also somewhat handy as pseudo-documentation. | |||||
2022-10-30 | Windows: Fix missing field initializers when building as C++ | falkTX | 1 | -4/+14 | |
2022-10-07 | Suppress MinGW warnings | David Robillard | 1 | -1/+1 | |
2022-10-07 | Use uppercase integer literal suffixes | David Robillard | 6 | -46/+46 | |
2022-10-07 | Simplify clang-tidy configuration | David Robillard | 1 | -8/+1 | |
2022-10-07 | Suppress new warnings in clang-tidy 14 | David Robillard | 1 | -0/+1 | |
2022-07-16 | Fix missing field initializers when building as C++ | falkTX | 1 | -3/+3 | |
2022-06-28 | Simplify clang-tidy configuration | David Robillard | 1 | -1/+0 | |
2022-06-17 | Call XrmInitialize() | David Robillard | 1 | -0/+1 | |
This must be called before any other Xrm functions are used. | |||||
2022-06-08 | Use consistent terminology for native views | David Robillard | 3 | -3/+3 | |
On MacOS in particular, views and windows are entirely different concepts, so confusing them... confuses things. This was the last holdover in the API that used the old "native window". | |||||
2022-06-08 | Consolidate common deprecated API implementation | David Robillard | 1 | -28/+0 | |
2022-06-08 | Separate platform.h from internal.h | David Robillard | 7 | -34/+58 | |
This makes the internal header structure match the "kinds" of definition inside Pugl: common implementations of public API, things available internally to platform implementations, and things the platform must define. | |||||
2022-06-08 | Separate private and public function implementations | David Robillard | 11 | -249/+261 | |
2022-06-08 | Fix potential null pointer dereference | David Robillard | 1 | -5/+5 | |
According to clang-tidy anyway, I'm not seeing it. | |||||
2022-06-07 | Use a consistent scheme for enum sizes | David Robillard | 3 | -4/+4 | |
2022-06-07 | Remove unnecessary forward-compatibility code | David Robillard | 2 | -11/+3 | |
2022-06-07 | Make puglRealize() always gracefully fail with a bad configuration | David Robillard | 1 | -0/+5 | |
2022-06-07 | X11: Simplify dispatchX11Events() | David Robillard | 1 | -31/+44 | |
2022-06-07 | X11: Flush before returning from puglRealize() | David Robillard | 1 | -0/+8 | |
This avoids bugs in plugins, because otherwise it's possible that size hints are not available when the host embeds the UI. | |||||
2022-06-03 | X11: Fix crash when input context is unavailable due to locales | Pace Willisson | 1 | -11/+17 | |
Calling X*ICFocus on NULL segfaults. This can happen if XCreateIC failed, for example due to missing locales on minimal Docker images. | |||||
2022-05-28 | Omit cursor_names if XCursor is not available | David Robillard | 1 | -0/+2 | |
This avoids a Wunused-const-variable warning with GCC. | |||||
2022-05-23 | Add rich clipboard support | David Robillard | 8 | -178/+570 | |
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-21 | Add puglGetScaleFactor() | David Robillard | 5 | -4/+90 | |
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 | 3 | -24/+193 | |
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 | -48/+55 | |
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 | 5 | -181/+145 | |
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 | 4 | -5/+5 | |
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-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-03 | Fix crash when destroying OpenGL views that haven't been realized | Jean Pierre Cimalando | 3 | -0/+9 | |
2022-04-23 | Fix IWYU warnings | David Robillard | 1 | -1/+0 | |
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 | Move reserved platform defines from code to build system | David Robillard | 2 | -8/+0 | |
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 | 1 | -0/+1 | |