ui.bl

ui.scale_factor

scale_factor := 1.000000

File: ui.bl

ui.global_alpha

global_alpha := 1.000000

File: ui.bl

ui.ignore_inputs

ignore_inputs : bool = 

File: ui.bl

ui.Api

Api :: struct {
    draw_rect: DrawRectFn;
    draw_rect_with_colors: DrawRectWithColorsFn;
    draw_text: DrawTextFn;
    draw_hs_rect: DrawHsRectFn;
    get_mouse_position: GetMousePositionFn;
    get_mouse_scroll_offset: GetMouseScrollOffsetFn;
    get_last_char_input: GetLastCharInputFn;
    is_lmb_press: MouseButtonFn;
    is_lmb_down: MouseButtonFn;
    is_lmb_release: MouseButtonFn;
    is_key_press_or_repeat: KeyEventFn;
    is_key_release: KeyEventFn;
    is_key_press: KeyEventFn;
    set_cursor: SetCursorFn;
    set_clipboard: SetClipboardFn;
    get_clipboard: GetClipboardFn;
    get_text_size: GetTextSizeFn;
}

File: ui.bl

ui.InitInfo

InitInfo :: struct {
    api: Api;
    font: Font;
    font_icons: Font;
    use_light_theme: bool;
}

File: ui.bl

ui.init

init :: fn (info: *InitInfo) 

File: ui.bl

ui.terminate

terminate :: fn () 

File: ui.bl

ui.get_default_style

get_default_style :: fn (T: type) T

File: ui.bl

ui.get_default_style_ref

get_default_style_ref :: fn { 
    fn () *Style; 
    fn (T: type) *T; 
}

File: ui.bl

ui.begin

begin :: fn () 

File: ui.bl

ui.end

end :: fn () 

File: ui.bl

ui.frame_begin

frame_begin :: fn (viewport_size: glm.v2, dt: f32) 

File: ui.bl

ui.frame_end

frame_end :: fn ()  #inline

File: ui.bl

ui.is_mouse_over

is_mouse_over :: fn () bool #inline

File: ui.bl

ui.has_keyboard_focus

has_keyboard_focus :: fn () bool #inline

File: ui.bl

ui.clear_keyboard_focus

clear_keyboard_focus :: fn ()  #inline

File: ui.bl

ui.get_keyboard_focus

get_keyboard_focus :: fn () u64 #inline

File: ui.bl

ui.set_keyboard_focus

set_keyboard_focus :: fn (hash: u64)  #inline

File: ui.bl

ui.Window

Window :: struct {
    rect: Rect;
    is_minimized: bool;
    is_visible: bool;
    style: *WindowStyle;
    title: string_view;
    flags: WindowFlags;
    focus: bool;
    move_start: glm.v2;
    z_order: s32;
    hash: u64;
    is_moving: bool;
    is_scrolling: bool;
    resize: WindowResize;
}

File: ui.bl

ui.init_window

init_window :: fn (w: *Window, rect: Rect, title: string_view, flags :: WindowFlags.DEFAULT, style : *WindowStyle: null, index : u64: 0, loc :: #call_location) 

File: ui.bl

ui.window_begin

window_begin :: fn (window: *Window) bool

File: ui.bl

ui.window_end

window_end :: fn ()  #inline

File: ui.bl

ui.label

label :: fn { 
    label_impl; 
    label_item_impl; 
}

File: ui.bl

ui.item_title

item_title :: fn (rect: Rect, text: string_view, style : *LabelStyle: null) Rect

File: ui.bl

ui.button_begin

button_begin :: fn (rect: Rect, flags :: ButtonFlags.DEFAULT, _style : *ButtonStyle: null, index : u64: 0, loc :: #call_location) (clicked: bool, button_state: *Button, is_hovered: bool)

File: ui.bl

ui.button_end

button_end :: fn ()  #inline

File: ui.bl

ui.button

button :: fn { 
    button_impl; 
    button_item_impl; 
}

File: ui.bl

ui.scroll_area_begin

scroll_area_begin :: fn (_style : *ScrollAreaStyle: null, index : u64: 0, loc :: #call_location) 

File: ui.bl

ui.scroll_area_end

scroll_area_end :: fn ()  #inline

File: ui.bl

ui.list_begin

list_begin :: fn (style : *ScrollAreaStyle: null, title_width :: 0.000000, colorize_items_base_color :: TRANSPARENT, index : u64: 0, loc :: #call_location) 

File: ui.bl

ui.list_end

list_end :: fn ()  #inline

File: ui.bl

ui.list_item_begin

list_item_begin :: fn (item_offset :: 2, _item_height :: -1, _color :: TRANSPARENT) (rect: Rect, is_visible: bool)

File: ui.bl

ui.list_item_end

list_item_end :: fn ()  #inline

File: ui.bl

ui.list_item_separator

list_item_separator :: fn (height :: 8)  #inline

File: ui.bl

ui.list_background_color

list_background_color :: fn (color: glm.v4) glm.v4 #inline

File: ui.bl

ui.checkbox

checkbox :: fn { 
    checkbox_impl; 
    checkbox_item_impl; 
}

File: ui.bl

ui.variants

variants :: fn { 
    variants_impl; 
    variants_item_impl; 
}

File: ui.bl

ui.textbox

textbox :: fn { 
    textbox_impl; 
    textbox_item_impl; 
    intbox_item_impl; 
    floatbox_impl; 
    floatbox_item_impl; 
}

File: ui.bl

ui.canvas_begin

canvas_begin :: fn (background_color : glm.v4: TRANSPARENT) 

File: ui.bl

ui.canvas_end

canvas_end :: fn () 

File: ui.bl

ui.canvas_rect

canvas_rect :: fn (rect: Rect, color: glm.v4) 

File: ui.bl

ui.canvas_text

canvas_text :: fn (pos: glm.v2, text: string_view, font: Font, color: glm.v4) 

File: ui.bl

ui.color_picker

color_picker :: fn (color: *glm.v4, base_color: glm.v4, reset :: false, edit_alpha :: true, index : u64: 0, loc :: #call_location) (applied: bool, cancelled: bool)

File: ui.bl

ui.button_bar

button_bar :: fn { 
    button_bar_impl; 
    button_bar_item_impl; 
}

File: ui.bl

ui.get_list_item_height

get_list_item_height :: fn () f32

File: ui.bl