xilem/masonry_core
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
..
src Add pixel snapping to layout pass (#1239) 2025-07-30 12:10:04 +00:00
Cargo.toml Migrate Xilem Core and Masonry to Anymore (#1170) 2025-07-17 07:49:45 +00:00
README.md `masonry_core`: Provide a better README. (#1157) 2025-07-18 16:53:50 +00:00

README.md

Masonry Core

Traits and types of the Masonry toolkit

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's documentation for more details, examples and resources.

Minimum supported Rust Version (MSRV)

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

Future versions of Masonry Core 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 Core 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)