xilem/masonry
Olivier FAURE 094e645754
Add pixel snapping to layout pass (#1239)
Remove coordinates rounding code from Align and Flex.

Remove rounding from BoxConstraints: instead, widgets do layout under
the assumption that they're in a full f64 coordinate space, and rounding
only happens at the end of layout.

Document pixel snapping.
Pixel-snap the baseline as well.
Remove `invalid_screenshot_2` test (which relied on placing a child
widget with sub-pixel boundaries to produce a slightly incorrect image,
which we can no longer do).
Update all screenshot tests.

See [#masonry > Aligning layout boxes to pixel
boundaries](https://xi.zulipchat.com/#narrow/channel/317477-masonry/topic/Aligning.20layout.20boxes.20to.20pixel.20boundaries)
for details.
2025-07-30 12:10:04 +00:00
..
resources/i18n Split off testing into masonry_testing crate (#1048) 2025-06-11 13:12:05 +00:00
screenshots Add pixel snapping to layout pass (#1239) 2025-07-30 12:10:04 +00:00
src Add pixel snapping to layout pass (#1239) 2025-07-30 12:10:04 +00:00
.gitignore Rename `masonry_core` directory to `masonry`. (#968) 2025-05-09 11:43:01 +00:00
ARCHITECTURE.md Standardize capitalization of the words "widget" and "property" in doc. (#1187) 2025-07-20 19:49:22 +00:00
Cargo.toml Re-export `CursorIcon` from `masonry_core::core` (#1222) 2025-07-24 03:08:25 +00:00
LICENSE Remove appendix from `LICENSE` files. (#970) 2025-05-09 18:53:13 +00:00
README.md Remove detail sections of MSRV notices. (#1180) 2025-07-18 16:52:00 +00:00

README.md

Masonry

A foundational framework for Rust GUI libraries

Latest published version. Documentation build status. Apache 2.0 license.
Linebender Zulip chat. GitHub Actions CI status. Dependency staleness status.

Traits and types of the Masonry toolkit. See Masonry Winit's documentation for more details, examples and resources.

Minimum supported Rust Version (MSRV)

This version of Masonry has been verified to compile with Rust 1.88 and later.

Future versions of Masonry might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases.

Community

Discussion of Masonry development happens in the Linebender Zulip, specifically the #masonry channel. All public content can be read without logging in.

Contributions are welcome by pull request. The Rust code of conduct applies.

License

Licensed under the Apache License, Version 2.0 (LICENSE or http://www.apache.org/licenses/LICENSE-2.0)