scale_factor := 1.000000
File: ui.bl
global_alpha := 1.000000
File: ui.bl
ignore_inputs : bool =
File: ui.bl
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
InitInfo :: struct {
api: Api;
font: Font;
font_icons: Font;
use_light_theme: bool;
}
File: ui.bl
init :: fn (info: *InitInfo)
File: ui.bl
terminate :: fn ()
File: ui.bl
get_default_style :: fn (T: type) T
File: ui.bl
get_default_style_ref :: fn {
fn () *Style;
fn (T: type) *T;
}
File: ui.bl
begin :: fn ()
File: ui.bl
end :: fn ()
File: ui.bl
frame_begin :: fn (viewport_size: glm.v2, dt: f32)
File: ui.bl
frame_end :: fn () #inline
File: ui.bl
is_mouse_over :: fn () bool #inline
File: ui.bl
has_keyboard_focus :: fn () bool #inline
File: ui.bl
clear_keyboard_focus :: fn () #inline
File: ui.bl
get_keyboard_focus :: fn () u64 #inline
File: ui.bl
set_keyboard_focus :: fn (hash: u64) #inline
File: ui.bl
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
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
window_begin :: fn (window: *Window) bool
File: ui.bl
window_end :: fn () #inline
File: ui.bl
label :: fn {
label_impl;
label_item_impl;
}
File: ui.bl
item_title :: fn (rect: Rect, text: string_view, style : *LabelStyle: null) Rect
File: ui.bl
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
button_end :: fn () #inline
File: ui.bl
button :: fn {
button_impl;
button_item_impl;
}
File: ui.bl
scroll_area_begin :: fn (_style : *ScrollAreaStyle: null, index : u64: 0, loc :: #call_location)
File: ui.bl
scroll_area_end :: fn () #inline
File: ui.bl
list_begin :: fn (style : *ScrollAreaStyle: null, title_width :: 0.000000, colorize_items_base_color :: TRANSPARENT, index : u64: 0, loc :: #call_location)
File: ui.bl
list_end :: fn () #inline
File: ui.bl
list_item_begin :: fn (item_offset :: 2, _item_height :: -1, _color :: TRANSPARENT) (rect: Rect, is_visible: bool)
File: ui.bl
list_item_end :: fn () #inline
File: ui.bl
list_item_separator :: fn (height :: 8) #inline
File: ui.bl
list_background_color :: fn (color: glm.v4) glm.v4 #inline
File: ui.bl
checkbox :: fn {
checkbox_impl;
checkbox_item_impl;
}
File: ui.bl
variants :: fn {
variants_impl;
variants_item_impl;
}
File: ui.bl
textbox :: fn {
textbox_impl;
textbox_item_impl;
intbox_item_impl;
floatbox_impl;
floatbox_item_impl;
}
File: ui.bl
canvas_begin :: fn (background_color : glm.v4: TRANSPARENT)
File: ui.bl
canvas_end :: fn ()
File: ui.bl
canvas_rect :: fn (rect: Rect, color: glm.v4)
File: ui.bl
canvas_text :: fn (pos: glm.v2, text: string_view, font: Font, color: glm.v4)
File: ui.bl
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
button_bar :: fn {
button_bar_impl;
button_bar_item_impl;
}
File: ui.bl
get_list_item_height :: fn () f32
File: ui.bl