casuarius

Crates.iocasuarius
lib.rscasuarius
version0.1.1
sourcesrc
created_at2022-08-26 21:06:27.83638
updated_at2022-08-28 22:44:33.633728
descriptionAnother implementation of the Cassowary linear constraint solving algorithm.
homepagehttps://github.com/schell/casuarius
repositoryhttps://github.com/schell/casuarius
max_upload_size
id653057
size106,038
Schell Carl Scivally (schell)

documentation

README

casuarius

This is a Rust implementation of the Cassowary constraint solving algorithm (Badros et. al 2001). It is a fork of Dylan Ede's implementation, which is based heavily on the implementation for C++ at nucleic/kiwi. However, this implementation does differ in from all others in some details.

Cassowary is designed for solving constraints to lay out user interfaces. Constraints typically take the form "this button must line up with this text box", or "this box should try to be 3 times the size of this other box". Its most popular incarnation by far is in Apple's Autolayout system for Mac OS X and iOS user interfaces. UI libraries using the Cassowary algorithm manage to achieve a much more natural approach to specifying UI layouts than traditional approaches like those found in HTML.

This library is a low level interface to the solving algorithm, though it tries to be as convenient as possible. As a result it does not have any intrinsic knowledge of common user interface conventions like rectangular regions or even two dimensions. These abstractions belong in a higher level crate.

License

Licensed under either of

at your option.

Commit count: 46

cargo fmt