• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

src/H03-May-2022-1,9711,333

tests/H03-May-2022-173141

.cargo-checksum.jsonH A D03-May-202289 11

.gitignoreH A D12-Sep-201735 44

.travis.ymlH A D12-Sep-20171.1 KiB1312

CHANGELOG.mdH A D13-Sep-2017555 1911

Cargo.tomlH A D01-Jan-19701.1 KiB2623

Cargo.toml.orig-cargoH A D13-Sep-2017671 1916

LICENSE-APACHEH A D12-Sep-201711.3 KiB202169

LICENSE-MITH A D12-Sep-20171.1 KiB2217

README.mdH A D13-Sep-20172.1 KiB5539

README.md

1# cassowary-rs
2
3[![Build Status](https://travis-ci.org/dylanede/cassowary-rs.svg?branch=master)](https://travis-ci.org/dylanede/cassowary-rs)
4
5This is a Rust implementation of the Cassowary constraint solving algorithm
6([Badros et. al 2001](https://constraints.cs.washington.edu/solvers/cassowary-tochi.pdf)).
7It is based heavily on the implementation for C++ at
8[nucleic/kiwi](https://github.com/nucleic/kiwi). The implementation does
9however differ in some details.
10
11Cassowary is designed for solving constraints to lay out user interfaces.
12Constraints typically take the form "this button must line up with this
13text box", or "this box should try to be 3 times the size of this other box".
14Its most popular incarnation by far is in Apple's Autolayout
15system for Mac OS X and iOS user interfaces. UI libraries using the Cassowary
16algorithm manage to achieve a much more natural approach to specifying UI
17layouts than traditional approaches like those found in HTML.
18
19This library is a low level interface to the solving algorithm, though it
20tries to be as convenient as possible. As a result it does not have any
21intrinsic knowledge of common user interface conventions like rectangular
22regions or even two dimensions. These abstractions belong in a higher level
23crate.
24
25For more information, please read
26**[the documentation](https://dylanede.github.io/cassowary-rs)**.
27
28## Getting Started
29
30Add the following to your Cargo.toml:
31
32```toml
33[dependencies]
34cassowary = "^0.3.0"
35```
36
37Please read the documentation (linked above) for how to best use this crate.
38
39## License
40
41Licensed under either of
42
43 * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
44   http://www.apache.org/licenses/LICENSE-2.0)
45 * MIT license ([LICENSE-MIT](LICENSE-MIT) or
46   http://opensource.org/licenses/MIT)
47
48at your option.
49
50### Contribution
51
52Unless you explicitly state otherwise, any contribution intentionally submitted
53for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
54dual licensed as above, without any additional terms or conditions.
55