- Load Yoga shared library via CFFI (/usr/local/lib/libyoga.so) - 15 enum constant sets (YGDirection through YGUnit) - Foreign type definitions: yg-node-ref, yg-size, yg-value - Core node management: new, free, insert-child, remove-child, get-child-count - Layout: calculate-layout, get-left/top/width/height - Style setters: direction, flex-direction, justify-content, align-items, align-self, flex-wrap, position-type, flex-grow/shrink/basis, overflow, display, width/height, min/max dimensions, padding, margin, border, gap, position (point and percent) - Style getters: width, height, flex-direction, align-items, justify-content - Disable FP traps for SBCL (Yoga uses NaN for YGUndefined) GREEN: 9/9 pass (22 assertions) - test-node-create-free, test-node-child-count, test-node-insert-child - test-layout-basic-column, test-layout-basic-row - test-layout-flex-grow, test-layout-absolute-position - test-layout-padding, test-layout-nested
10 lines
238 B
Common Lisp
10 lines
238 B
Common Lisp
(defsystem :cl-tui
|
|
:name "cl-tui"
|
|
:author "memex"
|
|
:version "0.1.0"
|
|
:license "AGPLv3"
|
|
:description "Reusable Common Lisp Terminal UI Framework"
|
|
:depends-on (:cffi :croatoan)
|
|
:serial t
|
|
:components ((:file "lisp/yoga-ffi")))
|