mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 11:46:41 +01:00
1.9 KiB
1.9 KiB
tek_layout
this crate exposes several layout operators
which work entirely in unsigned coordinates
and are generic over tek_engine::Engine
and tek_engine::Content. chiefly, they
are not dependent on rendering framework.
| operator | description |
|---|---|
When(x, a) |
render a only when x == true |
Either(x, a, b) |
render a when x == true, otherwise render b |
Map(get_iterator, callback) |
transform items in uniform way |
Bsp |
concatenative layout |
| ... | ... |
Align |
pin content along axis |
| ... | ... |
Fill |
make content's dimension equal to container's: |
Fill::x(a) |
use container's width for content |
Fill::y(a) |
use container's height for content |
Fill::xy(a) |
use container's width and height for content |
Fixed |
assign fixed dimension to content: |
Fixed::x(w, a) |
use width w for content |
Fixed::y(w, a) |
use height w for content |
Fixed::xy(w, h, a) |
use width w and height h for content |
Expand/Shrink |
change dimension of content: |
Expand::x(n, a)/Shrink::x(n, a) |
increment/decrement width of content area by n |
Expand::y(n, a)/Shrink::y(n, a) |
increment/decrement height of content area by m |
Expand::xy(n, m, a)/Shrink::xy(n, m, a) |
increment/decrement width of content area by n, height by m |
Min/Max |
constrain dimension of content: |
Min::x(w, a)/Max::x(w, a) |
enforce minimum/maximum width w for content |
Min::y(h, a)/Max::y(h, a) |
enforce minimum/maximum height h for content |
Min::xy(w, h, a)/Max::xy(w, h, a) |
enforce minimum/maximum width w and height h for content |
Push/Pull |
move content along axis: |
Push::x(n, a)/Pull::x(n, a) |
increment/decrement x of content area |
Push::y(n, a)/Pull::y(n, a) |
increment/decrement y of content area |
Push::xy(n, m, a)/Pull::xy(n, m, a) |
increment/decrement x and y of content area |
todo:
- sensible
Margin/Padding Reduce