Struct UiApi

Source
#[repr(C)]
pub struct UiApi {
Show 119 fields pub create: Option<unsafe extern "C" fn(a: *mut AllocatorI) -> *mut UiO>, pub destroy: Option<unsafe extern "C" fn(i: *mut UiO)>, pub clear: Option<unsafe extern "C" fn(ui: *mut UiO)>, pub release_held_state: Option<unsafe extern "C" fn(ui: *mut UiO)>, pub set_window_status: Option<unsafe extern "C" fn(ui: *mut UiO, rect: RectT, has_focus: bool, is_under_cursor: bool)>, pub window_rect: Option<unsafe extern "C" fn(ui: *mut UiO) -> RectT>, pub window_has_focus: Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>, pub window_is_under_cursor: Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>, pub set_feather_width: Option<unsafe extern "C" fn(ui: *mut UiO, feather_width: f32)>, pub feather_width: Option<unsafe extern "C" fn(ui: *const UiO) -> f32>, pub set_scroll_wheel_lines: Option<unsafe extern "C" fn(ui: *mut UiO, scroll_speed: f32)>, pub feed_events: Option<unsafe extern "C" fn(ui: *mut UiO, events: *const InputEventT, count: u32, offset: Vec2T, scale: Vec2T)>, pub feed_external_edit_key: Option<unsafe extern "C" fn(ui: *mut UiO, key: u32)>, pub merge_overlay: Option<unsafe extern "C" fn(ui: *mut UiO)>, pub begin_overlay_draw_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>, pub end_overlay_draw_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>, pub drawing_in_overlay: Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>, pub cursor: Option<unsafe extern "C" fn(ui: *mut UiO) -> UiCursor>, pub pane: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, rect: RectT)>, pub scrollbar_x: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiScrollbarT, scroll: *mut f32) -> bool>, pub scrollbar_y: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiScrollbarT, scroll: *mut f32) -> bool>, pub begin_scrollview: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiScrollviewT, scroll_x: *mut f32, scroll_y: *mut f32, content_rect: *mut RectT) -> bool>, pub end_scrollview: Option<unsafe extern "C" fn(ui: *mut UiO, scroll_x: *mut f32, scroll_y: *mut f32, can_respond_to_keyboard: bool) -> bool>, pub label: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiLabelT) -> RectT>, pub text: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT) -> RectT>, pub text_metrics: Option<unsafe extern "C" fn(style: *const UiStyleT, text: *const c_char) -> RectT>, pub wrapped_text: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT) -> RectT>, pub link: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiLinkT) -> bool>, pub tooltip: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, text: *const c_char)>, pub button: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiButtonT) -> bool>, pub pushbutton: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiButtonT, pressed: *mut bool) -> bool>, pub checkbox: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiCheckboxT, checked: *mut bool) -> bool>, pub radio: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiRadioT, checked: bool) -> bool>, pub progress: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiProgressT, fraction: f32)>, pub slider: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiSliderT, val: *mut f32, initial: *mut f32) -> UiInteractionResultT>, pub slider_2d: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const Ui2dSliderT, val: *mut Vec2T, initial: *mut Vec2T) -> UiInteractionResultT>, pub spinner: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiSpinnerT, val: *mut f64, initial: *mut f64) -> UiInteractionResultT>, pub dropdown: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiDropdownT, selected: *mut u32) -> bool>, pub textedit: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTexteditT, buffer: *mut c_char, buffer_bytes: u32) -> bool>, pub multiline_textedit: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTexteditT, buffer: *mut *mut c_char, a: *mut AllocatorI, caret_rect: *mut RectT) -> bool>, pub menubar: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiMenubarT) -> UiMenuResultT>, pub menu: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiMenuT) -> UiMenuResultT>, pub sort_menu_items: Option<unsafe extern "C" fn(items: *mut UiMenuItemT, count: u32)>, pub tabbar: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTabbarT, selected: *mut u32) -> UiTabbarResultT>, pub draggedtab: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiDraggedtabT)>, pub splitter_x: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiSplitterT, bias: *mut f32, content_left: *mut RectT, content_right: *mut RectT) -> bool>, pub splitter_x_rects: Option<unsafe extern "C" fn(c: *const UiSplitterT, bias: f32, content_left: *mut RectT, content_right: *mut RectT)>, pub splitter_y: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiSplitterT, bias: *mut f32, content_top: *mut RectT, content_bottom: *mut RectT) -> bool>, pub splitter_y_rects: Option<unsafe extern "C" fn(c: *const UiSplitterT, bias: f32, content_top: *mut RectT, content_bottom: *mut RectT)>, pub titlebar: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiTitlebarT) -> UiTitlebarResultT>, pub buffers: Option<unsafe extern "C" fn(ui: *mut UiO) -> UiBuffersT>, pub shortcuts: Option<unsafe extern "C" fn() -> *mut *mut ShortcutI>, pub reserve_draw_memory: Option<unsafe extern "C" fn(ui: *mut UiO)>, pub reserve_draw_memory_detailed: Option<unsafe extern "C" fn(ui: *mut UiO, primitive_bytes: u32, main_index_bytes: u32, overlay_index_bytes: u32)>, pub make_id: Option<unsafe extern "C" fn(ui: *mut UiO) -> u64>, pub last_id: Option<unsafe extern "C" fn(ui: *mut UiO) -> u64>, pub create_fixed_id_range: Option<unsafe extern "C" fn(ui: *mut UiO, size: u64) -> u64>, pub set_id: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> u64>, pub set_cursor: Option<unsafe extern "C" fn(ui: *mut UiO, cursor: UiCursor)>, pub is_hovering: Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, clip: u32) -> bool>, pub set_responder_chain_root: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>, pub begin_responder_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>, pub end_responder_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>, pub in_responder_chain: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>, pub is_first_responder: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>, pub set_responder_chain: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>, pub pop_responder_chain: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>, pub responder_chain: Option<unsafe extern "C" fn(ui: *mut UiO, count: *mut u32) -> *mut u64>, pub is_responder_chain_empty: Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>, pub focus_on_mouse_press: Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, id: u64) -> bool>, pub consume_key: Option<unsafe extern "C" fn(ui: *mut UiO, keyboard_item: u32)>, pub begin_tab_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>, pub end_tab_scope: Option<unsafe extern "C" fn(ui: *mut UiO)>, pub focus_on_tab: Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, id: u64) -> bool>, pub suppress_next_tab_focus: Option<unsafe extern "C" fn(ui: *mut UiO)>, pub clear_active: Option<unsafe extern "C" fn(ui: *mut UiO)>, pub set_active: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64, active_data_format: StrhashT) -> *mut c_void>, pub is_active: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64, active_data_format: StrhashT) -> *mut c_void>, pub lost_active: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64, active_data_format: StrhashT) -> *mut c_void>, pub clear_lost_active: Option<unsafe extern "C" fn(ui: *mut UiO)>, pub save_active_state: Option<unsafe extern "C" fn(ui: *mut UiO, ta: *mut TempAllocatorI) -> *mut c_void>, pub restore_active_state: Option<unsafe extern "C" fn(ui: *mut UiO, state: *const c_void)>, pub to_draw_style: Option<unsafe extern "C" fn(ui: *mut UiO, style: *mut Draw2dStyleT, uistyle: *const UiStyleT) -> *mut Draw2dStyleT>, pub set_cache: Option<unsafe extern "C" fn(ui: *mut UiO, key: u64, carray: *mut c_char)>, pub lookup_cache: Option<unsafe extern "C" fn(ui: *mut UiO, key: u64) -> *mut c_char>, pub get_cache: Option<unsafe extern "C" fn(ui: *mut UiO, key: u64, size: u32) -> *mut c_void>, pub left_mouse_pressed: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>, pub middle_mouse_pressed: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>, pub right_mouse_pressed: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>, pub left_mouse_released: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>, pub middle_mouse_released: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>, pub right_mouse_released: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>, pub double_click: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>, pub triple_click: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>, pub get_mouse_help_texts: Option<unsafe extern "C" fn(ui: *mut UiO) -> UiMouseHelpTextsT>, pub theme: Option<unsafe extern "C" fn(ui: *mut UiO) -> UiThemeT>, pub get_theme_colors: Option<unsafe extern "C" fn(theme: UiThemeT, theme_colors: *mut *mut ColorSrgbT, a: *mut AllocatorI)>, pub set_theme: Option<unsafe extern "C" fn(ui: *mut UiO, theme: UiThemeT)>, pub set_theme_colors: Option<unsafe extern "C" fn(ui: *mut UiO, colors: *const ColorSrgbT)>, pub create_custom_theme: Option<unsafe extern "C" fn(ui: *mut UiO, tt: *mut TheTruthO) -> UiThemeT>, pub set_parent_ui: Option<unsafe extern "C" fn(ui: *mut UiO, parent_ui: *mut UiO)>, pub fork: Option<unsafe extern "C" fn(main: *mut UiO) -> *mut UiO>, pub join: Option<unsafe extern "C" fn(main: *mut UiO, fork: *mut UiO)>, pub merge_render_buffers: Option<unsafe extern "C" fn(main: *mut UiO, fork: *mut UiO)>, pub main_ui: Option<unsafe extern "C" fn(ui: *const UiO) -> *mut UiO>, pub add_font: Option<unsafe extern "C" fn(ui: *mut UiO, font_id: StrhashT, size: u32, font: *const FontT) -> *const Draw2dFontT>, pub font: Option<unsafe extern "C" fn(ui: *mut UiO, font_id: StrhashT, size: u32) -> UiFontT>, pub default_style: Option<unsafe extern "C" fn(ui: *const UiO) -> UiStyleT>, pub create_truth_types: Option<unsafe extern "C" fn(tt: *mut TheTruthO)>, pub register_control: Option<unsafe extern "C" fn(ui: *mut UiO, role: StrhashT, title: *const c_char, rect: RectT)>, pub find_control: Option<unsafe extern "C" fn(ui: *mut UiO, role: StrhashT, title: *const c_char) -> RectT>, pub automation_controls: Option<unsafe extern "C" fn(ui: *mut UiO, ta: *mut TempAllocatorI) -> *mut UiAutomationControlT>, pub mouse_move: Option<unsafe extern "C" fn(ui: *mut UiO, pos: Vec2T)>, pub mouse_button_state: Option<unsafe extern "C" fn(ui: *mut UiO, mouse_item: u32, down: bool)>, pub keyboard_key_state: Option<unsafe extern "C" fn(ui: *mut UiO, keyboard_item: u32, down: bool)>, pub text_input: Option<unsafe extern "C" fn(ui: *mut UiO, text: *const c_char)>, pub visualize_flag: Option<unsafe extern "C" fn(ui: *mut UiO, flag: UiVisualizeFlag) -> bool>, pub set_visualize_flag: Option<unsafe extern "C" fn(ui: *mut UiO, flag: UiVisualizeFlag, on: bool)>, pub visualize: Option<unsafe extern "C" fn(ui: *mut UiO)>,
}

Fields§

§create: Option<unsafe extern "C" fn(a: *mut AllocatorI) -> *mut UiO>§destroy: Option<unsafe extern "C" fn(i: *mut UiO)>§clear: Option<unsafe extern "C" fn(ui: *mut UiO)>§release_held_state: Option<unsafe extern "C" fn(ui: *mut UiO)>§set_window_status: Option<unsafe extern "C" fn(ui: *mut UiO, rect: RectT, has_focus: bool, is_under_cursor: bool)>§window_rect: Option<unsafe extern "C" fn(ui: *mut UiO) -> RectT>§window_has_focus: Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>§window_is_under_cursor: Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>§set_feather_width: Option<unsafe extern "C" fn(ui: *mut UiO, feather_width: f32)>§feather_width: Option<unsafe extern "C" fn(ui: *const UiO) -> f32>§set_scroll_wheel_lines: Option<unsafe extern "C" fn(ui: *mut UiO, scroll_speed: f32)>§feed_events: Option<unsafe extern "C" fn(ui: *mut UiO, events: *const InputEventT, count: u32, offset: Vec2T, scale: Vec2T)>§feed_external_edit_key: Option<unsafe extern "C" fn(ui: *mut UiO, key: u32)>§merge_overlay: Option<unsafe extern "C" fn(ui: *mut UiO)>§begin_overlay_draw_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>§end_overlay_draw_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>§drawing_in_overlay: Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>§cursor: Option<unsafe extern "C" fn(ui: *mut UiO) -> UiCursor>§pane: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, rect: RectT)>§scrollbar_x: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiScrollbarT, scroll: *mut f32) -> bool>§scrollbar_y: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiScrollbarT, scroll: *mut f32) -> bool>§begin_scrollview: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiScrollviewT, scroll_x: *mut f32, scroll_y: *mut f32, content_rect: *mut RectT) -> bool>§end_scrollview: Option<unsafe extern "C" fn(ui: *mut UiO, scroll_x: *mut f32, scroll_y: *mut f32, can_respond_to_keyboard: bool) -> bool>§label: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiLabelT) -> RectT>§text: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT) -> RectT>§text_metrics: Option<unsafe extern "C" fn(style: *const UiStyleT, text: *const c_char) -> RectT>§wrapped_text: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT) -> RectT>§link: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiLinkT) -> bool>§tooltip: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, text: *const c_char)>§button: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiButtonT) -> bool>§pushbutton: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiButtonT, pressed: *mut bool) -> bool>§checkbox: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiCheckboxT, checked: *mut bool) -> bool>§radio: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiRadioT, checked: bool) -> bool>§progress: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiProgressT, fraction: f32)>§slider: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiSliderT, val: *mut f32, initial: *mut f32) -> UiInteractionResultT>§slider_2d: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const Ui2dSliderT, val: *mut Vec2T, initial: *mut Vec2T) -> UiInteractionResultT>§spinner: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiSpinnerT, val: *mut f64, initial: *mut f64) -> UiInteractionResultT>§dropdown: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiDropdownT, selected: *mut u32) -> bool>§textedit: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTexteditT, buffer: *mut c_char, buffer_bytes: u32) -> bool>§multiline_textedit: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTexteditT, buffer: *mut *mut c_char, a: *mut AllocatorI, caret_rect: *mut RectT) -> bool>§menubar: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiMenubarT) -> UiMenuResultT>§menu: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiMenuT) -> UiMenuResultT>§sort_menu_items: Option<unsafe extern "C" fn(items: *mut UiMenuItemT, count: u32)>§tabbar: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTabbarT, selected: *mut u32) -> UiTabbarResultT>§draggedtab: Option<unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiDraggedtabT)>§splitter_x: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiSplitterT, bias: *mut f32, content_left: *mut RectT, content_right: *mut RectT) -> bool>§splitter_x_rects: Option<unsafe extern "C" fn(c: *const UiSplitterT, bias: f32, content_left: *mut RectT, content_right: *mut RectT)>§splitter_y: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiSplitterT, bias: *mut f32, content_top: *mut RectT, content_bottom: *mut RectT) -> bool>§splitter_y_rects: Option<unsafe extern "C" fn(c: *const UiSplitterT, bias: f32, content_top: *mut RectT, content_bottom: *mut RectT)>§titlebar: Option<unsafe extern "C" fn(ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiTitlebarT) -> UiTitlebarResultT>§buffers: Option<unsafe extern "C" fn(ui: *mut UiO) -> UiBuffersT>§shortcuts: Option<unsafe extern "C" fn() -> *mut *mut ShortcutI>§reserve_draw_memory: Option<unsafe extern "C" fn(ui: *mut UiO)>§reserve_draw_memory_detailed: Option<unsafe extern "C" fn(ui: *mut UiO, primitive_bytes: u32, main_index_bytes: u32, overlay_index_bytes: u32)>§make_id: Option<unsafe extern "C" fn(ui: *mut UiO) -> u64>§last_id: Option<unsafe extern "C" fn(ui: *mut UiO) -> u64>§create_fixed_id_range: Option<unsafe extern "C" fn(ui: *mut UiO, size: u64) -> u64>§set_id: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> u64>§set_cursor: Option<unsafe extern "C" fn(ui: *mut UiO, cursor: UiCursor)>§is_hovering: Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, clip: u32) -> bool>§set_responder_chain_root: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>§begin_responder_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>§end_responder_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>§in_responder_chain: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>§is_first_responder: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>§set_responder_chain: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>§pop_responder_chain: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>§responder_chain: Option<unsafe extern "C" fn(ui: *mut UiO, count: *mut u32) -> *mut u64>§is_responder_chain_empty: Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>§focus_on_mouse_press: Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, id: u64) -> bool>§consume_key: Option<unsafe extern "C" fn(ui: *mut UiO, keyboard_item: u32)>§begin_tab_scope: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>§end_tab_scope: Option<unsafe extern "C" fn(ui: *mut UiO)>§focus_on_tab: Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, id: u64) -> bool>§suppress_next_tab_focus: Option<unsafe extern "C" fn(ui: *mut UiO)>§clear_active: Option<unsafe extern "C" fn(ui: *mut UiO)>§set_active: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64, active_data_format: StrhashT) -> *mut c_void>§is_active: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64, active_data_format: StrhashT) -> *mut c_void>§lost_active: Option<unsafe extern "C" fn(ui: *mut UiO, id: u64, active_data_format: StrhashT) -> *mut c_void>§clear_lost_active: Option<unsafe extern "C" fn(ui: *mut UiO)>§save_active_state: Option<unsafe extern "C" fn(ui: *mut UiO, ta: *mut TempAllocatorI) -> *mut c_void>§restore_active_state: Option<unsafe extern "C" fn(ui: *mut UiO, state: *const c_void)>§to_draw_style: Option<unsafe extern "C" fn(ui: *mut UiO, style: *mut Draw2dStyleT, uistyle: *const UiStyleT) -> *mut Draw2dStyleT>§set_cache: Option<unsafe extern "C" fn(ui: *mut UiO, key: u64, carray: *mut c_char)>§lookup_cache: Option<unsafe extern "C" fn(ui: *mut UiO, key: u64) -> *mut c_char>§get_cache: Option<unsafe extern "C" fn(ui: *mut UiO, key: u64, size: u32) -> *mut c_void>§left_mouse_pressed: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>§middle_mouse_pressed: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>§right_mouse_pressed: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>§left_mouse_released: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>§middle_mouse_released: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>§right_mouse_released: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>§double_click: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>§triple_click: Option<unsafe extern "C" fn(ui: *mut UiO, help_text: *const c_char) -> bool>§get_mouse_help_texts: Option<unsafe extern "C" fn(ui: *mut UiO) -> UiMouseHelpTextsT>§theme: Option<unsafe extern "C" fn(ui: *mut UiO) -> UiThemeT>§get_theme_colors: Option<unsafe extern "C" fn(theme: UiThemeT, theme_colors: *mut *mut ColorSrgbT, a: *mut AllocatorI)>§set_theme: Option<unsafe extern "C" fn(ui: *mut UiO, theme: UiThemeT)>§set_theme_colors: Option<unsafe extern "C" fn(ui: *mut UiO, colors: *const ColorSrgbT)>§create_custom_theme: Option<unsafe extern "C" fn(ui: *mut UiO, tt: *mut TheTruthO) -> UiThemeT>§set_parent_ui: Option<unsafe extern "C" fn(ui: *mut UiO, parent_ui: *mut UiO)>§fork: Option<unsafe extern "C" fn(main: *mut UiO) -> *mut UiO>§join: Option<unsafe extern "C" fn(main: *mut UiO, fork: *mut UiO)>§merge_render_buffers: Option<unsafe extern "C" fn(main: *mut UiO, fork: *mut UiO)>§main_ui: Option<unsafe extern "C" fn(ui: *const UiO) -> *mut UiO>§add_font: Option<unsafe extern "C" fn(ui: *mut UiO, font_id: StrhashT, size: u32, font: *const FontT) -> *const Draw2dFontT>§font: Option<unsafe extern "C" fn(ui: *mut UiO, font_id: StrhashT, size: u32) -> UiFontT>§default_style: Option<unsafe extern "C" fn(ui: *const UiO) -> UiStyleT>§create_truth_types: Option<unsafe extern "C" fn(tt: *mut TheTruthO)>§register_control: Option<unsafe extern "C" fn(ui: *mut UiO, role: StrhashT, title: *const c_char, rect: RectT)>§find_control: Option<unsafe extern "C" fn(ui: *mut UiO, role: StrhashT, title: *const c_char) -> RectT>§automation_controls: Option<unsafe extern "C" fn(ui: *mut UiO, ta: *mut TempAllocatorI) -> *mut UiAutomationControlT>§mouse_move: Option<unsafe extern "C" fn(ui: *mut UiO, pos: Vec2T)>§mouse_button_state: Option<unsafe extern "C" fn(ui: *mut UiO, mouse_item: u32, down: bool)>§keyboard_key_state: Option<unsafe extern "C" fn(ui: *mut UiO, keyboard_item: u32, down: bool)>§text_input: Option<unsafe extern "C" fn(ui: *mut UiO, text: *const c_char)>§visualize_flag: Option<unsafe extern "C" fn(ui: *mut UiO, flag: UiVisualizeFlag) -> bool>§set_visualize_flag: Option<unsafe extern "C" fn(ui: *mut UiO, flag: UiVisualizeFlag, on: bool)>§visualize: Option<unsafe extern "C" fn(ui: *mut UiO)>

Implementations§

Source§

impl UiApi

Source

pub unsafe fn create(&self, a: *mut AllocatorI) -> *mut UiO

Source

pub unsafe fn destroy(&self, i: *mut UiO)

Source

pub unsafe fn clear(&self, ui: *mut UiO)

Source

pub unsafe fn release_held_state(&self, ui: *mut UiO)

Source

pub unsafe fn set_window_status( &self, ui: *mut UiO, rect: RectT, has_focus: bool, is_under_cursor: bool, )

Source

pub unsafe fn window_rect(&self, ui: *mut UiO) -> RectT

Source

pub unsafe fn window_has_focus(&self, ui: *mut UiO) -> bool

Source

pub unsafe fn window_is_under_cursor(&self, ui: *mut UiO) -> bool

Source

pub unsafe fn set_feather_width(&self, ui: *mut UiO, feather_width: f32)

Source

pub unsafe fn feather_width(&self, ui: *const UiO) -> f32

Source

pub unsafe fn set_scroll_wheel_lines(&self, ui: *mut UiO, scroll_speed: f32)

Source

pub unsafe fn feed_events( &self, ui: *mut UiO, events: *const InputEventT, count: u32, offset: Vec2T, scale: Vec2T, )

Source

pub unsafe fn feed_external_edit_key(&self, ui: *mut UiO, key: u32)

Source

pub unsafe fn merge_overlay(&self, ui: *mut UiO)

Source

pub unsafe fn begin_overlay_draw_scope(&self, ui: *mut UiO, id: u64)

Source

pub unsafe fn end_overlay_draw_scope(&self, ui: *mut UiO, id: u64)

Source

pub unsafe fn drawing_in_overlay(&self, ui: *mut UiO) -> bool

Source

pub unsafe fn cursor(&self, ui: *mut UiO) -> UiCursor

Source

pub unsafe fn pane(&self, ui: *mut UiO, style: *const UiStyleT, rect: RectT)

Source

pub unsafe fn scrollbar_x( &self, ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiScrollbarT, scroll: *mut f32, ) -> bool

Source

pub unsafe fn scrollbar_y( &self, ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiScrollbarT, scroll: *mut f32, ) -> bool

Source

pub unsafe fn begin_scrollview( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiScrollviewT, scroll_x: *mut f32, scroll_y: *mut f32, content_rect: *mut RectT, ) -> bool

Source

pub unsafe fn end_scrollview( &self, ui: *mut UiO, scroll_x: *mut f32, scroll_y: *mut f32, can_respond_to_keyboard: bool, ) -> bool

Source

pub unsafe fn label( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiLabelT, ) -> RectT

Source

pub unsafe fn text( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT, ) -> RectT

Source

pub unsafe fn text_metrics( &self, style: *const UiStyleT, text: *const c_char, ) -> RectT

Source

pub unsafe fn wrapped_text( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT, ) -> RectT

Source

pub unsafe fn tooltip( &self, ui: *mut UiO, style: *const UiStyleT, text: *const c_char, )

Source

pub unsafe fn button( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiButtonT, ) -> bool

Source

pub unsafe fn pushbutton( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiButtonT, pressed: *mut bool, ) -> bool

Source

pub unsafe fn checkbox( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiCheckboxT, checked: *mut bool, ) -> bool

Source

pub unsafe fn radio( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiRadioT, checked: bool, ) -> bool

Source

pub unsafe fn progress( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiProgressT, fraction: f32, )

Source

pub unsafe fn slider( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiSliderT, val: *mut f32, initial: *mut f32, ) -> UiInteractionResultT

Source

pub unsafe fn slider_2d( &self, ui: *mut UiO, style: *const UiStyleT, c: *const Ui2dSliderT, val: *mut Vec2T, initial: *mut Vec2T, ) -> UiInteractionResultT

Source

pub unsafe fn spinner( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiSpinnerT, val: *mut f64, initial: *mut f64, ) -> UiInteractionResultT

Source

pub unsafe fn dropdown( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiDropdownT, selected: *mut u32, ) -> bool

Source

pub unsafe fn textedit( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiTexteditT, buffer: *mut c_char, buffer_bytes: u32, ) -> bool

Source

pub unsafe fn multiline_textedit( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiTexteditT, buffer: *mut *mut c_char, a: *mut AllocatorI, caret_rect: *mut RectT, ) -> bool

Source

pub unsafe fn menubar( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiMenubarT, ) -> UiMenuResultT

Source

pub unsafe fn menu( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiMenuT, ) -> UiMenuResultT

Source

pub unsafe fn sort_menu_items(&self, items: *mut UiMenuItemT, count: u32)

Source

pub unsafe fn tabbar( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiTabbarT, selected: *mut u32, ) -> UiTabbarResultT

Source

pub unsafe fn draggedtab( &self, ui: *mut UiO, style: *const UiStyleT, c: *const UiDraggedtabT, )

Source

pub unsafe fn splitter_x( &self, ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiSplitterT, bias: *mut f32, content_left: *mut RectT, content_right: *mut RectT, ) -> bool

Source

pub unsafe fn splitter_x_rects( &self, c: *const UiSplitterT, bias: f32, content_left: *mut RectT, content_right: *mut RectT, )

Source

pub unsafe fn splitter_y( &self, ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiSplitterT, bias: *mut f32, content_top: *mut RectT, content_bottom: *mut RectT, ) -> bool

Source

pub unsafe fn splitter_y_rects( &self, c: *const UiSplitterT, bias: f32, content_top: *mut RectT, content_bottom: *mut RectT, )

Source

pub unsafe fn titlebar( &self, ui: *mut UiO, uistyle: *const UiStyleT, c: *const UiTitlebarT, ) -> UiTitlebarResultT

Source

pub unsafe fn buffers(&self, ui: *mut UiO) -> UiBuffersT

Source

pub unsafe fn shortcuts(&self) -> *mut *mut ShortcutI

Source

pub unsafe fn reserve_draw_memory(&self, ui: *mut UiO)

Source

pub unsafe fn reserve_draw_memory_detailed( &self, ui: *mut UiO, primitive_bytes: u32, main_index_bytes: u32, overlay_index_bytes: u32, )

Source

pub unsafe fn make_id(&self, ui: *mut UiO) -> u64

Source

pub unsafe fn last_id(&self, ui: *mut UiO) -> u64

Source

pub unsafe fn create_fixed_id_range(&self, ui: *mut UiO, size: u64) -> u64

Source

pub unsafe fn set_id(&self, ui: *mut UiO, id: u64) -> u64

Source

pub unsafe fn set_cursor(&self, ui: *mut UiO, cursor: UiCursor)

Source

pub unsafe fn is_hovering(&self, ui: *mut UiO, r: RectT, clip: u32) -> bool

Source

pub unsafe fn set_responder_chain_root(&self, ui: *mut UiO, id: u64)

Source

pub unsafe fn begin_responder_scope(&self, ui: *mut UiO, id: u64)

Source

pub unsafe fn end_responder_scope(&self, ui: *mut UiO, id: u64)

Source

pub unsafe fn in_responder_chain(&self, ui: *mut UiO, id: u64) -> bool

Source

pub unsafe fn is_first_responder(&self, ui: *mut UiO, id: u64) -> bool

Source

pub unsafe fn set_responder_chain(&self, ui: *mut UiO, id: u64)

Source

pub unsafe fn pop_responder_chain(&self, ui: *mut UiO, id: u64)

Source

pub unsafe fn responder_chain(&self, ui: *mut UiO, count: *mut u32) -> *mut u64

Source

pub unsafe fn is_responder_chain_empty(&self, ui: *mut UiO) -> bool

Source

pub unsafe fn focus_on_mouse_press( &self, ui: *mut UiO, r: RectT, id: u64, ) -> bool

Source

pub unsafe fn consume_key(&self, ui: *mut UiO, keyboard_item: u32)

Source

pub unsafe fn begin_tab_scope(&self, ui: *mut UiO, id: u64) -> bool

Source

pub unsafe fn end_tab_scope(&self, ui: *mut UiO)

Source

pub unsafe fn focus_on_tab(&self, ui: *mut UiO, r: RectT, id: u64) -> bool

Source

pub unsafe fn suppress_next_tab_focus(&self, ui: *mut UiO)

Source

pub unsafe fn clear_active(&self, ui: *mut UiO)

Source

pub unsafe fn set_active( &self, ui: *mut UiO, id: u64, active_data_format: StrhashT, ) -> *mut c_void

Source

pub unsafe fn is_active( &self, ui: *mut UiO, id: u64, active_data_format: StrhashT, ) -> *mut c_void

Source

pub unsafe fn lost_active( &self, ui: *mut UiO, id: u64, active_data_format: StrhashT, ) -> *mut c_void

Source

pub unsafe fn clear_lost_active(&self, ui: *mut UiO)

Source

pub unsafe fn save_active_state( &self, ui: *mut UiO, ta: *mut TempAllocatorI, ) -> *mut c_void

Source

pub unsafe fn restore_active_state(&self, ui: *mut UiO, state: *const c_void)

Source

pub unsafe fn to_draw_style( &self, ui: *mut UiO, style: *mut Draw2dStyleT, uistyle: *const UiStyleT, ) -> *mut Draw2dStyleT

Source

pub unsafe fn set_cache(&self, ui: *mut UiO, key: u64, carray: *mut c_char)

Source

pub unsafe fn lookup_cache(&self, ui: *mut UiO, key: u64) -> *mut c_char

Source

pub unsafe fn get_cache(&self, ui: *mut UiO, key: u64, size: u32) -> *mut c_void

Source

pub unsafe fn left_mouse_pressed( &self, ui: *mut UiO, help_text: *const c_char, ) -> bool

Source

pub unsafe fn middle_mouse_pressed( &self, ui: *mut UiO, help_text: *const c_char, ) -> bool

Source

pub unsafe fn right_mouse_pressed( &self, ui: *mut UiO, help_text: *const c_char, ) -> bool

Source

pub unsafe fn left_mouse_released( &self, ui: *mut UiO, help_text: *const c_char, ) -> bool

Source

pub unsafe fn middle_mouse_released( &self, ui: *mut UiO, help_text: *const c_char, ) -> bool

Source

pub unsafe fn right_mouse_released( &self, ui: *mut UiO, help_text: *const c_char, ) -> bool

Source

pub unsafe fn double_click( &self, ui: *mut UiO, help_text: *const c_char, ) -> bool

Source

pub unsafe fn triple_click( &self, ui: *mut UiO, help_text: *const c_char, ) -> bool

Source

pub unsafe fn get_mouse_help_texts(&self, ui: *mut UiO) -> UiMouseHelpTextsT

Source

pub unsafe fn theme(&self, ui: *mut UiO) -> UiThemeT

Source

pub unsafe fn get_theme_colors( &self, theme: UiThemeT, theme_colors: *mut *mut ColorSrgbT, a: *mut AllocatorI, )

Source

pub unsafe fn set_theme(&self, ui: *mut UiO, theme: UiThemeT)

Source

pub unsafe fn set_theme_colors(&self, ui: *mut UiO, colors: *const ColorSrgbT)

Source

pub unsafe fn create_custom_theme( &self, ui: *mut UiO, tt: *mut TheTruthO, ) -> UiThemeT

Source

pub unsafe fn set_parent_ui(&self, ui: *mut UiO, parent_ui: *mut UiO)

Source

pub unsafe fn fork(&self, main: *mut UiO) -> *mut UiO

Source

pub unsafe fn join(&self, main: *mut UiO, fork: *mut UiO)

Source

pub unsafe fn merge_render_buffers(&self, main: *mut UiO, fork: *mut UiO)

Source

pub unsafe fn main_ui(&self, ui: *const UiO) -> *mut UiO

Source

pub unsafe fn add_font( &self, ui: *mut UiO, font_id: StrhashT, size: u32, font: *const FontT, ) -> *const Draw2dFontT

Source

pub unsafe fn font(&self, ui: *mut UiO, font_id: StrhashT, size: u32) -> UiFontT

Source

pub unsafe fn default_style(&self, ui: *const UiO) -> UiStyleT

Source

pub unsafe fn create_truth_types(&self, tt: *mut TheTruthO)

Source

pub unsafe fn register_control( &self, ui: *mut UiO, role: StrhashT, title: *const c_char, rect: RectT, )

Source

pub unsafe fn find_control( &self, ui: *mut UiO, role: StrhashT, title: *const c_char, ) -> RectT

Source

pub unsafe fn automation_controls( &self, ui: *mut UiO, ta: *mut TempAllocatorI, ) -> *mut UiAutomationControlT

Source

pub unsafe fn mouse_move(&self, ui: *mut UiO, pos: Vec2T)

Source

pub unsafe fn mouse_button_state( &self, ui: *mut UiO, mouse_item: u32, down: bool, )

Source

pub unsafe fn keyboard_key_state( &self, ui: *mut UiO, keyboard_item: u32, down: bool, )

Source

pub unsafe fn text_input(&self, ui: *mut UiO, text: *const c_char)

Source

pub unsafe fn visualize_flag(&self, ui: *mut UiO, flag: UiVisualizeFlag) -> bool

Source

pub unsafe fn set_visualize_flag( &self, ui: *mut UiO, flag: UiVisualizeFlag, on: bool, )

Source

pub unsafe fn visualize(&self, ui: *mut UiO)

Trait Implementations§

Source§

impl Api for UiApi

Source§

impl Clone for UiApi

Source§

fn clone(&self) -> UiApi

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for UiApi

Source§

fn default() -> UiApi

Returns the “default value” for a type. Read more
Source§

impl Copy for UiApi

Auto Trait Implementations§

§

impl Freeze for UiApi

§

impl RefUnwindSafe for UiApi

§

impl Send for UiApi

§

impl Sync for UiApi

§

impl Unpin for UiApi

§

impl UnwindSafe for UiApi

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.