aboutsummaryrefslogtreecommitdiffstats
path: root/src/types.h
AgeCommit message (Collapse)AuthorFilesLines
2023-01-14Add general string hint interfaceDavid Robillard1-2/+2
This replaces the window title and class name APIs with a more general one that can be easily extended to other things, like icon names, more detailed application hints, and so on.
2023-01-11MacOS: Avoid calling sendEvent in modulesreuk1-0/+1
2023-01-11Remove cached frame from viewDavid Robillard1-1/+2
This was just a source of ambiguity and bugs, since it represented different things at different times and could become stale. Redundant data is always trouble, so eliminate it, leaving just two positions/sizes: the defaults (used when the view is not yet realized), and the last configuration.
2023-01-11Center windows on their transient parent where possibleDavid Robillard1-0/+6
This is only really relevant in practice on MacOS and Windows. On X11, the window manager places new windows where it pleases.
2023-01-07Replace map/unmap events with more expressive configure eventsDavid Robillard1-1/+0
2023-01-07Add support for special view types and stylesDavid Robillard1-0/+1
2023-01-07Rename create/destroy events to realize/unrealizeDavid Robillard1-1/+1
As evidence that this was confusing, the documentation for these was an outright lie, and I've burned quite a bit of time in the past few days trying to rework things based around that flawed understanding. These names make it clear what these events actually are. If we need actual create/destroy events with a broader scope, they'll have to be added, but I suspect those aren't actually useful anyway.
2023-01-07Replace visible flag with a more descriptive view "stage"David Robillard1-1/+9
2022-06-07Use a consistent scheme for enum sizesDavid Robillard1-1/+1
2022-05-23Add rich clipboard supportDavid Robillard1-1/+0
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-21Add a uniform API for setting size hintsDavid Robillard1-10/+7
This collapses many functions into one, which makes the API more easily extensible and reduces code size.
2022-04-21Improve error handlingDavid Robillard1-0/+6
2022-04-21Remove unused return type from backend destroy methodsDavid Robillard1-1/+1
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-21Move attribute definitions to a separate headerDavid Robillard1-10/+1
2022-04-21Fix private include guardsDavid Robillard1-3/+3
2021-12-17Adopt REUSE machine-readable licensing standardDavid Robillard1-15/+2
See https://reuse.software/ for details.
2021-05-25Rename event structs in a more readable styleDavid Robillard1-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-01-02Simplify clang-format configuration and format all codeDavid Robillard1-46/+46
2020-11-26Remove file documentationDavid Robillard1-5/+0
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-10-30Remove logging APIDavid Robillard1-2/+0
This was missing from the C++ bindings and barely used anyway, so just remove it for now in the interests of simplicity and finalizing a stable API. The information previously logged in the X11 GL backend is now available programatically, so applications can print the same information portably if they like.
2020-10-30Move implementation source files to a conventional src directoryDavid Robillard1-0/+118
I think this attempt to be optionally header-only was misguided, particularly installing source code to the system include path. Typically anyone vendoring code just includes the repository and builds from there anyway. This commit moves all the implementation code to a typical src directory (Don't Be Weird). I still think there is some value in simple "inline" deployment, but that would be better achieved another way, like producing a single-file amalgamation that builds anywhere, ala sqlite.