aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
3 daysFactor out puglIsValidSize()David Robillard5-5/+14
3 daysFactor out puglIsValidPosition()David Robillard6-8/+17
3 daysRename PuglViewSize to PuglAreaDavid Robillard7-36/+36
3 daysMake puglSetSizeHint() consistent with puglSetSize()David Robillard7-37/+45
In general, it's more convenient to have full-width integers as parameters, since C will promote any arithmetic on smaller types to them anyway. Using narrow types here, then, doesn't really make anything stricter, just forces an annoying cast when lots of warnings are enabled, which is likely unchecked. Better to handle it here, since it's more convenient, and the integer range checks the compiler can do aren't correct anyway (the max width/height is intentionally smaller than the max PuglSpan, so it can fit in a signed 16-bit integer).
3 daysWindows: Avoid waiting less than a millisecondDavid Robillard1-2/+4
There is API to access the minimum timer resolution, but it seems to always be 1 millisecond, which is also the unit of the MsgWaitForMultipleObjects parameter, so just avoid the fuss and hardcode this as the minimum. This should slightly reduce overhead when the main loop is running without much of a margin until the frame needs to be drawn.
4 daysUpdate stale deprecationsDavid Robillard1-3/+3
4 daysUse a consistent naming scheme for parent functionsDavid Robillard6-15/+40
These could be combined into a hint-like general get/set mechanism, but currently there's only two window relationships and no immediate plans to add more, so that feels a bit over-engineered. So, just rename for consistency with puglSetTransientParent().
4 daysUse PuglSpan for view sizesDavid Robillard5-21/+19
4 daysFix strict header warning test buildDavid Robillard2-2/+9
4 daysFix pugl_shader_demo refresh rate on WindowsDavid Robillard2-6/+7
4 daysSupport building for Windows with or without UNICODEDavid Robillard3-40/+70
4 daysUse enums for WGL constantsDavid Robillard1-24/+36
4 daysX11: Generate text events for keypad symbolsMartin Preinfalk1-1/+2
5 daysMake MacOS touchpad scroll sensitivity closer to other platformsDavid Robillard1-3/+3
5 daysFix Windows test build with VulkanDavid Robillard2-2/+2
5 daysAdd header warning testsDavid Robillard8-1/+167
5 daysSeparate C++ build tests to avoid C/C++ warning clashesDavid Robillard10-111/+158
5 daysAdd missing const qualifierDavid Robillard1-1/+1
5 daysAdd PUGL_KEY_NONEDavid Robillard5-9/+9
This isn't a strict enumeration anyway, so a sentinel value does no harm, and using it avoids warnings about testing an enum with no zero value.
5 daysFix whitespaceDavid Robillard2-8/+2
5 daysFix warnings in clang build on WindowsDavid Robillard4-12/+30
2024-12-21Suppress warnings in strict GCC buildDavid Robillard1-0/+1
2024-10-05Remove unused options struct from testDavid Robillard1-9/+5
2024-10-05Clean up documentation build and use unique target namesDavid Robillard7-20/+26
2024-10-01Make "docs" option yieldableDavid Robillard1-2/+2
2024-10-01Suppress new warnings in clang and clang-tidy 18David Robillard8-8/+17
2024-10-01Remove redundant "inline" specifierDavid Robillard1-4/+4
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 Robillard7-28/+34
2024-06-10Suppress new warnings in clang-tidy 17David Robillard1-0/+2
2024-06-10Avoid std::endlDavid Robillard1-3/+3
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 Robillard6-26/+49
2023-11-11Add a special symbol for the tab keyDavid Robillard2-0/+3
2023-11-11MacOS: Support left/right shift, control, and option keysDavid Robillard1-4/+6
2023-11-11Consistently use trailing commas in enumsDavid Robillard1-10/+10
This reduces diff noise and merge conflicts, and at least basic C99 support is deeply required anyway.
2023-11-11Suppress new warnings in clang-tidy 16David Robillard4-6/+11
2023-11-11Remove redundant default values from meson_options.txtDavid Robillard1-10/+10
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-21Suppress clang-tidy C++ warningsDavid Robillard2-0/+2
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.