code wiki / _hdl_build / nx_grid_demo.nx

nx_grid_demo.nx source

↩ module page · 18 lines · 1517 B

1// nx_grid_demo.nx -- renders a real display:grid page (6 cards in a 3-column grid -> 2 rows) to a viewable 2// PNG via the full sovereign pipeline, so grid layout is confirmed in PIXELS (not only asserted geometry). 3// The page's own <style> supplies display:grid + grid-template-columns (multi-token value) + card colors; 4// the UA reader sheet adds the h1 bar. 100% sovereign. license_tier: ORIGINAL 5import "nx_syscalls.nx" 6import "nx_render_html.nx" 7 8func main() -> i64 { 9 let html: *u8 = "<body><h1>Grid Layout</h1><style>.cards{display:grid;grid-template-columns:1fr 1fr 1fr}.card{background-color:#cfe8ff;padding-top:10px;padding-left:8px;height:36px}</style><div class=\"cards\"><div class=\"card\">Alpha</div><div class=\"card\">Beta</div><div class=\"card\">Gamma</div><div class=\"card\">Delta</div><div class=\"card\">Epsilon</div><div class=\"card\">Zeta</div></div></body>\x00" as *u8 10 var hlen: i64 = 0 11 while html[hlen]!=(0 as u8) { hlen=hlen+1 } 12 let nb: i64 = nx_render_html_to_png(html, hlen, "knowledge/status/grid_demo.png\x00" as *u8) 13 var k: i64=0; let m: *u8 = "nx_grid_demo: rendered \x00" as *u8; while m[k]!=(0 as u8){k=k+1} sys_write(1,m,k) 14 var v: i64=nb; let b: *u8=sys_mmap(16); var n: i64=0; if v==0{b[0]=48;n=1} while v>0{b[n]=(48+(v%10)) as u8;v=v/10;n=n+1} let o: *u8=sys_mmap(16); var j: i64=0; while j<n{o[j]=b[n-1-j];j=j+1} sys_write(1,o,n) 15 sys_write(1, " boxes -> knowledge/status/grid_demo.png\n\x00" as *u8, 40) 16 if nb <= 0 { return 1 } 17 return 0 18}