Haxe port of Kiwi's implementation of the cassowary algorithm.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Sources
.gitattributes
.gitignore
.travis.yml
COPYING.txt
LICENSE
README.md
build.hxml

README.md

Jasper

Build Status

Jasper is a port of Kiwi for developing GUIs in haxe.

Example Usage

var x = new Variable("x");
var y = new Variable("y");
var solver = new Solver();

solver.addConstraint(x <= y);
solver.addConstraint(y == x + 3.0);
solver.addConstraint((x == 10.0) | Strength.WEAK);
solver.addConstraint((y == 10.0) | Strength.WEAK);

solver.updateVariables();

trace("x = " + x.m_value); // x = 10
trace("y = " + y.m_value); // y = 13

Motivation

The motivation to develop Jasper was to port a cassowary implementation to haxe. There were already two projects but one was not completely typed and the other did not use operator overloading for easy constraint creation. Jasper's goal is to be completely typed and also use the same operators for constraint development as the c++ implementation.

Acknowledgments

https://github.com/nucleic/kiwi

https://github.com/alexbirkett/kiwi-java

https://github.com/Tw1ddle/haxe-kiwi

https://github.com/underscorediscovery/cassowary-hx

License

Jasper is licensed under the [Modified BSD License] (https://www.debian.org/legal/licenses/).