kiwi

Version, currently 0.3.04 versions

github.com/da1nerd/kiwi.cr

A Crystal port of the Cassowary constraint solving algorithm

7 stars
3 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  kiwi:
    github: da1nerd/kiwi.cr
    version: ~> 0.3.0

Then run:

shards install

shard.yml

Crystal
0.35.1
License
MIT
Author
Joel

Dependencies

This version declares no dependencies.

README

Kiwi

GitHub release Build Status

A Crystal port of the Java implementation of the Cassowary constraint solving algorithm

In other words, this is an algorithm to calculate constraint based GUI layouts.

Installation

Add this to your application's shard.yml:

dependencies:
  kiwi:
    github: neutrinog/kiwi.cr

Usage

require "kiwi"

solver = Kiwi::Solver.new
x = Kiwi::Variable.new("x")
solver.add_constraint(x + 2 == 20)
solver.update_variables
puts x.value # => 18

Benchmark

crystal run --release spec/benchmark.cr

Contributing

  1. Fork it (https://github.com/neutrinog/kiwi.cr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • neutrinog Joel Lonbeck - creator, maintainer