diff --git a/ui.odin b/ui.odin index 24b87ea..576c045 100644 --- a/ui.odin +++ b/ui.odin @@ -60,6 +60,7 @@ ElementType :: enum { Button, Slider, InputFloat, + InputText, Dropdown, Label, Custom0, @@ -92,6 +93,26 @@ Dimensions :: struct { width, height: Size, } +dimensions_pixels :: proc { + dimensions_pixels_size, + dimensions_pixels_v, + dimensions_pixels_width_height, +} +dimensions_pixels_width_height :: proc(w, h: Size_Pixels) -> Dimensions {return {w, h}} +dimensions_pixels_v :: proc(v: v2) -> Dimensions {return {Size_Pixels(v.x), Size_Pixels(v.y)}} +dimensions_pixels_size :: proc(s: Size_Pixels) -> Dimensions {return {s, s}} + +dimensions_percentage :: proc { + dimensions_percentage_size, + dimensions_percentage_v, + dimensions_percentage_width_height, +} +dimensions_percentage_width_height :: proc(w, h: Size_Percentage) -> Dimensions {return {w, h}} +dimensions_percentage_v :: proc(v: v2) -> Dimensions {return {Size_Percentage(v.x), Size_Percentage(v.y)}} +dimensions_percentage_size :: proc(s: Size_Percentage) -> Dimensions {return {s, s}} + +dimensions_auto :: proc() -> Dimensions {return {Size_Auto(true), Size_Auto(true)}} + Axis :: enum {X, Y} init :: proc(ctx: ^Context, element_capacity: int, measure_text_callback: MeasureTextProc, measure_text_callback_data: rawptr, allocator := context.allocator) {