aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2023-11-11[WIP] Add support for drag and dropdragdropDavid Robillard1-2/+38
2023-11-11Add action parameter to puglAcceptOffer()David Robillard1-0/+18
2023-11-11Add API support for multiple clipboardsDavid Robillard1-12/+32
Adds a PuglClipboard enum, and uses it everywhere necessary to "structurally" support multiple clipboards. Towards re-using this API to support DnD.
2023-11-11Add region parameter to puglAcceptOffer()David Robillard1-1/+9
2023-10-21Clean up includesDavid Robillard4-0/+4
2023-09-23Format meson.build files with muonDavid Robillard1-2/+1
The less time wasted with manual code formatting, the better.
2023-05-29Add support for numeric keypad and simplify keyboard handlingDavid Robillard1-11/+40
2023-05-29Add documentation for key symbolsDavid Robillard1-43/+40
2023-05-29Deprecate redundant key symbolsDavid Robillard1-8/+12
2023-05-27Make explicit enumeration constants unsigned wherever possibleDavid Robillard1-9/+9
2023-05-27Add convenience symbols for enter and space keysDavid Robillard1-1/+3
2023-05-27Use files() for headers in mesonDavid Robillard1-4/+2
2023-05-27Separate pugl/glu.h from pugl/gl.hDavid Robillard3-11/+23
The GLU library is often shipped in a separate package, so it's possible to have a system with GL, but no GLU headers. Since use of GLU isn't universal (none of the examples use it), its inclusion can break builds that would otherwise work. So, move it to a separate wrapper header so this can be avoided.
2023-05-12Improve size hint documentationDavid Robillard1-3/+21
2023-02-10Fix "double deprecated" typedefssjaehn1-2/+2
2023-01-14Allow applications to specify the Vulkan library pathDavid Robillard1-1/+10
I don't know if vendoring the Vulkan library is appropriate, but regardless, this allows applications to set the name to whatever they want, or specify an absolute path, just in case the standard value baked into Pugl isn't the right one in some situation.
2023-01-14Windows: Add PUGL_DARK_FRAME hintDavid Robillard1-1/+2
This allows dark applications to visually integrate more nicely in Windows 10. A little thing, but it really goes a long way to make programs not look out of place and half-baked.
2023-01-14Add general string hint interfaceDavid Robillard1-28/+111
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-13Fix deprecated APIDavid Robillard1-4/+4
2023-01-11Install pugl/attributes.hDavid Robillard1-1/+2
2023-01-11Add missing export for puglGetBackend()David Robillard1-0/+1
2023-01-10Add PUGL_CURSOR_ALL_SCROLLDavid Robillard1-1/+2
2023-01-08Prepare OpenGL context flags for OpenGL ES supportDavid Robillard1-5/+10
2023-01-08Add PUGL_SAMPLE_BUFFERS hintDavid Robillard1-0/+1
Towards a more direct and explicit mapping to platform hints, and more consistent behaviour across platforms. OpenGL applications are generally expected to be explicit about hints like this.
2023-01-08Add support for raising windowsDavid Robillard1-1/+33
2023-01-07Replace map/unmap events with more expressive configure eventsDavid Robillard1-28/+1
2023-01-07Add support for special view types and stylesDavid Robillard1-18/+100
2023-01-07Rename create/destroy events to realize/unrealizeDavid Robillard1-17/+21
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-04Add puglUnrealize()David Robillard1-3/+11
2023-01-03Use globally unique names for documentation groupsDavid Robillard5-26/+26
This becomes important when the documentation is included in larger projects.
2023-01-02Reorganize documentationDavid Robillard1-126/+170
2023-01-02Move attributes to a separate headerDavid Robillard2-46/+61
2023-01-02Fix PUGL_NUM_CURSORSDavid Robillard1-1/+1
2022-12-24Add diagonal cursorsfalkTX1-7/+9
2022-11-24Use 0BSD for trivial "public domain intent" thingsDavid Robillard1-1/+1
2022-10-30Add malloc attributes to allocating functionsDavid Robillard1-2/+8
These inform the compiler that the returned value doesn't alias with anything. Also somewhat handy as pseudo-documentation.
2022-10-07Use uppercase integer literal suffixesDavid Robillard1-8/+8
2022-10-07Simplify clang-tidy configurationDavid Robillard1-11/+0
2022-10-07Suppress new warnings in clang-tidy 14David Robillard1-0/+1
2022-06-08Use consistent terminology for native viewsDavid Robillard1-2/+11
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-08Consolidate common deprecated API implementationDavid Robillard1-12/+20
2022-06-08Fox documentation formattingDavid Robillard1-1/+1
2022-06-07Use a consistent scheme for enum sizesDavid Robillard1-2/+9
2022-06-07Fix broken links in documentationDavid Robillard1-2/+2
2022-05-23Add rich clipboard supportDavid Robillard1-3/+89
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 puglGetScaleFactor()David Robillard1-0/+16
2022-05-21Add puglSetPosition() and puglSetSize()David Robillard1-4/+24
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-21Use consistent integer types for view positions and sizesDavid Robillard1-17/+33
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-21Add a uniform API for setting size hintsDavid Robillard1-52/+138
This collapses many functions into one, which makes the API more easily extensible and reduces code size.
2022-05-21Rename PUGL_UNSUPPORTED_TYPE to be more genericDavid Robillard1-3/+3