jasper

Haxe port of Kiwi's implementation of the cassowary algorithm.


Keywords
algorithm, cassowary, constraint, kiwi, layout, haxe, ui
License
BSD-3-Clause
Install
haxelib install jasper 0.0.1

Documentation

Jasper

Build Status Join the chat at https://gitter.im/pongo-jasper/community

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 MIT licensed.