// Widget types // End types stn := @use("../../../../libraries/stn/src/lib.hb"); .{string, log} := stn; .{Vec2} := stn.math render := @use("../../../../libraries/render/src/lib.hb"); .{Surface} := render; .{Font} := render.text widget_types := @use("widget_types.hb") label := @use("label.hb") image := @use("image.hb") Size := struct { min_width: int, max_width: int, min_height: int, max_height: int, } Vertical := packed struct { magic: uint, // array of children, idk // use a vec or linked list or whatever children: ^^u8, } Horizontal := packed struct { magic: uint, // array of children, idk // use a vec or linked list or whatever children: ^^u8, }