aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2024-07-13MacOS: Fix mouse wheel scroll speedDavid Robillard1-5/+11
This just happens to be the factor that results in one tick of a conventional mouse wheel being a change of 1.0 "lines" as on other platforms (at least for me, hopefully everywhere). Moving a wheel quickly does result in quite a lot of acceleration on MacOS though, so more refinement might be needed here for consistent event handling across platforms.
2024-07-13MacOS: Fix expose event coordinatesDavid Robillard1-1/+4
2024-07-13X11: Avoid setting PBaseSize hints for top-level windowsDavid Robillard1-1/+2
By my reading of the spec, pugl's use of this hint was correct. However, many window managers break when it's set and use that size as the minimum (even when an actual minimum is set). This seems to be a bug based on a misreading of the spec which has been copy-pasted across many small window manager projects over the years. Not exposing the default size is unfortunate, but apparently nobody misses features based on it and there's nothing we can do about it here, so just deny the window manager the information entirely. The hint is still set for embedded views because (for example) plugin hosts need this information.
2024-07-12Windows: Support building with UNICODEDavid Robillard3-20/+37
2024-06-10Fix build and tests with optional X11 features disabledDavid Robillard1-1/+1
2023-11-11MacOS: Fix Cairo rendering on some systemsDavid Robillard1-3/+1
CGContextConvertSizeToUserSpace returns a negative height on some systems and a positive height on others. I have no idea why, but only basic scaling is required here, so just avoid this function entirely.
2023-11-11Add support for Num, Scroll, and Caps LockDavid Robillard4-20/+37
2023-11-11MacOS: Support left/right shift, control, and option keysDavid Robillard1-4/+6
2023-10-22X11: Only call XSetTransientForHint for valid windowsfalkTX1-1/+1
Signed-off-by: falkTX <falktx@falktx.com>
2023-10-21Fix potential memory leaks due to realloc() failureDavid Robillard2-31/+55
2023-10-21Fix whitespaceDavid Robillard1-1/+2
2023-10-21MacOS: Fix horizontal scroll directionDavid Robillard1-1/+1
2023-10-21X11: Use PUGL_INIT_STRUCT to initialize char arraysfalkTX1-3/+3
2023-10-21X11: Fix key press event key when control is pressedfalkTX1-2/+2
2023-10-21Remove spurious semicolonDavid Robillard1-1/+1
2023-10-21Filter out corresponding modifiers from key eventsDavid Robillard5-8/+38
Platforms differ here, but it's meaningless to ask about the state of a modifier that's currently being pressed or released, so simply mask this out in general so it's easy for platform implementations to clean events up before dispatching them.
2023-10-21Windows: Fix left and right key distinctionDavid Robillard1-6/+6
2023-10-21Clean up includesDavid Robillard1-1/+0
2023-10-07Fix puglGetTime() on Apple SiliconDavid Robillard1-3/+5
The floating point precision of these chips is... strange.
2023-05-29Add support for numeric keypad and simplify keyboard handlingDavid Robillard3-97/+131
2023-05-29Deprecate redundant key symbolsDavid Robillard2-9/+9
2023-05-27X11: Fix cursors on systems where XcursorGetTheme() doesn't workDavid Robillard1-2/+3
2023-05-22X11: Fix puglStopTimer() with multiple timersThomas Brand1-5/+3
2023-05-12Factor out return code to status conversionDavid Robillard2-62/+65
2023-05-12Make puglSetSizeHint() tolerate unknown hints on all platformsDavid Robillard1-0/+4
2023-05-12Factor out puglIsValidSize() and use consistent rules everywhereDavid Robillard5-22/+24
2023-05-12MacOS: Fix inverted puglPostRedisplay() coordinatesDavid Robillard1-1/+5
2023-05-12X11: Use the root provided by XGetWindowAttributes()David Robillard1-5/+4
2023-05-12X11: Avoid deferring empty exposuresDavid Robillard3-25/+15
2023-05-12X11: Use available X extensions by defaultDavid Robillard1-12/+36
2023-05-12Windows: Share common drawing context codeDavid Robillard2-12/+5
2023-05-12Windows: Pass the struct from BeginPaint() to EndPaint()David Robillard4-12/+7
The documentation explains that the PAINTSTRUCT returned by BeginPaint() should be passed to the corresponding call to EndPaint(). I'm not sure what real-world effects not doing this had, but this commit fixes things to use the API as intended.
2023-05-12Remove redundant castsDavid Robillard1-3/+3
2023-05-03Fix internal function linkageDavid Robillard1-1/+1
2023-05-03Fix ambiguous function prototypesDavid Robillard2-2/+2
2023-05-03Add missing field initializerDavid Robillard1-1/+1
2023-05-03Avoid double equality comparisonDavid Robillard1-2/+2
2023-05-03Fix mismatched types in ternary expressionsDavid Robillard2-16/+18
2023-05-03Fix implicit sign conversionsDavid Robillard3-7/+7
2023-05-03Fix tautological unsigned comparisonsDavid Robillard1-6/+6
2023-05-03Remove dead codeDavid Robillard1-13/+0
2023-02-18Use XSetWMNormalHints instead of XSetNormalHintssjaehn1-1/+1
2023-02-15Fix crash on views with no title setDavid Robillard1-9/+11
2023-02-10Fix partial exposure in X11 Cairo backendDavid Robillard1-10/+35
2023-02-10Factor out macrosDavid Robillard2-8/+16
2023-01-20Inline flagsDavid Robillard1-2/+2
Maybe CodeFactor can figure this out, or maybe this really can load from the CWD despite what the documentation seems to say.
2023-01-14MacOS: Fix Vulkan backend buildDavid Robillard1-1/+2
2023-01-14Allow applications to specify the Vulkan library pathDavid Robillard3-7/+13
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: Fix potentially insecure library loadingDavid Robillard2-3/+6
2023-01-14Windows: Add PUGL_DARK_FRAME hintDavid Robillard1-0/+20
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.