wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
ludic migrate state packages <every example program> packages/ludic.lab/example/plate.ludic 1804 vars into 126 states, 64 into lets; 23498 edits in 460 files Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5ffe50ed02
commit
19fcf60599
459 changed files with 17862 additions and 17603 deletions
|
|
@ -4,21 +4,23 @@
|
|||
import "ludic.ui"
|
||||
program UiFill {
|
||||
numbers float
|
||||
var rects: []string = new []string
|
||||
var pics: []string = new []string
|
||||
var clips: int = 0
|
||||
state UiFillState {
|
||||
rects: []string = new []string
|
||||
pics: []string = new []string
|
||||
clips: int = 0
|
||||
}
|
||||
const STYLE: string = "<style>.g { width: 100px; height: 20px; background: linear-gradient(to right, #000000, #ffffff) }\n.h { width: 50px; height: 40px; background-image: linear-gradient(180deg, #ff0000 0%, #0000ff 50%, #0000ff) }\nimg { width: 100px; height: 100px }\n.contain { object-fit: contain }\n.cover { object-fit: cover }\n.r { width: 160px; aspect-ratio: 16 / 9 }\nknob { height: 30px; aspect-ratio: 2 }</style>"
|
||||
const BODY: string = "<screen name='f'><div class='g'/><div class='h'/><img class='contain' src='wide.png'/><img class='cover' src='wide.png'/><div class='r'/><row><knob/></row></screen>"
|
||||
function rec_rect(x: float, y: float, w: float, h: float, c: int, a: float) -> void { push(rects, `{int(x)},{int(y)} {int(w)}x{int(h)} {ui_hex(c)}`) }
|
||||
function rec_image(src: string, x: float, y: float, w: float, h: float, c: int, a: float) -> void { push(pics, `{int(x)},{int(y)} {int(w)}x{int(h)}`) }
|
||||
function rec_clip(x: float, y: float, w: float, h: float) -> void { clips += 1 }
|
||||
function rec_rect(ui_fill_st: mut UiFillState, x: float, y: float, w: float, h: float, c: int, a: float) -> void { push(ui_fill_st.rects, `{int(x)},{int(y)} {int(w)}x{int(h)} {ui_hex(c)}`) }
|
||||
function rec_image(ui_fill_st: mut UiFillState, src: string, x: float, y: float, w: float, h: float, c: int, a: float) -> void { push(ui_fill_st.pics, `{int(x)},{int(y)} {int(w)}x{int(h)}`) }
|
||||
function rec_clip(ui_fill_st: mut UiFillState, x: float, y: float, w: float, h: float) -> void { ui_fill_st.clips += 1 }
|
||||
function no_clip() -> void { }
|
||||
function no_text(x: float, y: float, s: string, size: float, c: int, a: float) -> void { }
|
||||
function nat_w(src: string) -> float { return 200.0 }
|
||||
function nat_h(src: string) -> float { return 100.0 }
|
||||
function knob_measure(n: UiNode, avail: float) -> void { }
|
||||
function knob_draw(n: UiNode) -> void { }
|
||||
entry {
|
||||
entry (ui_fill_st: UiFillState, ui_st: mut UiState) {
|
||||
let b = new UiBackend
|
||||
b.rect = fn rec_rect
|
||||
b.text = fn no_text
|
||||
|
|
@ -27,13 +29,13 @@ program UiFill {
|
|||
b.image_h = fn nat_h
|
||||
b.clip = fn rec_clip
|
||||
b.unclip = fn no_clip
|
||||
ui_backend(b)
|
||||
ui_native("knob", fn knob_measure, fn knob_draw)
|
||||
ui_load_text("<ui>" + STYLE + BODY + "</ui>", "f.xml")
|
||||
ui_show("f", null, 0.0, 0.0, 400.0, 600.0)
|
||||
let r: UiNode = ui_nodes("f", null)
|
||||
ui_place(r, 0.0, 0.0, 400.0, 600.0)
|
||||
let n = len(rects)
|
||||
print(`{rects[0]} .. {rects[49]} | {rects[50]} .. {rects[59]} .. {rects[69]} of {n} | {pics[0]} | {pics[1]} clipped {clips} | ratio {int(r.children[4].ch)} knob {int(r.children[5].children[0].cw)}`)
|
||||
ui_backend(ui_st, b)
|
||||
ui_native(ui_st, "knob", fn knob_measure, fn knob_draw)
|
||||
ui_load_text(ui_st, "<ui>" + STYLE + BODY + "</ui>", "f.xml")
|
||||
ui_show(ui_st, "f", null, 0.0, 0.0, 400.0, 600.0)
|
||||
let r: UiNode = ui_nodes(ui_st, "f", null)
|
||||
ui_place(ui_st, r, 0.0, 0.0, 400.0, 600.0)
|
||||
let n = len(ui_fill_st.rects)
|
||||
print(`{ui_fill_st.rects[0]} .. {ui_fill_st.rects[49]} | {ui_fill_st.rects[50]} .. {ui_fill_st.rects[59]} .. {ui_fill_st.rects[69]} of {n} | {ui_fill_st.pics[0]} | {ui_fill_st.pics[1]} clipped {ui_fill_st.clips} | ratio {int(r.children[4].ch)} knob {int(r.children[5].children[0].cw)}`)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue