Awesome Open Source
Awesome Open Source

Cassowary Swift

Build Status

A Swift port of the Cassowary linear constraints solver. Tested on OS X, iOS and Linux.

Example usage

let solver = Solver()

let left =  Variable("left")
let mid =   Variable("mid")
let right = Variable("right")

try solver.addConstraint(mid == (left + right) / 2)
try solver.addConstraint(right == left + 10)
try solver.addConstraint(right <= 100)
try solver.addConstraint(left >= 0)


// left.value is now 90.0
// mid.value is now 95.0
// right.value is now 100.0

try solver.addEditVariable(variable: mid, strength: Strength.STRONG)
try solver.suggestValue(variable: mid, value: 2)


// left.value is now 0.0
// mid.value is now 5.0
// right.value is now 10.0


Documentation can be found on CocoaDocs


Cassowary Swift originally started as a direct port of kiwi-java by Alex Birkett

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
swift (7,805