aboutsummaryrefslogtreecommitdiffstats
path: root/src/mac_cairo.m
AgeCommit message (Collapse)AuthorFilesLines
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-01-11Remove cached frame from viewDavid Robillard1-2/+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.
2022-06-08Separate private and public function implementationsDavid Robillard1-1/+1
2022-05-21Use consistent integer types for view positions and sizesDavid Robillard1-1/+4
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-04-21Remove unused return type from backend destroy methodsDavid Robillard1-7/+7
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.
2021-12-17Adopt REUSE machine-readable licensing standardDavid Robillard1-15/+2
See https://reuse.software/ for details.
2021-05-27Make code build cleanly as C++David Robillard1-1/+1
2021-05-25Rename event structs in a more readable styleDavid Robillard1-2/+2
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-69/+68
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-31Fix Cairo build on Mac and WindowsDavid Robillard1-1/+1
2020-10-30Move implementation source files to a conventional src directoryDavid Robillard1-0/+166
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.