code wiki / _hdl_build / nx_justify_demo.nx

nx_justify_demo.nx source

↩ module page · 16 lines · 1496 B

1// nx_justify_demo.nx -- renders a real flexbox nav bar with justify-content:space-between to a viewable 2// PNG (the canonical flex use case: items distributed across the bar). 100% sovereign. license_tier: ORIGINAL 3import "nx_syscalls.nx" 4import "nx_render_html.nx" 5 6func main() -> i64 { 7 let html: *u8 = "<body><h2>Flexbox: justify-content</h2><style>.nav{display:flex;justify-content:space-between;background-color:#202048;height:44px;margin-bottom:8px}.between .btn{width:130px;height:30px;background-color:#48a0ff}.center{display:flex;justify-content:center;background-color:#204820;height:44px}.center .c{width:110px;height:30px;background-color:#60d060}</style><div class=\"nav between\"><div class=\"btn\"></div><div class=\"btn\"></div><div class=\"btn\"></div></div><div class=\"center\"><div class=\"c\"></div><div class=\"c\"></div></div></body>\x00" as *u8 8 var hlen: i64 = 0 9 while html[hlen]!=(0 as u8) { hlen=hlen+1 } 10 let nb: i64 = nx_render_html_to_png(html, hlen, "knowledge/status/justify_demo.png\x00" as *u8) 11 var k: i64=0; let m: *u8="nx_justify_demo: rendered \x00" as *u8; while m[k]!=(0 as u8){k=k+1} sys_write(1,m,k) 12 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) 13 sys_write(1, " boxes -> knowledge/status/justify_demo.png\n\x00" as *u8, 44) 14 if nb <= 0 { return 1 } 15 return 0 16}