diff --git a/lib/ugui.c3l b/lib/ugui.c3l index 4f7fa7d..da00160 160000 --- a/lib/ugui.c3l +++ b/lib/ugui.c3l @@ -1 +1 @@ -Subproject commit 4f7fa7d50c16db3acac020cdd7204e28d42efdf2 +Subproject commit da001601e554b863784bcd6e58cd2faa07336c80 diff --git a/resources/vm.qoi b/resources/vm.qoi new file mode 100644 index 0000000..1589d82 Binary files /dev/null and b/resources/vm.qoi differ diff --git a/src/main.c3 b/src/main.c3 index 26f95c2..75a1202 100644 --- a/src/main.c3 +++ b/src/main.c3 @@ -24,7 +24,7 @@ fn int main(String[] args) { // ---------------------------------------------- UI initialization ---------------------------------------------- // ArenaAllocator arena; - char[] arena_mem = mem::new_array(char, 1024*1024); + char[] arena_mem = mem::new_array(char, 2*mem::MB); defer (void)mem::free(arena_mem); arena.init(arena_mem); @@ -44,6 +44,7 @@ fn int main(String[] args) ui.sprite_atlas_create("icons", AtlasType.ATLAS_R8G8B8A8, 512, 512)!!; ui.import_sprite_file_qoi("tick", "resources/tick_sdf.qoi", SpriteType.SPRITE_MSDF)!!; + ui.import_sprite_file_qoi("vm", "resources/vm.qoi", SpriteType.SPRITE_NORMAL)!!; ren.sprite_atlas_id = ui.get_sprite_atlas_id("icons"); Atlas* sprite_atlas = &(ui.sprite_atlas.atlas); ren.new_texture("icons", FULL_COLOR, sprite_atlas.buffer, sprite_atlas.width, sprite_atlas.height); @@ -62,7 +63,7 @@ fn int main(String[] args) io::printn("Configurations found:"); foreach (cf : conf_list) { io::printn(cf); - vm_list.push(vm::new_from_path(tmem, cf.path))!!; + vm_list.push_front(vm::new_from_path(tmem, cf.path))!!; } bool quit; @@ -78,9 +79,10 @@ fn int main(String[] args) static usz which_vm = 0; ui.@div(ugui::@grow(), ugui::@grow()) { - ui.@div(ugui::@fit((short)(ui.width*0.3)), ugui::@grow(), COLUMN, scroll_x: true, scroll_y: true) { - foreach_r (idx, &vm : vm_list) { + ui.@div(ugui::@fit((short)(ui.width*0.4)), ugui::@grow(), COLUMN, scroll_x: true, scroll_y: true) { + foreach (idx, &vm : vm_list) { Id id = ui.@div(ugui::@grow(), ugui::@fit(50), ROW, LEFT, false,{},false,false, idx) { + ui.sprite("vm", 48, idx)!!; ui.text(vm.name, idx)!!; ui.separator(ugui::@grow(), ugui::@exact(1), idx)!!; if (vm.is_running()) {