diff --git a/code/grime/linked_list.odin b/code/grime/linked_list.odin index d8df31d..5c2b993 100644 --- a/code/grime/linked_list.odin +++ b/code/grime/linked_list.odin @@ -43,27 +43,17 @@ DLL_NodeFull :: struct ( $ Type : typeid ) { first, last : ^Type, prev, next : ^Type, } - -// I have specific members commented out here as the RAD Debugger currently doesn't support transparently exposing using members of a struct (yet). - DLL_NodePN :: struct ( $ Type : typeid ) { - // using _ : struct { - prev, next : ^Type, - // }, - // using _ : struct { - // left, right : ^Type, - // }, + prev, next : ^Type, } - DLL_NodeFL :: struct ( $ Type : typeid ) { - // using _ : struct { - first, last : ^Type, - // }, - - // TODO(Ed): Review this - // using _ : struct { - // bottom, top: ^Type, - // }, +first, last : ^Type, +} +DLL_NodeBT :: struct ($Type: typeid) { + bottom, top: ^Type, +} +DLL_NodeLR :: struct ($Type: typeid) { + left, right: ^Type, } type_is_node :: #force_inline proc "contextless" ( $ Type : typeid ) -> bool diff --git a/code/grime/pkg_mappings.odin b/code/grime/pkg_mappings.odin index bb6c84f..a5018ec 100644 --- a/code/grime/pkg_mappings.odin +++ b/code/grime/pkg_mappings.odin @@ -21,6 +21,7 @@ import "base:runtime" Exabyte :: runtime.Exabyte resize_non_zeroed :: runtime.non_zero_mem_resize SourceCodeLocation :: runtime.Source_Code_Location + Raw_Slice :: runtime.Raw_Slice //#endregion("base") diff --git a/code/sectr/app/settings_menu.odin b/code/sectr/app/settings_menu.odin index be4bdea..a0f65a1 100644 --- a/code/sectr/app/settings_menu.odin +++ b/code/sectr/app/settings_menu.odin @@ -44,14 +44,14 @@ ui_settings_menu_builder :: proc( captures : rawptr = nil ) -> ( should_raise : setup_container: { using container - if ! is_maximized + if ! is_maximized { layout.flags = { // .Size_To_Content, - .Fixed_Width, .Fixed_Height, + .Fixed_Width, .Fixed_Height, // .Min_Size_To_Content_Y, - .Fixed_Position_X, .Fixed_Position_Y, - .Origin_At_Anchor_Center + .Fixed_Position_X, .Fixed_Position_Y, + .Origin_At_Anchor_Center } layout.pos = pos layout.size = range2( size, {}) @@ -61,17 +61,17 @@ ui_settings_menu_builder :: proc( captures : rawptr = nil ) -> ( should_raise : layout.flags = {.Origin_At_Anchor_Center } layout.pos = {} } - + dragged := ui_resizable_handles( & container, & pos, & size) should_raise |= dragged - + // TODO(Ed): This demonstrated a minimum viable-size window to content, however we still need to support a scroll box and switch this window to that. old_vbox := ui_box_from_key(get_ui_context_mut().prev_cache, ui_key_from_string("Settings Menu: VBox")) if old_vbox != nil { vbox_children_bounds := ui_compute_children_overall_bounds(old_vbox) joined_size := size_range2( vbox_children_bounds ) - if ! dragged + if ! dragged { // TODO(Ed): Figure out what this value is extra_padding :: 3 @@ -93,7 +93,7 @@ ui_settings_menu_builder :: proc( captures : rawptr = nil ) -> ( should_raise : ui_parent(vbox) Frame_Bar: - { + { scope(theme_window_bar) frame_bar := ui_hbox(.Left_To_Right, "Settings Menu: Frame Bar", { .Mouse_Clickable }) { @@ -624,7 +624,7 @@ ui_settings_menu_builder :: proc( captures : rawptr = nil ) -> ( should_raise : append( & input_str, to_runes(str_fmt("%v", config.text_size_canvas_scalar))) } } - + Text_Alpha_Sharpen: { ui_settings_entry_inputbox( & text_alpha_sharpen, false, "settings_menu.text_alpha_sharpen", str_intern("Text: Alpha Sharpen"), diff --git a/code/sectr/ui/widgets.odin b/code/sectr/ui/widgets.odin index 7f41078..85ff065 100644 --- a/code/sectr/ui/widgets.odin +++ b/code/sectr/ui/widgets.odin @@ -3,9 +3,6 @@ package sectr import "base:runtime" import lalg "core:math/linalg" -// Problably cursed way to setup a 'scope' for a widget -// ui_build :: #force_inline proc( captures : $Type, $maker : #type proc(captures : Type) -> $ReturnType ) -> ReturnType { return maker(captures) } - UI_Widget :: struct { using box : ^UI_Box, using signal : UI_Signal,