Skip to content

tribalworldwidelondon/CassowarySwift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7de8fee · Feb 19, 2019

History

34 Commits
Feb 19, 2019
Aug 22, 2017
Aug 22, 2017
Aug 22, 2017
Aug 17, 2017
Feb 6, 2018
Aug 22, 2017
Feb 19, 2019
Aug 17, 2017
Feb 19, 2019
Aug 22, 2017
Aug 22, 2017

Repository files navigation

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)

solver.updateVariables()

// 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)

solver.updateVariables()

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

Documentation

Documentation can be found on CocoaDocs

Acknowledgements

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

About

A Swift port of the Cassowary linear constraint solver

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages