machinery_api/plugins/
ui.rs

1#[repr(C)]
2#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
3pub struct __BindgenBitfieldUnit<Storage> {
4    storage: Storage,
5}
6impl<Storage> __BindgenBitfieldUnit<Storage> {
7    #[inline]
8    pub const fn new(storage: Storage) -> Self {
9        Self { storage }
10    }
11}
12impl<Storage> __BindgenBitfieldUnit<Storage>
13where
14    Storage: AsRef<[u8]> + AsMut<[u8]>,
15{
16    #[inline]
17    pub fn get_bit(&self, index: usize) -> bool {
18        debug_assert!(index / 8 < self.storage.as_ref().len());
19        let byte_index = index / 8;
20        let byte = self.storage.as_ref()[byte_index];
21        let bit_index = if cfg!(target_endian = "big") {
22            7 - (index % 8)
23        } else {
24            index % 8
25        };
26        let mask = 1 << bit_index;
27        byte & mask == mask
28    }
29    #[inline]
30    pub fn set_bit(&mut self, index: usize, val: bool) {
31        debug_assert!(index / 8 < self.storage.as_ref().len());
32        let byte_index = index / 8;
33        let byte = &mut self.storage.as_mut()[byte_index];
34        let bit_index = if cfg!(target_endian = "big") {
35            7 - (index % 8)
36        } else {
37            index % 8
38        };
39        let mask = 1 << bit_index;
40        if val {
41            *byte |= mask;
42        } else {
43            *byte &= !mask;
44        }
45    }
46    #[inline]
47    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
48        debug_assert!(bit_width <= 64);
49        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
50        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
51        let mut val = 0;
52        for i in 0..(bit_width as usize) {
53            if self.get_bit(i + bit_offset) {
54                let index = if cfg!(target_endian = "big") {
55                    bit_width as usize - 1 - i
56                } else {
57                    i
58                };
59                val |= 1 << index;
60            }
61        }
62        val
63    }
64    #[inline]
65    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
66        debug_assert!(bit_width <= 64);
67        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
68        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
69        for i in 0..(bit_width as usize) {
70            let mask = 1 << i;
71            let val_bit_is_set = val & mask == mask;
72            let index = if cfg!(target_endian = "big") {
73                bit_width as usize - 1 - i
74            } else {
75                i
76            };
77            self.set_bit(index + bit_offset, val_bit_is_set);
78        }
79    }
80}
81#[repr(C)]
82pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
83impl<T> __BindgenUnionField<T> {
84    #[inline]
85    pub const fn new() -> Self {
86        __BindgenUnionField(::std::marker::PhantomData)
87    }
88    #[inline]
89    pub unsafe fn as_ref(&self) -> &T {
90        ::std::mem::transmute(self)
91    }
92    #[inline]
93    pub unsafe fn as_mut(&mut self) -> &mut T {
94        ::std::mem::transmute(self)
95    }
96}
97impl<T> ::std::default::Default for __BindgenUnionField<T> {
98    #[inline]
99    fn default() -> Self {
100        Self::new()
101    }
102}
103impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
104    #[inline]
105    fn clone(&self) -> Self {
106        Self::new()
107    }
108}
109impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
110impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
111    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
112        fmt.write_str("__BindgenUnionField")
113    }
114}
115impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
116    fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
117}
118impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
119    fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
120        true
121    }
122}
123impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
124pub const __SAL_H_VERSION: u32 = 180000000;
125pub const __bool_true_false_are_defined: u32 = 1;
126pub const TM_TT_TYPE__CLIPBOARD: &'static [u8; 13usize] = b"tm_clipboard\0";
127pub const TM_TT_TYPE__DOCKING_SETTINGS: &'static [u8; 20usize] = b"tm_docking_settings\0";
128pub const TM_TT_TYPE__TABWELL: &'static [u8; 11usize] = b"tm_tabwell\0";
129pub const TM_TT_TYPE__TAB_VIEW: &'static [u8; 12usize] = b"tm_tab_view\0";
130pub const TM_MODAL_PROGRESS_DONE: u32 = 4294967295;
131pub const TM_TT_TYPE__SHORTCUTS_ENTRY: &'static [u8; 19usize] = b"tm_shortcuts_entry\0";
132pub const TM_TT_TYPE__SHORTCUTS_INDEX: &'static [u8; 19usize] = b"tm_shortcuts_index\0";
133pub const TM_TT_TYPE__TOOLBAR_SETTINGS: &'static [u8; 20usize] = b"tm_toolbar_settings\0";
134pub const TM_TT_TYPE__UI_THEME: &'static [u8; 12usize] = b"tm_ui_theme\0";
135pub const TM_TT_TYPE__UI_THEME_COLOR: &'static [u8; 18usize] = b"tm_ui_theme_color\0";
136extern "C" {
137    pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
138}
139pub type __vcrt_bool = bool;
140extern "C" {
141    pub fn __security_init_cookie();
142}
143extern "C" {
144    pub fn __security_check_cookie(_StackCookie: usize);
145}
146extern "C" {
147    pub fn __report_gsfailure(_StackCookie: usize);
148}
149extern "C" {
150    pub static mut __security_cookie: usize;
151}
152#[repr(C)]
153#[derive(Copy, Clone)]
154pub union TtIdTBindgenTy1 {
155    pub u64_: u64,
156    pub __bindgen_anon_1: TtIdTBindgenTy1BindgenTy1,
157}
158#[repr(C)]
159#[repr(align(8))]
160#[derive(Default, Copy, Clone)]
161pub struct TtIdTBindgenTy1BindgenTy1 {
162    pub _bitfield_align_1: [u32; 0],
163    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
164}
165impl TtIdTBindgenTy1BindgenTy1 {
166    #[inline]
167    pub fn type_(&self) -> u64 {
168        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u64) }
169    }
170    #[inline]
171    pub fn set_type(&mut self, val: u64) {
172        unsafe {
173            let val: u64 = ::std::mem::transmute(val);
174            self._bitfield_1.set(0usize, 10u8, val as u64)
175        }
176    }
177    #[inline]
178    pub fn generation(&self) -> u64 {
179        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u64) }
180    }
181    #[inline]
182    pub fn set_generation(&mut self, val: u64) {
183        unsafe {
184            let val: u64 = ::std::mem::transmute(val);
185            self._bitfield_1.set(10usize, 22u8, val as u64)
186        }
187    }
188    #[inline]
189    pub fn index(&self) -> u64 {
190        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u64) }
191    }
192    #[inline]
193    pub fn set_index(&mut self, val: u64) {
194        unsafe {
195            let val: u64 = ::std::mem::transmute(val);
196            self._bitfield_1.set(32usize, 32u8, val as u64)
197        }
198    }
199    #[inline]
200    pub fn new_bitfield_1(
201        type_: u64,
202        generation: u64,
203        index: u64,
204    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
205        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
206        __bindgen_bitfield_unit.set(0usize, 10u8, {
207            let type_: u64 = unsafe { ::std::mem::transmute(type_) };
208            type_ as u64
209        });
210        __bindgen_bitfield_unit.set(10usize, 22u8, {
211            let generation: u64 = unsafe { ::std::mem::transmute(generation) };
212            generation as u64
213        });
214        __bindgen_bitfield_unit.set(32usize, 32u8, {
215            let index: u64 = unsafe { ::std::mem::transmute(index) };
216            index as u64
217        });
218        __bindgen_bitfield_unit
219    }
220}
221impl Default for TtIdTBindgenTy1 {
222    fn default() -> Self {
223        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
224        unsafe {
225            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
226            s.assume_init()
227        }
228    }
229}
230pub const TM_TT_PROP__CLIPBOARD__OBJECTS: ::std::os::raw::c_int = 0;
231pub const TM_TT_PROP__CLIPBOARD__IS_CUT: ::std::os::raw::c_int = 1;
232pub type _bindgen_ty_1 = ::std::os::raw::c_int;
233#[repr(C)]
234#[derive(Default, Copy, Clone)]
235pub struct UiClipboardApi {
236    pub cut: ::std::option::Option<
237        unsafe extern "C" fn(
238            tt: *mut TheTruthO,
239            objects: *const TtIdT,
240            count: u32,
241            undo_stack: *mut UndoStackI,
242        ),
243    >,
244    pub copy: ::std::option::Option<
245        unsafe extern "C" fn(
246            tt: *mut TheTruthO,
247            objects: *const TtIdT,
248            count: u32,
249            undo_stack: *mut UndoStackI,
250        ),
251    >,
252    pub empty:
253        ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO, undo_scope: TtUndoScopeT)>,
254    pub cut_objects: ::std::option::Option<
255        unsafe extern "C" fn(tt: *const TheTruthO, ta: *mut TempAllocatorI) -> *const TtIdT,
256    >,
257    pub copied_objects: ::std::option::Option<
258        unsafe extern "C" fn(tt: *const TheTruthO, ta: *mut TempAllocatorI) -> *const TtIdT,
259    >,
260    pub truth: ::std::option::Option<unsafe extern "C" fn() -> *const TheTruthO>,
261}
262#[repr(C)]
263#[derive(Copy, Clone)]
264pub struct DockingTabwellO {
265    _unused: [u8; 0],
266}
267#[repr(C)]
268#[derive(Copy, Clone)]
269pub struct UiRendererO {
270    _unused: [u8; 0],
271}
272#[repr(C)]
273#[derive(Copy, Clone)]
274pub struct OsDroppedFileT {
275    _unused: [u8; 0],
276}
277#[repr(C)]
278#[derive(Copy, Clone)]
279pub struct ToolbarsStateO {
280    _unused: [u8; 0],
281}
282#[repr(C)]
283#[derive(Copy, Clone)]
284pub struct ViewerRenderArgsT {
285    _unused: [u8; 0],
286}
287#[repr(C)]
288#[derive(Copy, Clone)]
289pub struct TabO {
290    _unused: [u8; 0],
291}
292pub const TM_TAB_FOCUS_EVENT__FOCUS: TabFocusEvent = 0;
293pub const TM_TAB_FOCUS_EVENT__OPEN: TabFocusEvent = 1;
294pub type TabFocusEvent = ::std::os::raw::c_int;
295#[repr(C)]
296pub struct TabVtRootT {
297    pub tt: *mut TheTruthO,
298    pub root: TtIdT,
299    pub internal_root: TtIdT,
300    pub counter: u64,
301}
302impl Default for TabVtRootT {
303    fn default() -> Self {
304        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
305        unsafe {
306            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
307            s.assume_init()
308        }
309    }
310}
311#[repr(C)]
312pub struct DockingFeedEventsArgsT {
313    pub window_ui: *mut UiO,
314    pub window_rect: RectT,
315    pub window_dpi_scale_factor: f32,
316    pub window_has_focus: bool,
317    pub window_under_cursor: bool,
318    pub _padding_94: [::std::os::raw::c_char; 2usize],
319}
320impl Default for DockingFeedEventsArgsT {
321    fn default() -> Self {
322        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
323        unsafe {
324            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
325            s.assume_init()
326        }
327    }
328}
329pub const TM_TT_PROP__DOCKING_SETTINGS__TOOLBARS_SETTINGS: ::std::os::raw::c_int = 0;
330pub type _bindgen_ty_2 = ::std::os::raw::c_int;
331#[repr(C)]
332pub struct TabVt {
333    pub name: *const ::std::os::raw::c_char,
334    pub name_hash: StrhashT,
335    pub create_menu_name:
336        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
337    pub create_menu_category:
338        ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
339    pub create: ::std::option::Option<
340        unsafe extern "C" fn(context: *mut TabCreateContextT, ui: *mut UiO) -> *mut TabI,
341    >,
342    pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO)>,
343    pub ui: ::std::option::Option<
344        unsafe extern "C" fn(inst: *mut TabO, ui: *mut UiO, uistyle: *const UiStyleT, rect: RectT),
345    >,
346    pub ui_serial: ::std::option::Option<
347        unsafe extern "C" fn(inst: *mut TabO, ui: *mut UiO, uistyle: *const UiStyleT, rect: RectT),
348    >,
349    pub hidden_update: ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO)>,
350    pub title: ::std::option::Option<
351        unsafe extern "C" fn(inst: *mut TabO, ui: *mut UiO) -> *const ::std::os::raw::c_char,
352    >,
353    pub has_custom_tabbar_border_color: ::std::option::Option<
354        unsafe extern "C" fn(inst: *mut TabO, color: *mut ColorSrgbT) -> bool,
355    >,
356    pub set_root: ::std::option::Option<
357        unsafe extern "C" fn(inst: *mut TabO, tt: *mut TheTruthO, root: TtIdT),
358    >,
359    pub root: ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO) -> TabVtRootT>,
360    pub restore_settings: ::std::option::Option<
361        unsafe extern "C" fn(inst: *mut TabO, tt: *mut TheTruthO, settings_id: TtIdT),
362    >,
363    pub save_settings:
364        ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO, tt: *mut TheTruthO) -> TtIdT>,
365    pub save_settings_from_object: ::std::option::Option<
366        unsafe extern "C" fn(tt: *mut TheTruthO, settings: *const ::std::os::raw::c_void) -> TtIdT,
367    >,
368    pub can_close: ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO) -> bool>,
369    pub focus_event: ::std::option::Option<
370        unsafe extern "C" fn(
371            inst: *mut TabO,
372            from: *mut TabI,
373            event: TabFocusEvent,
374            tt: *mut TheTruthO,
375            object: TtIdT,
376            selection: *const TtIdT,
377            selection_n: u32,
378        ),
379    >,
380    pub feed_events: ::std::option::Option<
381        unsafe extern "C" fn(
382            inst: *mut TabO,
383            events: *const InputEventT,
384            count: u32,
385            args: *mut DockingFeedEventsArgsT,
386        ),
387    >,
388    pub process_dropped_os_files: ::std::option::Option<
389        unsafe extern "C" fn(
390            inst: *mut TabO,
391            ui: *mut UiO,
392            files: *mut *mut ::std::os::raw::c_char,
393            num_files: u32,
394        ),
395    >,
396    pub toolbars: ::std::option::Option<
397        unsafe extern "C" fn(inst: *mut TabO, ta: *mut TempAllocatorI) -> *mut ToolbarI,
398    >,
399    pub custom_padding: ::std::option::Option<
400        unsafe extern "C" fn(
401            inst: *mut TabO,
402            ui: *mut UiO,
403            content_r: *mut RectT,
404            safety_padding: f32,
405        ),
406    >,
407    pub need_update: ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO) -> bool>,
408    pub hot_reload: ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO)>,
409    pub entity_context:
410        ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO) -> *mut EntityContextO>,
411    pub viewer_render_args:
412        ::std::option::Option<unsafe extern "C" fn(inst: *mut TabO, args: *mut ViewerRenderArgsT)>,
413    pub cant_be_pinned: bool,
414    pub run_as_job: bool,
415    pub dont_restore_at_startup: bool,
416    pub always_restore_settings: bool,
417    pub _padding_272: [::std::os::raw::c_char; 4usize],
418    pub menu_title: ::std::option::Option<
419        unsafe extern "C" fn(inst: *mut TabO, ui: *mut UiO) -> *const ::std::os::raw::c_char,
420    >,
421    pub menu: ::std::option::Option<
422        unsafe extern "C" fn(
423            inst: *mut TabO,
424            ui: *mut UiO,
425            uistyle: *const UiStyleT,
426            submenu_pos: Vec2T,
427        ),
428    >,
429}
430impl Default for TabVt {
431    fn default() -> Self {
432        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
433        unsafe {
434            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
435            s.assume_init()
436        }
437    }
438}
439#[repr(C)]
440#[derive(Copy, Clone)]
441pub struct TabI {
442    pub vt: *mut TabVt,
443    pub inst: *mut TabO,
444    pub root_id: u64,
445}
446impl Default for TabI {
447    fn default() -> Self {
448        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
449        unsafe {
450            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
451            s.assume_init()
452        }
453    }
454}
455pub const TM_DOCKING_TABWELL_SPLIT_NONE: DockingTabwellSplit = 0;
456pub const TM_DOCKING_TABWELL_SPLIT_RIGHT: DockingTabwellSplit = 1;
457pub const TM_DOCKING_TABWELL_SPLIT_LEFT: DockingTabwellSplit = 2;
458pub const TM_DOCKING_TABWELL_SPLIT_TOP: DockingTabwellSplit = 3;
459pub const TM_DOCKING_TABWELL_SPLIT_BOTTOM: DockingTabwellSplit = 4;
460pub type DockingTabwellSplit = ::std::os::raw::c_int;
461#[repr(C)]
462pub struct DockingTabInfoT {
463    pub tab: *mut TabI,
464    pub ui: *mut UiO,
465    pub visible: bool,
466    pub _padding_322: [::std::os::raw::c_char; 7usize],
467    pub last_focused: ClockO,
468    pub pin_type: u32,
469    pub _padding_329: [::std::os::raw::c_char; 4usize],
470}
471impl Default for DockingTabInfoT {
472    fn default() -> Self {
473        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
474        unsafe {
475            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
476            s.assume_init()
477        }
478    }
479}
480#[repr(C)]
481pub struct DockingTabwellInfoT {
482    pub left: *mut DockingTabwellO,
483    pub right: *mut DockingTabwellO,
484    pub top: *mut DockingTabwellO,
485    pub bottom: *mut DockingTabwellO,
486    pub bias: f32,
487    pub _padding_341: [::std::os::raw::c_char; 4usize],
488    pub tabs: *mut *mut TabI,
489    pub last_rect: RectT,
490}
491impl Default for DockingTabwellInfoT {
492    fn default() -> Self {
493        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
494        unsafe {
495            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
496            s.assume_init()
497        }
498    }
499}
500#[repr(C)]
501#[derive(Copy, Clone)]
502pub struct DockingFindTabT {
503    pub tab: *mut TabI,
504    pub ui: *mut UiO,
505}
506impl Default for DockingFindTabT {
507    fn default() -> Self {
508        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
509        unsafe {
510            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
511            s.assume_init()
512        }
513    }
514}
515#[repr(C)]
516pub struct DockingFindTabOptT {
517    pub from_tab: *mut TabI,
518    pub to_tab: *mut TabI,
519    pub in_ui: *mut UiO,
520    pub find_asset_tt: *mut TheTruthO,
521    pub find_asset: TtIdT,
522    pub exclude_pinned: bool,
523    pub _padding_379: [::std::os::raw::c_char; 7usize],
524}
525impl Default for DockingFindTabOptT {
526    fn default() -> Self {
527        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
528        unsafe {
529            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
530            s.assume_init()
531        }
532    }
533}
534pub const TM_DOCKING_WORKSPACES_BAR_MODE__FULL: DockingWorkspacesBarMode = 0;
535pub const TM_DOCKING_WORKSPACES_BAR_MODE__COMPACT: DockingWorkspacesBarMode = 1;
536pub const TM_DOCKING_WORKSPACES_BAR_MODE__HIDDEN: DockingWorkspacesBarMode = 2;
537pub type DockingWorkspacesBarMode = ::std::os::raw::c_int;
538pub type DockingWorkspaceContextMenuF = ::std::option::Option<
539    unsafe extern "C" fn(
540        ui: *mut UiO,
541        style: *const UiStyleT,
542        c: *const UiMenuT,
543        workspace_idx: u32,
544        result: *mut UiMenuResultT,
545    ),
546>;
547#[repr(C)]
548#[derive(Default, Copy, Clone)]
549pub struct DockingApi {
550    pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO)>,
551    pub add_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT)>,
552    pub remove_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
553    pub add_workspace: ::std::option::Option<
554        unsafe extern "C" fn(ui: *mut UiO, name: *const ::std::os::raw::c_char),
555    >,
556    pub close_focused_workspace: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>,
557    pub num_workspaces: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> u32>,
558    pub current_workspace: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> u32>,
559    pub workspace_name: ::std::option::Option<
560        unsafe extern "C" fn(ui: *mut UiO, idx: u32) -> *const ::std::os::raw::c_char,
561    >,
562    pub set_workspace_name: ::std::option::Option<
563        unsafe extern "C" fn(ui: *mut UiO, idx: u32, name: *const ::std::os::raw::c_char),
564    >,
565    pub workspace_icon: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, idx: u32) -> u32>,
566    pub set_workspace_icon:
567        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, idx: u32, icon: u32)>,
568    pub workspace_root:
569        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, idx: u32) -> *mut DockingTabwellO>,
570    pub hot_reload: ::std::option::Option<unsafe extern "C" fn()>,
571    pub root: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> *mut DockingTabwellO>,
572    pub split_tabwell: ::std::option::Option<
573        unsafe extern "C" fn(
574            parent: *mut DockingTabwellO,
575            split: DockingTabwellSplit,
576            bias: f32,
577            sibling: *mut *mut DockingTabwellO,
578        ) -> *mut DockingTabwellO,
579    >,
580    pub add_tab: ::std::option::Option<
581        unsafe extern "C" fn(ui: *mut UiO, tabwell: *mut DockingTabwellO, tab: *mut TabI),
582    >,
583    pub remove_tab: ::std::option::Option<unsafe extern "C" fn(tab: *mut TabI)>,
584    pub move_tab: ::std::option::Option<
585        unsafe extern "C" fn(tab: *mut TabI, ui: *mut UiO, tabwell: *mut DockingTabwellO),
586    >,
587    pub clear: ::std::option::Option<unsafe extern "C" fn()>,
588    pub feed_events: ::std::option::Option<
589        unsafe extern "C" fn(
590            events: *const InputEventT,
591            count: u32,
592            args: *mut DockingFeedEventsArgsT,
593        ),
594    >,
595    pub ui: ::std::option::Option<
596        unsafe extern "C" fn(
597            ui: *mut UiO,
598            uistyle: *const UiStyleT,
599            ui_renderer: *mut UiRendererO,
600            rect: RectT,
601            ui_has_focus: bool,
602            dropped_files: *const OsDroppedFileT,
603            num_dropped_files: u32,
604            context: *mut TabCreateContextT,
605            settings_tt: *mut TheTruthO,
606            settings_obj: TtIdT,
607            default_padding: f32,
608            workspaces_mode: DockingWorkspacesBarMode,
609        ),
610    >,
611    pub is_dragging_tab: ::std::option::Option<unsafe extern "C" fn(pos: *mut Vec2T) -> *mut TabI>,
612    pub should_create_new_ui_for_tab: ::std::option::Option<
613        unsafe extern "C" fn(create_context: *mut TabCreateContextT, rect: *mut RectT) -> *mut TabI,
614    >,
615    pub focused_tabwell:
616        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> *mut DockingTabwellO>,
617    pub focused_tab: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> *mut TabI>,
618    pub tab_has_focus: ::std::option::Option<unsafe extern "C" fn(tab: *mut TabI) -> bool>,
619    pub tabwell_info: ::std::option::Option<
620        unsafe extern "C" fn(
621            tw: *mut DockingTabwellO,
622            ta: *mut TempAllocatorI,
623        ) -> DockingTabwellInfoT,
624    >,
625    pub tab_info: ::std::option::Option<
626        unsafe extern "C" fn(
627            tabs: *mut DockingTabInfoT,
628            n: u32,
629            filter_ui: *mut UiO,
630            filter_visible: bool,
631        ) -> u32,
632    >,
633    pub root_history:
634        ::std::option::Option<unsafe extern "C" fn(tab: *mut TabI, n: *mut u32) -> *mut TabVtRootT>,
635    pub clear_root_history_with_greater_counter:
636        ::std::option::Option<unsafe extern "C" fn(tab: *mut TabI, counter: u64)>,
637    pub tab_ui: ::std::option::Option<unsafe extern "C" fn(tab: *mut TabI) -> *mut UiO>,
638    pub can_remove_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>,
639    pub set_focus_tab: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, tab: *mut TabI)>,
640    pub close_focused_tab: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>,
641    pub close_all_tabs_and_workspaces: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
642    pub close_all_tabs_in_workspace: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
643    pub send_focus_event: ::std::option::Option<
644        unsafe extern "C" fn(
645            from: *mut TabI,
646            event: TabFocusEvent,
647            tt: *mut TheTruthO,
648            object: TtIdT,
649            selection: *const TtIdT,
650            selection_n: u32,
651        ),
652    >,
653    pub destroy_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO)>,
654    pub find_tab: ::std::option::Option<
655        unsafe extern "C" fn(
656            type_name_hash: StrhashT,
657            opt: *const DockingFindTabOptT,
658        ) -> DockingFindTabT,
659    >,
660    pub find_tabs: ::std::option::Option<
661        unsafe extern "C" fn(
662            type_name_hash: StrhashT,
663            ta: *mut TempAllocatorI,
664        ) -> *mut DockingFindTabT,
665    >,
666    pub pin_type: ::std::option::Option<unsafe extern "C" fn(tab: *mut TabI) -> u32>,
667    pub pin_object: ::std::option::Option<
668        unsafe extern "C" fn(tab: *mut TabI, tt: *mut TheTruthO, root: TtIdT),
669    >,
670    pub toolbars_state:
671        ::std::option::Option<unsafe extern "C" fn(tab: *mut TabI) -> *mut ToolbarsStateO>,
672    pub clear_cached_ui: ::std::option::Option<unsafe extern "C" fn(tab: *mut TabI)>,
673    pub tab_vt: ::std::option::Option<unsafe extern "C" fn(name_hash: StrhashT) -> *mut TabVt>,
674    pub set_workspace_context_menu:
675        ::std::option::Option<unsafe extern "C" fn(menu: DockingWorkspaceContextMenuF)>,
676    pub set_current_workspace:
677        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, workspace_idx: u32)>,
678}
679#[repr(C)]
680#[derive(Default, Copy, Clone)]
681pub struct UiDragApi {
682    pub start_dragging:
683        ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO, object: TtIdT)>,
684    pub start_dragging_multiple_objects: ::std::option::Option<
685        unsafe extern "C" fn(tt: *mut TheTruthO, objects: *const TtIdT, object_count: u64),
686    >,
687    pub single_dragged_object:
688        ::std::option::Option<unsafe extern "C" fn(tt: *const TheTruthO) -> TtIdT>,
689    pub first_dragged_object:
690        ::std::option::Option<unsafe extern "C" fn(tt: *const TheTruthO) -> TtIdT>,
691    pub all_dragged_objects: ::std::option::Option<
692        unsafe extern "C" fn(tt: *const TheTruthO, ta: *mut TempAllocatorI) -> *mut TtIdT,
693    >,
694    pub dragged_truth: ::std::option::Option<unsafe extern "C" fn() -> *const TheTruthO>,
695    pub stop_dragging: ::std::option::Option<unsafe extern "C" fn()>,
696}
697#[repr(C)]
698pub struct FontGlyphT {
699    pub texture: u32,
700    pub uv: RectT,
701    pub offset: Vec2T,
702    pub xadvance: f32,
703    pub glyph_segments_offset: u32,
704}
705impl Default for FontGlyphT {
706    fn default() -> Self {
707        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
708        unsafe {
709            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
710            s.assume_init()
711        }
712    }
713}
714#[repr(C)]
715pub struct FontGlyphLineSegmentT {
716    pub p0: Vec2T,
717    pub p1: Vec2T,
718}
719impl Default for FontGlyphLineSegmentT {
720    fn default() -> Self {
721        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
722        unsafe {
723            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
724            s.assume_init()
725        }
726    }
727}
728#[repr(C)]
729pub struct FontGlyphBezierSegmentT {
730    pub p0: Vec2T,
731    pub p1: Vec2T,
732    pub c: Vec2T,
733}
734impl Default for FontGlyphBezierSegmentT {
735    fn default() -> Self {
736        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
737        unsafe {
738            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
739            s.assume_init()
740        }
741    }
742}
743#[repr(C)]
744#[derive(Default, Copy, Clone)]
745pub struct FontRangeT {
746    pub start: u32,
747    pub n: u32,
748}
749pub const TM_FONT_MAX_BAKED_SCALES: ::std::os::raw::c_int = 8;
750pub type _bindgen_ty_3 = ::std::os::raw::c_int;
751#[repr(C)]
752#[derive(Copy, Clone)]
753pub struct FontT {
754    pub num_glyphs: u32,
755    pub _padding_86: [::std::os::raw::c_char; 4usize],
756    pub glyphs: *mut FontGlyphT,
757    pub glyphs_segments_size: u32,
758    pub _padding_93: [::std::os::raw::c_char; 4usize],
759    pub glyphs_segments: *mut u8,
760    pub num_ranges: u32,
761    pub em: f32,
762    pub ranges: *mut FontRangeT,
763    pub num_font_scales: u32,
764    pub font_scales: [f32; 8usize],
765    pub ascent: [f32; 8usize],
766    pub descent: [f32; 8usize],
767    pub line_gap: [f32; 8usize],
768    pub ex: [f32; 8usize],
769    pub cap_height: [f32; 8usize],
770    pub _padding_134: [::std::os::raw::c_char; 4usize],
771}
772impl Default for FontT {
773    fn default() -> Self {
774        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
775        unsafe {
776            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
777            s.assume_init()
778        }
779    }
780}
781#[repr(C)]
782#[derive(Copy, Clone)]
783pub struct Draw2dFontT {
784    pub vbuffer_offset: u32,
785    pub _padding_142: [::std::os::raw::c_char; 4usize],
786    pub info: *const FontT,
787}
788impl Default for Draw2dFontT {
789    fn default() -> Self {
790        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
791        unsafe {
792            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
793            s.assume_init()
794        }
795    }
796}
797pub const TM_DRAW2D__FEATHER__DEFAULT: ::std::os::raw::c_int = 0;
798pub const TM_DRAW2D__FEATHER__NONE: ::std::os::raw::c_int = 1;
799pub type _bindgen_ty_4 = ::std::os::raw::c_int;
800#[repr(C)]
801pub struct Draw2dStyleT {
802    pub color: ColorSrgbT,
803    pub line_width: f32,
804    pub feather_width: f32,
805    pub feather: u32,
806    pub clip: u32,
807    pub _padding_174: [::std::os::raw::c_char; 4usize],
808    pub font: *const Draw2dFontT,
809    pub font_scale: f32,
810    pub include_alpha: bool,
811    pub _padding_184: [::std::os::raw::c_char; 3usize],
812}
813impl Default for Draw2dStyleT {
814    fn default() -> Self {
815        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
816        unsafe {
817            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
818            s.assume_init()
819        }
820    }
821}
822#[repr(C)]
823#[derive(Copy, Clone)]
824pub struct Draw2dVbufferT {
825    pub vbuffer: *mut u8,
826    pub vbytes: u32,
827    pub vbytes_allocated: u32,
828}
829impl Default for Draw2dVbufferT {
830    fn default() -> Self {
831        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
832        unsafe {
833            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
834            s.assume_init()
835        }
836    }
837}
838#[repr(C)]
839#[derive(Copy, Clone)]
840pub struct Draw2dIbufferT {
841    pub ibuffer: *mut u32,
842    pub in_: u32,
843    pub in_allocated: u32,
844}
845impl Default for Draw2dIbufferT {
846    fn default() -> Self {
847        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
848        unsafe {
849            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
850            s.assume_init()
851        }
852    }
853}
854pub const TM_DRAW2D_AUX_DATA_TYPE_GRID: ::std::os::raw::c_int = 3;
855pub type _bindgen_ty_5 = ::std::os::raw::c_int;
856#[repr(C)]
857pub struct Draw2dAuxDataGridT {
858    pub offset: Vec2T,
859    pub cell_size: f32,
860    pub thin_lines_color: ColorSrgbT,
861    pub thick_lines_color: ColorSrgbT,
862}
863impl Default for Draw2dAuxDataGridT {
864    fn default() -> Self {
865        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
866        unsafe {
867            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
868            s.assume_init()
869        }
870    }
871}
872#[repr(C)]
873#[derive(Default, Copy, Clone)]
874pub struct Draw2dApi {
875    pub add_clip_rect: ::std::option::Option<
876        unsafe extern "C" fn(vbuffer: *mut Draw2dVbufferT, clip: RectT) -> u32,
877    >,
878    pub add_sub_clip_rect: ::std::option::Option<
879        unsafe extern "C" fn(vbuffer: *mut Draw2dVbufferT, parent: u32, clip: RectT) -> u32,
880    >,
881    pub clip_rect: ::std::option::Option<
882        unsafe extern "C" fn(vbuffer: *mut Draw2dVbufferT, clip: u32) -> RectT,
883    >,
884    pub font_memory: ::std::option::Option<unsafe extern "C" fn(font: *const FontT) -> u32>,
885    pub add_font: ::std::option::Option<
886        unsafe extern "C" fn(vbuffer: *mut Draw2dVbufferT, font: *const FontT) -> Draw2dFontT,
887    >,
888    pub fill_rect: ::std::option::Option<
889        unsafe extern "C" fn(
890            vbuffer: *mut Draw2dVbufferT,
891            ibuffer: *mut Draw2dIbufferT,
892            style: *const Draw2dStyleT,
893            r: RectT,
894        ),
895    >,
896    pub fill_rect_feathered: ::std::option::Option<
897        unsafe extern "C" fn(
898            vbuffer: *mut Draw2dVbufferT,
899            ibuffer: *mut Draw2dIbufferT,
900            style: *const Draw2dStyleT,
901            r: RectT,
902        ),
903    >,
904    pub stroke_rect: ::std::option::Option<
905        unsafe extern "C" fn(
906            vbuffer: *mut Draw2dVbufferT,
907            ibuffer: *mut Draw2dIbufferT,
908            style: *const Draw2dStyleT,
909            r: RectT,
910        ),
911    >,
912    pub textured_rect: ::std::option::Option<
913        unsafe extern "C" fn(
914            vbuffer: *mut Draw2dVbufferT,
915            ibuffer: *mut Draw2dIbufferT,
916            style: *const Draw2dStyleT,
917            r: RectT,
918            texture: u32,
919            uv: RectT,
920            native_color_space: bool,
921        ),
922    >,
923    pub aux_rect: ::std::option::Option<
924        unsafe extern "C" fn(
925            vbuffer: *mut Draw2dVbufferT,
926            ibuffer: *mut Draw2dIbufferT,
927            style: *const Draw2dStyleT,
928            r: RectT,
929            aux_data_type: u32,
930            aux_data: *const ::std::os::raw::c_void,
931            aux_data_size: u32,
932        ),
933    >,
934    pub gradient_rect: ::std::option::Option<
935        unsafe extern "C" fn(
936            vbuffer: *mut Draw2dVbufferT,
937            ibuffer: *mut Draw2dIbufferT,
938            style: *const Draw2dStyleT,
939            r: RectT,
940            colors: *mut ColorSrgbT,
941        ),
942    >,
943    pub fill_rounded_rect: ::std::option::Option<
944        unsafe extern "C" fn(
945            vbuffer: *mut Draw2dVbufferT,
946            ibuffer: *mut Draw2dIbufferT,
947            style: *const Draw2dStyleT,
948            r: RectT,
949            radius: f32,
950        ),
951    >,
952    pub fill_rounded_rect_per_corner: ::std::option::Option<
953        unsafe extern "C" fn(
954            vbuffer: *mut Draw2dVbufferT,
955            ibuffer: *mut Draw2dIbufferT,
956            style: *const Draw2dStyleT,
957            r: RectT,
958            radiuses: Vec4T,
959        ),
960    >,
961    pub stroke_rounded_rect: ::std::option::Option<
962        unsafe extern "C" fn(
963            vbuffer: *mut Draw2dVbufferT,
964            ibuffer: *mut Draw2dIbufferT,
965            style: *const Draw2dStyleT,
966            r: RectT,
967            radius: f32,
968        ),
969    >,
970    pub stroke_rounded_rect_per_corner: ::std::option::Option<
971        unsafe extern "C" fn(
972            vbuffer: *mut Draw2dVbufferT,
973            ibuffer: *mut Draw2dIbufferT,
974            style: *const Draw2dStyleT,
975            r: RectT,
976            radiuses: Vec4T,
977        ),
978    >,
979    pub fill_circle: ::std::option::Option<
980        unsafe extern "C" fn(
981            vbuffer: *mut Draw2dVbufferT,
982            ibuffer: *mut Draw2dIbufferT,
983            style: *const Draw2dStyleT,
984            pos: Vec2T,
985            radius: f32,
986        ),
987    >,
988    pub stroke_circle: ::std::option::Option<
989        unsafe extern "C" fn(
990            vbuffer: *mut Draw2dVbufferT,
991            ibuffer: *mut Draw2dIbufferT,
992            style: *const Draw2dStyleT,
993            pos: Vec2T,
994            radius: f32,
995        ),
996    >,
997    pub fill_triangles: ::std::option::Option<
998        unsafe extern "C" fn(
999            vbuffer: *mut Draw2dVbufferT,
1000            ibuffer: *mut Draw2dIbufferT,
1001            style: *const Draw2dStyleT,
1002            points: *const Vec2T,
1003            num_points: u32,
1004            indices: *const u32,
1005            num_indices: u32,
1006        ),
1007    >,
1008    pub fill_convex_polyline: ::std::option::Option<
1009        unsafe extern "C" fn(
1010            vbuffer: *mut Draw2dVbufferT,
1011            ibuffer: *mut Draw2dIbufferT,
1012            style: *const Draw2dStyleT,
1013            points: *const Vec2T,
1014            num_points: u32,
1015        ),
1016    >,
1017    pub stroke_polyline: ::std::option::Option<
1018        unsafe extern "C" fn(
1019            vbuffer: *mut Draw2dVbufferT,
1020            ibuffer: *mut Draw2dIbufferT,
1021            style: *const Draw2dStyleT,
1022            points: *const Vec2T,
1023            num_points: u32,
1024            closed: bool,
1025        ),
1026    >,
1027    pub stroke_polyline_widths: ::std::option::Option<
1028        unsafe extern "C" fn(
1029            vbuffer: *mut Draw2dVbufferT,
1030            ibuffer: *mut Draw2dIbufferT,
1031            style: *const Draw2dStyleT,
1032            points: *const Vec2T,
1033            widths: *const f32,
1034            num_points: u32,
1035            closed: bool,
1036        ),
1037    >,
1038    pub bezier_path: ::std::option::Option<
1039        unsafe extern "C" fn(
1040            curve: *const Vec2T,
1041            num_curve_points: u32,
1042            tolerance: f32,
1043            ta: *mut TempAllocatorI,
1044            num_points: *mut u32,
1045            allocated_points: *mut u32,
1046        ) -> *mut Vec2T,
1047    >,
1048    pub fill_convex_bezier: ::std::option::Option<
1049        unsafe extern "C" fn(
1050            vbuffer: *mut Draw2dVbufferT,
1051            ibuffer: *mut Draw2dIbufferT,
1052            style: *const Draw2dStyleT,
1053            curve: *const Vec2T,
1054            num_curve_points: u32,
1055            tolerance: f32,
1056            ta: *mut TempAllocatorI,
1057        ),
1058    >,
1059    pub stroke_bezier: ::std::option::Option<
1060        unsafe extern "C" fn(
1061            vbuffer: *mut Draw2dVbufferT,
1062            ibuffer: *mut Draw2dIbufferT,
1063            style: *const Draw2dStyleT,
1064            curve: *const Vec2T,
1065            num_curve_points: u32,
1066            closed: bool,
1067            tolerance: f32,
1068            ta: *mut TempAllocatorI,
1069        ),
1070    >,
1071    pub draw_glyphs: ::std::option::Option<
1072        unsafe extern "C" fn(
1073            vbuffer: *mut Draw2dVbufferT,
1074            ibuffer: *mut Draw2dIbufferT,
1075            style: *const Draw2dStyleT,
1076            pos: Vec2T,
1077            glyphs: *const u16,
1078            num_glyphs: u32,
1079        ) -> RectT,
1080    >,
1081    pub draw_glyphs_rotated: ::std::option::Option<
1082        unsafe extern "C" fn(
1083            vbuffer: *mut Draw2dVbufferT,
1084            ibuffer: *mut Draw2dIbufferT,
1085            style: *const Draw2dStyleT,
1086            pos: Vec2T,
1087            glyphs: *const u16,
1088            num_glyphs: u32,
1089            x: Vec2T,
1090            y: Vec2T,
1091        ) -> f32,
1092    >,
1093    pub merge_buffers: ::std::option::Option<
1094        unsafe extern "C" fn(
1095            to_vbuffer: *mut Draw2dVbufferT,
1096            to_ibuffers: *mut *mut Draw2dIbufferT,
1097            from_vbuffer: *const Draw2dVbufferT,
1098            from_ibuffers: *const *mut Draw2dIbufferT,
1099            num_ibuffers: u32,
1100        ),
1101    >,
1102}
1103#[repr(C)]
1104#[derive(Default, Copy, Clone)]
1105pub struct FontApi {
1106    pub glyphs: ::std::option::Option<
1107        unsafe extern "C" fn(
1108            font: *const FontT,
1109            glyphs: *mut u16,
1110            codepoints: *const u32,
1111            size: u32,
1112        ),
1113    >,
1114    pub metrics: ::std::option::Option<
1115        unsafe extern "C" fn(
1116            font: *const FontT,
1117            font_scale: f32,
1118            glyphs: *const u16,
1119            num_glyphs: u32,
1120        ) -> RectT,
1121    >,
1122    pub metrics_array: ::std::option::Option<
1123        unsafe extern "C" fn(
1124            font: *const FontT,
1125            font_scale: f32,
1126            pos_x: *mut f32,
1127            rects: *mut RectT,
1128            glyphs: *const u16,
1129            num_glyphs: u32,
1130        ) -> RectT,
1131    >,
1132    pub line: ::std::option::Option<
1133        unsafe extern "C" fn(
1134            font: *const FontT,
1135            font_scale: f32,
1136            line_width: *mut f32,
1137            glyphs: *const u16,
1138            num_glyphs: u32,
1139        ) -> u32,
1140    >,
1141    pub rescale_font:
1142        ::std::option::Option<unsafe extern "C" fn(font: *mut FontT, scale_factor: f32)>,
1143    pub glyph_set_from_scale: ::std::option::Option<
1144        unsafe extern "C" fn(font: *const FontT, font_scale: f32, new_font_scale: *mut f32) -> u32,
1145    >,
1146    pub first_glyph_of_set: ::std::option::Option<
1147        unsafe extern "C" fn(font: *const FontT, set: u32) -> *const FontGlyphT,
1148    >,
1149}
1150pub const TM_DRAW2D_PRIMITIVE_TRIANGLE: Draw2dPrimitive = 67108864;
1151pub const TM_DRAW2D_PRIMITIVE_RECT: Draw2dPrimitive = 134217728;
1152pub const TM_DRAW2D_PRIMITIVE_RECT_TEXTURED: Draw2dPrimitive = 201326592;
1153pub const TM_DRAW2D_PRIMITIVE_RECT_AUX_DATA: Draw2dPrimitive = 268435456;
1154pub const TM_DRAW2D_PRIMITIVE_GLYPH: Draw2dPrimitive = -2147483648;
1155pub type Draw2dPrimitive = ::std::os::raw::c_int;
1156pub const TM_DRAW2D_CORNER_TL: Draw2dCorner = 0;
1157pub const TM_DRAW2D_CORNER_TR: Draw2dCorner = 16777216;
1158pub const TM_DRAW2D_CORNER_BL: Draw2dCorner = 33554432;
1159pub const TM_DRAW2D_CORNER_BR: Draw2dCorner = 50331648;
1160pub type Draw2dCorner = ::std::os::raw::c_int;
1161#[repr(C)]
1162pub struct Draw2dTriangleVertexT {
1163    pub pos: Vec2T,
1164    pub color: ColorSrgbT,
1165    pub clip: u32,
1166}
1167impl Default for Draw2dTriangleVertexT {
1168    fn default() -> Self {
1169        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1170        unsafe {
1171            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1172            s.assume_init()
1173        }
1174    }
1175}
1176#[repr(C)]
1177pub struct Draw2dRectVertexT {
1178    pub rect: RectT,
1179    pub color: ColorSrgbT,
1180    pub clip: u32,
1181}
1182impl Default for Draw2dRectVertexT {
1183    fn default() -> Self {
1184        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1185        unsafe {
1186            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1187            s.assume_init()
1188        }
1189    }
1190}
1191#[repr(C)]
1192pub struct Draw2dRectTexturedVertexT {
1193    pub rect: RectT,
1194    pub tint: ColorSrgbT,
1195    pub clip: u32,
1196    pub texture: u32,
1197    pub uv: RectT,
1198}
1199impl Default for Draw2dRectTexturedVertexT {
1200    fn default() -> Self {
1201        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1202        unsafe {
1203            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1204            s.assume_init()
1205        }
1206    }
1207}
1208#[repr(C)]
1209pub struct Draw2dGlyphRangeVertexT {
1210    pub origin: Vec2T,
1211    pub color: ColorSrgbT,
1212    pub scale: f32,
1213    pub clip: u32,
1214    pub font: u32,
1215    pub x: Vec2T,
1216    pub y: Vec2T,
1217}
1218impl Default for Draw2dGlyphRangeVertexT {
1219    fn default() -> Self {
1220        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1221        unsafe {
1222            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1223            s.assume_init()
1224        }
1225    }
1226}
1227#[repr(C)]
1228#[derive(Default, Copy, Clone)]
1229pub struct Draw2dGlyphVertexT {
1230    pub x_offset: f32,
1231    pub glyph: u32,
1232}
1233#[repr(C)]
1234#[derive(Copy, Clone)]
1235pub struct FontLibraryT {
1236    _unused: [u8; 0],
1237}
1238#[repr(C)]
1239#[derive(Default, Copy, Clone)]
1240pub struct TtfHandleT {
1241    pub id: u32,
1242}
1243#[repr(C)]
1244#[derive(Copy, Clone)]
1245pub struct FontDescriptorT {
1246    pub path: *const ::std::os::raw::c_char,
1247    pub ttf_data: *const ::std::os::raw::c_char,
1248    pub ttf_data_bytes: u64,
1249    pub num_ranges: u32,
1250    pub font_index: u32,
1251    pub ranges: *const TtfRangeT,
1252}
1253impl Default for FontDescriptorT {
1254    fn default() -> Self {
1255        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1256        unsafe {
1257            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1258            s.assume_init()
1259        }
1260    }
1261}
1262#[repr(C)]
1263#[derive(Default, Copy, Clone)]
1264pub struct FontLibraryApi {
1265    pub create: ::std::option::Option<
1266        unsafe extern "C" fn(allocator: *mut AllocatorI) -> *mut FontLibraryT,
1267    >,
1268    pub destroy: ::std::option::Option<unsafe extern "C" fn(lib: *mut FontLibraryT)>,
1269    pub add_ttf: ::std::option::Option<
1270        unsafe extern "C" fn(lib: *mut FontLibraryT, ttf: *const FontDescriptorT) -> TtfHandleT,
1271    >,
1272    pub lookup: ::std::option::Option<
1273        unsafe extern "C" fn(
1274            lib: *const FontLibraryT,
1275            ttf: TtfHandleT,
1276            size: u32,
1277            display_dpi: f32,
1278        ) -> *const FontT,
1279    >,
1280    pub generate: ::std::option::Option<
1281        unsafe extern "C" fn(
1282            lib: *mut FontLibraryT,
1283            tm_res_buf_api: *mut RendererResourceCommandBufferApi,
1284            res_buf: *mut RendererResourceCommandBufferO,
1285            device_affinity: u32,
1286            font_texture_id: u32,
1287            ttf: TtfHandleT,
1288            size: u32,
1289            display_dpi: f32,
1290            scales: *const f32,
1291            n_scales: u32,
1292            texture_handle: *mut RendererHandleT,
1293        ) -> *const FontT,
1294    >,
1295}
1296pub const TM_GIZMO__MOVE_RESULT__NO_MOVE: GizmoMoveResult = 0;
1297pub const TM_GIZMO__MOVE_RESULT__PREVIEW: GizmoMoveResult = 1;
1298pub const TM_GIZMO__MOVE_RESULT__COMMIT: GizmoMoveResult = 2;
1299pub const TM_GIZMO__MOVE_RESULT__DUPLICATE: GizmoMoveResult = 3;
1300pub type GizmoMoveResult = ::std::os::raw::c_int;
1301#[repr(C)]
1302#[derive(Default, Copy, Clone)]
1303pub struct GizmoMoveSettingsT {
1304    pub use_world_axes: bool,
1305    pub grid_snap: bool,
1306    pub disable_selection: bool,
1307    pub _padding_39: [::std::os::raw::c_char; 1usize],
1308    pub grid_size: f32,
1309}
1310#[repr(C)]
1311#[derive(Default, Copy, Clone)]
1312pub struct GizmoRotateSettingsT {
1313    pub use_world_axes: bool,
1314    pub snap: bool,
1315    pub disable_selection: bool,
1316    pub _padding_56: [::std::os::raw::c_char; 1usize],
1317    pub snap_angle: f32,
1318}
1319#[repr(C)]
1320#[derive(Default, Copy, Clone)]
1321pub struct GizmoScaleSettingsT {
1322    pub absolute_handle: bool,
1323    pub disable_selection: bool,
1324    pub snap: bool,
1325    pub _padding_74: [::std::os::raw::c_char; 1usize],
1326    pub snap_increment: f32,
1327}
1328#[repr(C)]
1329pub struct GizmoGridSettingsT {
1330    pub visible: bool,
1331    pub _padding_85: [::std::os::raw::c_char; 3usize],
1332    pub transform: TransformT,
1333}
1334impl Default for GizmoGridSettingsT {
1335    fn default() -> Self {
1336        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1337        unsafe {
1338            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1339            s.assume_init()
1340        }
1341    }
1342}
1343#[repr(C)]
1344#[derive(Default, Copy, Clone)]
1345pub struct GizmoApi {
1346    pub move_: ::std::option::Option<
1347        unsafe extern "C" fn(
1348            ui: *mut UiO,
1349            uistyle: *const UiStyleT,
1350            pbuf: *mut PrimitiveDrawerBufferT,
1351            vbuf: *mut PrimitiveDrawerBufferT,
1352            camera: *const CameraT,
1353            viewport: RectT,
1354            tm: *const TransformT,
1355            local: *mut TransformT,
1356            settings: *const GizmoMoveSettingsT,
1357            grid_settings: *mut GizmoGridSettingsT,
1358        ) -> GizmoMoveResult,
1359    >,
1360    pub rotate: ::std::option::Option<
1361        unsafe extern "C" fn(
1362            ui: *mut UiO,
1363            uistyle: *const UiStyleT,
1364            pbuf: *mut PrimitiveDrawerBufferT,
1365            vbuf: *mut PrimitiveDrawerBufferT,
1366            camera: *const CameraT,
1367            viewport: RectT,
1368            tm: *const TransformT,
1369            local: *mut TransformT,
1370            settings: *const GizmoRotateSettingsT,
1371        ) -> GizmoMoveResult,
1372    >,
1373    pub scale: ::std::option::Option<
1374        unsafe extern "C" fn(
1375            ui: *mut UiO,
1376            uistyle: *const UiStyleT,
1377            pbuf: *mut PrimitiveDrawerBufferT,
1378            vbuf: *mut PrimitiveDrawerBufferT,
1379            camera: *const CameraT,
1380            viewport: RectT,
1381            tm: *const TransformT,
1382            local: *mut TransformT,
1383            settings: *const GizmoScaleSettingsT,
1384        ) -> GizmoMoveResult,
1385    >,
1386}
1387pub const IONICON__ADD: ::std::os::raw::c_int = 61696;
1388pub const IONICON__ADD_CIRCLE: ::std::os::raw::c_int = 61697;
1389pub const IONICON__ADD_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61698;
1390pub const IONICON__ADD_CIRCLE_SHARP: ::std::os::raw::c_int = 61699;
1391pub const IONICON__ADD_OUTLINE: ::std::os::raw::c_int = 61700;
1392pub const IONICON__ADD_SHARP: ::std::os::raw::c_int = 61701;
1393pub const IONICON__AIRPLANE: ::std::os::raw::c_int = 61702;
1394pub const IONICON__AIRPLANE_OUTLINE: ::std::os::raw::c_int = 61703;
1395pub const IONICON__AIRPLANE_SHARP: ::std::os::raw::c_int = 61704;
1396pub const IONICON__ALARM: ::std::os::raw::c_int = 61705;
1397pub const IONICON__ALARM_OUTLINE: ::std::os::raw::c_int = 61706;
1398pub const IONICON__ALARM_SHARP: ::std::os::raw::c_int = 61707;
1399pub const IONICON__ALBUMS: ::std::os::raw::c_int = 61708;
1400pub const IONICON__ALBUMS_OUTLINE: ::std::os::raw::c_int = 61709;
1401pub const IONICON__ALBUMS_SHARP: ::std::os::raw::c_int = 61710;
1402pub const IONICON__ALERT: ::std::os::raw::c_int = 61711;
1403pub const IONICON__ALERT_CIRCLE: ::std::os::raw::c_int = 61712;
1404pub const IONICON__ALERT_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61713;
1405pub const IONICON__ALERT_CIRCLE_SHARP: ::std::os::raw::c_int = 61714;
1406pub const IONICON__ALERT_OUTLINE: ::std::os::raw::c_int = 61715;
1407pub const IONICON__ALERT_SHARP: ::std::os::raw::c_int = 61716;
1408pub const IONICON__AMERICAN_FOOTBALL: ::std::os::raw::c_int = 61717;
1409pub const IONICON__AMERICAN_FOOTBALL_OUTLINE: ::std::os::raw::c_int = 61718;
1410pub const IONICON__AMERICAN_FOOTBALL_SHARP: ::std::os::raw::c_int = 61719;
1411pub const IONICON__ANALYTICS: ::std::os::raw::c_int = 61720;
1412pub const IONICON__ANALYTICS_OUTLINE: ::std::os::raw::c_int = 61721;
1413pub const IONICON__ANALYTICS_SHARP: ::std::os::raw::c_int = 61722;
1414pub const IONICON__APERTURE: ::std::os::raw::c_int = 61723;
1415pub const IONICON__APERTURE_OUTLINE: ::std::os::raw::c_int = 61724;
1416pub const IONICON__APERTURE_SHARP: ::std::os::raw::c_int = 61725;
1417pub const IONICON__APPS: ::std::os::raw::c_int = 61726;
1418pub const IONICON__APPS_OUTLINE: ::std::os::raw::c_int = 61727;
1419pub const IONICON__APPS_SHARP: ::std::os::raw::c_int = 61728;
1420pub const IONICON__ARCHIVE: ::std::os::raw::c_int = 61729;
1421pub const IONICON__ARCHIVE_OUTLINE: ::std::os::raw::c_int = 61730;
1422pub const IONICON__ARCHIVE_SHARP: ::std::os::raw::c_int = 61731;
1423pub const IONICON__ARROW_BACK: ::std::os::raw::c_int = 61732;
1424pub const IONICON__ARROW_BACK_CIRCLE: ::std::os::raw::c_int = 61733;
1425pub const IONICON__ARROW_BACK_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61734;
1426pub const IONICON__ARROW_BACK_CIRCLE_SHARP: ::std::os::raw::c_int = 61735;
1427pub const IONICON__ARROW_BACK_OUTLINE: ::std::os::raw::c_int = 61736;
1428pub const IONICON__ARROW_BACK_SHARP: ::std::os::raw::c_int = 61737;
1429pub const IONICON__ARROW_DOWN: ::std::os::raw::c_int = 61738;
1430pub const IONICON__ARROW_DOWN_CIRCLE: ::std::os::raw::c_int = 61739;
1431pub const IONICON__ARROW_DOWN_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61740;
1432pub const IONICON__ARROW_DOWN_CIRCLE_SHARP: ::std::os::raw::c_int = 61741;
1433pub const IONICON__ARROW_DOWN_OUTLINE: ::std::os::raw::c_int = 61742;
1434pub const IONICON__ARROW_DOWN_SHARP: ::std::os::raw::c_int = 61743;
1435pub const IONICON__ARROW_FORWARD: ::std::os::raw::c_int = 61744;
1436pub const IONICON__ARROW_FORWARD_CIRCLE: ::std::os::raw::c_int = 61745;
1437pub const IONICON__ARROW_FORWARD_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61746;
1438pub const IONICON__ARROW_FORWARD_CIRCLE_SHARP: ::std::os::raw::c_int = 61747;
1439pub const IONICON__ARROW_FORWARD_OUTLINE: ::std::os::raw::c_int = 61748;
1440pub const IONICON__ARROW_FORWARD_SHARP: ::std::os::raw::c_int = 61749;
1441pub const IONICON__ARROW_REDO: ::std::os::raw::c_int = 61750;
1442pub const IONICON__ARROW_REDO_CIRCLE: ::std::os::raw::c_int = 61751;
1443pub const IONICON__ARROW_REDO_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61752;
1444pub const IONICON__ARROW_REDO_CIRCLE_SHARP: ::std::os::raw::c_int = 61753;
1445pub const IONICON__ARROW_REDO_OUTLINE: ::std::os::raw::c_int = 61754;
1446pub const IONICON__ARROW_REDO_SHARP: ::std::os::raw::c_int = 61755;
1447pub const IONICON__ARROW_UNDO: ::std::os::raw::c_int = 61756;
1448pub const IONICON__ARROW_UNDO_CIRCLE: ::std::os::raw::c_int = 61757;
1449pub const IONICON__ARROW_UNDO_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61758;
1450pub const IONICON__ARROW_UNDO_CIRCLE_SHARP: ::std::os::raw::c_int = 61759;
1451pub const IONICON__ARROW_UNDO_OUTLINE: ::std::os::raw::c_int = 61760;
1452pub const IONICON__ARROW_UNDO_SHARP: ::std::os::raw::c_int = 61761;
1453pub const IONICON__ARROW_UP: ::std::os::raw::c_int = 61762;
1454pub const IONICON__ARROW_UP_CIRCLE: ::std::os::raw::c_int = 61763;
1455pub const IONICON__ARROW_UP_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61764;
1456pub const IONICON__ARROW_UP_CIRCLE_SHARP: ::std::os::raw::c_int = 61765;
1457pub const IONICON__ARROW_UP_OUTLINE: ::std::os::raw::c_int = 61766;
1458pub const IONICON__ARROW_UP_SHARP: ::std::os::raw::c_int = 61767;
1459pub const IONICON__AT: ::std::os::raw::c_int = 61768;
1460pub const IONICON__AT_CIRCLE: ::std::os::raw::c_int = 61769;
1461pub const IONICON__AT_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61770;
1462pub const IONICON__AT_CIRCLE_SHARP: ::std::os::raw::c_int = 61771;
1463pub const IONICON__AT_OUTLINE: ::std::os::raw::c_int = 61772;
1464pub const IONICON__AT_SHARP: ::std::os::raw::c_int = 61773;
1465pub const IONICON__ATTACH: ::std::os::raw::c_int = 61774;
1466pub const IONICON__ATTACH_OUTLINE: ::std::os::raw::c_int = 61775;
1467pub const IONICON__ATTACH_SHARP: ::std::os::raw::c_int = 61776;
1468pub const IONICON__BACKSPACE: ::std::os::raw::c_int = 61777;
1469pub const IONICON__BACKSPACE_OUTLINE: ::std::os::raw::c_int = 61778;
1470pub const IONICON__BACKSPACE_SHARP: ::std::os::raw::c_int = 61779;
1471pub const IONICON__BANDAGE: ::std::os::raw::c_int = 61780;
1472pub const IONICON__BANDAGE_OUTLINE: ::std::os::raw::c_int = 61781;
1473pub const IONICON__BANDAGE_SHARP: ::std::os::raw::c_int = 61782;
1474pub const IONICON__BAR_CHART: ::std::os::raw::c_int = 61783;
1475pub const IONICON__BAR_CHART_OUTLINE: ::std::os::raw::c_int = 61784;
1476pub const IONICON__BAR_CHART_SHARP: ::std::os::raw::c_int = 61785;
1477pub const IONICON__BARBELL: ::std::os::raw::c_int = 61786;
1478pub const IONICON__BARBELL_OUTLINE: ::std::os::raw::c_int = 61787;
1479pub const IONICON__BARBELL_SHARP: ::std::os::raw::c_int = 61788;
1480pub const IONICON__BARCODE: ::std::os::raw::c_int = 61789;
1481pub const IONICON__BARCODE_OUTLINE: ::std::os::raw::c_int = 61790;
1482pub const IONICON__BARCODE_SHARP: ::std::os::raw::c_int = 61791;
1483pub const IONICON__BASEBALL: ::std::os::raw::c_int = 61792;
1484pub const IONICON__BASEBALL_OUTLINE: ::std::os::raw::c_int = 61793;
1485pub const IONICON__BASEBALL_SHARP: ::std::os::raw::c_int = 61794;
1486pub const IONICON__BASKET: ::std::os::raw::c_int = 61795;
1487pub const IONICON__BASKET_OUTLINE: ::std::os::raw::c_int = 61796;
1488pub const IONICON__BASKET_SHARP: ::std::os::raw::c_int = 61797;
1489pub const IONICON__BASKETBALL: ::std::os::raw::c_int = 61798;
1490pub const IONICON__BASKETBALL_OUTLINE: ::std::os::raw::c_int = 61799;
1491pub const IONICON__BASKETBALL_SHARP: ::std::os::raw::c_int = 61800;
1492pub const IONICON__BATTERY_CHARGING: ::std::os::raw::c_int = 61801;
1493pub const IONICON__BATTERY_CHARGING_OUTLINE: ::std::os::raw::c_int = 61802;
1494pub const IONICON__BATTERY_CHARGING_SHARP: ::std::os::raw::c_int = 61803;
1495pub const IONICON__BATTERY_DEAD: ::std::os::raw::c_int = 61804;
1496pub const IONICON__BATTERY_DEAD_OUTLINE: ::std::os::raw::c_int = 61805;
1497pub const IONICON__BATTERY_DEAD_SHARP: ::std::os::raw::c_int = 61806;
1498pub const IONICON__BATTERY_FULL: ::std::os::raw::c_int = 61807;
1499pub const IONICON__BATTERY_FULL_OUTLINE: ::std::os::raw::c_int = 61808;
1500pub const IONICON__BATTERY_FULL_SHARP: ::std::os::raw::c_int = 61809;
1501pub const IONICON__BATTERY_HALF: ::std::os::raw::c_int = 61810;
1502pub const IONICON__BATTERY_HALF_OUTLINE: ::std::os::raw::c_int = 61811;
1503pub const IONICON__BATTERY_HALF_SHARP: ::std::os::raw::c_int = 61812;
1504pub const IONICON__BEAKER: ::std::os::raw::c_int = 61813;
1505pub const IONICON__BEAKER_OUTLINE: ::std::os::raw::c_int = 61814;
1506pub const IONICON__BEAKER_SHARP: ::std::os::raw::c_int = 61815;
1507pub const IONICON__BED: ::std::os::raw::c_int = 61816;
1508pub const IONICON__BED_OUTLINE: ::std::os::raw::c_int = 61817;
1509pub const IONICON__BED_SHARP: ::std::os::raw::c_int = 61818;
1510pub const IONICON__BEER: ::std::os::raw::c_int = 61819;
1511pub const IONICON__BEER_OUTLINE: ::std::os::raw::c_int = 61820;
1512pub const IONICON__BEER_SHARP: ::std::os::raw::c_int = 61821;
1513pub const IONICON__BICYCLE: ::std::os::raw::c_int = 61822;
1514pub const IONICON__BICYCLE_OUTLINE: ::std::os::raw::c_int = 61823;
1515pub const IONICON__BICYCLE_SHARP: ::std::os::raw::c_int = 61824;
1516pub const IONICON__BLUETOOTH: ::std::os::raw::c_int = 61825;
1517pub const IONICON__BLUETOOTH_OUTLINE: ::std::os::raw::c_int = 61826;
1518pub const IONICON__BLUETOOTH_SHARP: ::std::os::raw::c_int = 61827;
1519pub const IONICON__BOAT: ::std::os::raw::c_int = 61828;
1520pub const IONICON__BOAT_OUTLINE: ::std::os::raw::c_int = 61829;
1521pub const IONICON__BOAT_SHARP: ::std::os::raw::c_int = 61830;
1522pub const IONICON__BODY: ::std::os::raw::c_int = 61831;
1523pub const IONICON__BODY_OUTLINE: ::std::os::raw::c_int = 61832;
1524pub const IONICON__BODY_SHARP: ::std::os::raw::c_int = 61833;
1525pub const IONICON__BONFIRE: ::std::os::raw::c_int = 61834;
1526pub const IONICON__BONFIRE_OUTLINE: ::std::os::raw::c_int = 61835;
1527pub const IONICON__BONFIRE_SHARP: ::std::os::raw::c_int = 61836;
1528pub const IONICON__BOOK: ::std::os::raw::c_int = 61837;
1529pub const IONICON__BOOK_OUTLINE: ::std::os::raw::c_int = 61838;
1530pub const IONICON__BOOK_SHARP: ::std::os::raw::c_int = 61839;
1531pub const IONICON__BOOKMARK: ::std::os::raw::c_int = 61840;
1532pub const IONICON__BOOKMARK_OUTLINE: ::std::os::raw::c_int = 61841;
1533pub const IONICON__BOOKMARK_SHARP: ::std::os::raw::c_int = 61842;
1534pub const IONICON__BOOKMARKS: ::std::os::raw::c_int = 61843;
1535pub const IONICON__BOOKMARKS_OUTLINE: ::std::os::raw::c_int = 61844;
1536pub const IONICON__BOOKMARKS_SHARP: ::std::os::raw::c_int = 61845;
1537pub const IONICON__BRIEFCASE: ::std::os::raw::c_int = 61846;
1538pub const IONICON__BRIEFCASE_OUTLINE: ::std::os::raw::c_int = 61847;
1539pub const IONICON__BRIEFCASE_SHARP: ::std::os::raw::c_int = 61848;
1540pub const IONICON__BROWSERS: ::std::os::raw::c_int = 61849;
1541pub const IONICON__BROWSERS_OUTLINE: ::std::os::raw::c_int = 61850;
1542pub const IONICON__BROWSERS_SHARP: ::std::os::raw::c_int = 61851;
1543pub const IONICON__BRUSH: ::std::os::raw::c_int = 61852;
1544pub const IONICON__BRUSH_OUTLINE: ::std::os::raw::c_int = 61853;
1545pub const IONICON__BRUSH_SHARP: ::std::os::raw::c_int = 61854;
1546pub const IONICON__BUG: ::std::os::raw::c_int = 61855;
1547pub const IONICON__BUG_OUTLINE: ::std::os::raw::c_int = 61856;
1548pub const IONICON__BUG_SHARP: ::std::os::raw::c_int = 61857;
1549pub const IONICON__BUILD: ::std::os::raw::c_int = 61858;
1550pub const IONICON__BUILD_OUTLINE: ::std::os::raw::c_int = 61859;
1551pub const IONICON__BUILD_SHARP: ::std::os::raw::c_int = 61860;
1552pub const IONICON__BULB: ::std::os::raw::c_int = 61861;
1553pub const IONICON__BULB_OUTLINE: ::std::os::raw::c_int = 61862;
1554pub const IONICON__BULB_SHARP: ::std::os::raw::c_int = 61863;
1555pub const IONICON__BUS: ::std::os::raw::c_int = 61864;
1556pub const IONICON__BUS_OUTLINE: ::std::os::raw::c_int = 61865;
1557pub const IONICON__BUS_SHARP: ::std::os::raw::c_int = 61866;
1558pub const IONICON__BUSINESS: ::std::os::raw::c_int = 61867;
1559pub const IONICON__BUSINESS_OUTLINE: ::std::os::raw::c_int = 61868;
1560pub const IONICON__BUSINESS_SHARP: ::std::os::raw::c_int = 61869;
1561pub const IONICON__CAFE: ::std::os::raw::c_int = 61870;
1562pub const IONICON__CAFE_OUTLINE: ::std::os::raw::c_int = 61871;
1563pub const IONICON__CAFE_SHARP: ::std::os::raw::c_int = 61872;
1564pub const IONICON__CALCULATOR: ::std::os::raw::c_int = 61873;
1565pub const IONICON__CALCULATOR_OUTLINE: ::std::os::raw::c_int = 61874;
1566pub const IONICON__CALCULATOR_SHARP: ::std::os::raw::c_int = 61875;
1567pub const IONICON__CALENDAR: ::std::os::raw::c_int = 61876;
1568pub const IONICON__CALENDAR_OUTLINE: ::std::os::raw::c_int = 61877;
1569pub const IONICON__CALENDAR_SHARP: ::std::os::raw::c_int = 61878;
1570pub const IONICON__CALL: ::std::os::raw::c_int = 61879;
1571pub const IONICON__CALL_OUTLINE: ::std::os::raw::c_int = 61880;
1572pub const IONICON__CALL_SHARP: ::std::os::raw::c_int = 61881;
1573pub const IONICON__CAMERA: ::std::os::raw::c_int = 61882;
1574pub const IONICON__CAMERA_OUTLINE: ::std::os::raw::c_int = 61883;
1575pub const IONICON__CAMERA_REVERSE: ::std::os::raw::c_int = 61884;
1576pub const IONICON__CAMERA_REVERSE_OUTLINE: ::std::os::raw::c_int = 61885;
1577pub const IONICON__CAMERA_REVERSE_SHARP: ::std::os::raw::c_int = 61886;
1578pub const IONICON__CAMERA_SHARP: ::std::os::raw::c_int = 61887;
1579pub const IONICON__CAR: ::std::os::raw::c_int = 61888;
1580pub const IONICON__CAR_OUTLINE: ::std::os::raw::c_int = 61889;
1581pub const IONICON__CAR_SHARP: ::std::os::raw::c_int = 61890;
1582pub const IONICON__CAR_SPORT: ::std::os::raw::c_int = 61891;
1583pub const IONICON__CAR_SPORT_OUTLINE: ::std::os::raw::c_int = 61892;
1584pub const IONICON__CAR_SPORT_SHARP: ::std::os::raw::c_int = 61893;
1585pub const IONICON__CARD: ::std::os::raw::c_int = 61894;
1586pub const IONICON__CARD_OUTLINE: ::std::os::raw::c_int = 61895;
1587pub const IONICON__CARD_SHARP: ::std::os::raw::c_int = 61896;
1588pub const IONICON__CARET_BACK: ::std::os::raw::c_int = 61897;
1589pub const IONICON__CARET_BACK_CIRCLE: ::std::os::raw::c_int = 61898;
1590pub const IONICON__CARET_BACK_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61899;
1591pub const IONICON__CARET_BACK_CIRCLE_SHARP: ::std::os::raw::c_int = 61900;
1592pub const IONICON__CARET_BACK_OUTLINE: ::std::os::raw::c_int = 61901;
1593pub const IONICON__CARET_BACK_SHARP: ::std::os::raw::c_int = 61902;
1594pub const IONICON__CARET_DOWN: ::std::os::raw::c_int = 61903;
1595pub const IONICON__CARET_DOWN_CIRCLE: ::std::os::raw::c_int = 61904;
1596pub const IONICON__CARET_DOWN_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61905;
1597pub const IONICON__CARET_DOWN_CIRCLE_SHARP: ::std::os::raw::c_int = 61906;
1598pub const IONICON__CARET_DOWN_OUTLINE: ::std::os::raw::c_int = 61907;
1599pub const IONICON__CARET_DOWN_SHARP: ::std::os::raw::c_int = 61908;
1600pub const IONICON__CARET_FORWARD: ::std::os::raw::c_int = 61909;
1601pub const IONICON__CARET_FORWARD_CIRCLE: ::std::os::raw::c_int = 61910;
1602pub const IONICON__CARET_FORWARD_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61911;
1603pub const IONICON__CARET_FORWARD_CIRCLE_SHARP: ::std::os::raw::c_int = 61912;
1604pub const IONICON__CARET_FORWARD_OUTLINE: ::std::os::raw::c_int = 61913;
1605pub const IONICON__CARET_FORWARD_SHARP: ::std::os::raw::c_int = 61914;
1606pub const IONICON__CARET_UP: ::std::os::raw::c_int = 61915;
1607pub const IONICON__CARET_UP_CIRCLE: ::std::os::raw::c_int = 61916;
1608pub const IONICON__CARET_UP_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61917;
1609pub const IONICON__CARET_UP_CIRCLE_SHARP: ::std::os::raw::c_int = 61918;
1610pub const IONICON__CARET_UP_OUTLINE: ::std::os::raw::c_int = 61919;
1611pub const IONICON__CARET_UP_SHARP: ::std::os::raw::c_int = 61920;
1612pub const IONICON__CART: ::std::os::raw::c_int = 61921;
1613pub const IONICON__CART_OUTLINE: ::std::os::raw::c_int = 61922;
1614pub const IONICON__CART_SHARP: ::std::os::raw::c_int = 61923;
1615pub const IONICON__CASH: ::std::os::raw::c_int = 61924;
1616pub const IONICON__CASH_OUTLINE: ::std::os::raw::c_int = 61925;
1617pub const IONICON__CASH_SHARP: ::std::os::raw::c_int = 61926;
1618pub const IONICON__CELLULAR: ::std::os::raw::c_int = 61927;
1619pub const IONICON__CELLULAR_OUTLINE: ::std::os::raw::c_int = 61928;
1620pub const IONICON__CELLULAR_SHARP: ::std::os::raw::c_int = 61929;
1621pub const IONICON__CHATBOX: ::std::os::raw::c_int = 61930;
1622pub const IONICON__CHATBOX_ELLIPSES: ::std::os::raw::c_int = 61931;
1623pub const IONICON__CHATBOX_ELLIPSES_OUTLINE: ::std::os::raw::c_int = 61932;
1624pub const IONICON__CHATBOX_ELLIPSES_SHARP: ::std::os::raw::c_int = 61933;
1625pub const IONICON__CHATBOX_OUTLINE: ::std::os::raw::c_int = 61934;
1626pub const IONICON__CHATBOX_SHARP: ::std::os::raw::c_int = 61935;
1627pub const IONICON__CHATBUBBLE: ::std::os::raw::c_int = 61936;
1628pub const IONICON__CHATBUBBLE_ELLIPSES: ::std::os::raw::c_int = 61937;
1629pub const IONICON__CHATBUBBLE_ELLIPSES_OUTLINE: ::std::os::raw::c_int = 61938;
1630pub const IONICON__CHATBUBBLE_ELLIPSES_SHARP: ::std::os::raw::c_int = 61939;
1631pub const IONICON__CHATBUBBLE_OUTLINE: ::std::os::raw::c_int = 61940;
1632pub const IONICON__CHATBUBBLE_SHARP: ::std::os::raw::c_int = 61941;
1633pub const IONICON__CHATBUBBLES: ::std::os::raw::c_int = 61942;
1634pub const IONICON__CHATBUBBLES_OUTLINE: ::std::os::raw::c_int = 61943;
1635pub const IONICON__CHATBUBBLES_SHARP: ::std::os::raw::c_int = 61944;
1636pub const IONICON__CHECKBOX: ::std::os::raw::c_int = 61945;
1637pub const IONICON__CHECKBOX_OUTLINE: ::std::os::raw::c_int = 61946;
1638pub const IONICON__CHECKBOX_SHARP: ::std::os::raw::c_int = 61947;
1639pub const IONICON__CHECKMARK: ::std::os::raw::c_int = 61948;
1640pub const IONICON__CHECKMARK_CIRCLE: ::std::os::raw::c_int = 61949;
1641pub const IONICON__CHECKMARK_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61950;
1642pub const IONICON__CHECKMARK_CIRCLE_SHARP: ::std::os::raw::c_int = 61951;
1643pub const IONICON__CHECKMARK_DONE: ::std::os::raw::c_int = 61952;
1644pub const IONICON__CHECKMARK_DONE_CIRCLE: ::std::os::raw::c_int = 61953;
1645pub const IONICON__CHECKMARK_DONE_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61954;
1646pub const IONICON__CHECKMARK_DONE_CIRCLE_SHARP: ::std::os::raw::c_int = 61955;
1647pub const IONICON__CHECKMARK_DONE_OUTLINE: ::std::os::raw::c_int = 61956;
1648pub const IONICON__CHECKMARK_DONE_SHARP: ::std::os::raw::c_int = 61957;
1649pub const IONICON__CHECKMARK_OUTLINE: ::std::os::raw::c_int = 61958;
1650pub const IONICON__CHECKMARK_SHARP: ::std::os::raw::c_int = 61959;
1651pub const IONICON__CHEVRON_BACK: ::std::os::raw::c_int = 61960;
1652pub const IONICON__CHEVRON_BACK_CIRCLE: ::std::os::raw::c_int = 61961;
1653pub const IONICON__CHEVRON_BACK_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61962;
1654pub const IONICON__CHEVRON_BACK_CIRCLE_SHARP: ::std::os::raw::c_int = 61963;
1655pub const IONICON__CHEVRON_BACK_OUTLINE: ::std::os::raw::c_int = 61964;
1656pub const IONICON__CHEVRON_BACK_SHARP: ::std::os::raw::c_int = 61965;
1657pub const IONICON__CHEVRON_DOWN: ::std::os::raw::c_int = 61966;
1658pub const IONICON__CHEVRON_DOWN_CIRCLE: ::std::os::raw::c_int = 61967;
1659pub const IONICON__CHEVRON_DOWN_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61968;
1660pub const IONICON__CHEVRON_DOWN_CIRCLE_SHARP: ::std::os::raw::c_int = 61969;
1661pub const IONICON__CHEVRON_DOWN_OUTLINE: ::std::os::raw::c_int = 61970;
1662pub const IONICON__CHEVRON_DOWN_SHARP: ::std::os::raw::c_int = 61971;
1663pub const IONICON__CHEVRON_FORWARD: ::std::os::raw::c_int = 61972;
1664pub const IONICON__CHEVRON_FORWARD_CIRCLE: ::std::os::raw::c_int = 61973;
1665pub const IONICON__CHEVRON_FORWARD_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61974;
1666pub const IONICON__CHEVRON_FORWARD_CIRCLE_SHARP: ::std::os::raw::c_int = 61975;
1667pub const IONICON__CHEVRON_FORWARD_OUTLINE: ::std::os::raw::c_int = 61976;
1668pub const IONICON__CHEVRON_FORWARD_SHARP: ::std::os::raw::c_int = 61977;
1669pub const IONICON__CHEVRON_UP: ::std::os::raw::c_int = 61978;
1670pub const IONICON__CHEVRON_UP_CIRCLE: ::std::os::raw::c_int = 61979;
1671pub const IONICON__CHEVRON_UP_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61980;
1672pub const IONICON__CHEVRON_UP_CIRCLE_SHARP: ::std::os::raw::c_int = 61981;
1673pub const IONICON__CHEVRON_UP_OUTLINE: ::std::os::raw::c_int = 61982;
1674pub const IONICON__CHEVRON_UP_SHARP: ::std::os::raw::c_int = 61983;
1675pub const IONICON__CLIPBOARD: ::std::os::raw::c_int = 61984;
1676pub const IONICON__CLIPBOARD_OUTLINE: ::std::os::raw::c_int = 61985;
1677pub const IONICON__CLIPBOARD_SHARP: ::std::os::raw::c_int = 61986;
1678pub const IONICON__CLOSE: ::std::os::raw::c_int = 61987;
1679pub const IONICON__CLOSE_CIRCLE: ::std::os::raw::c_int = 61988;
1680pub const IONICON__CLOSE_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61989;
1681pub const IONICON__CLOSE_CIRCLE_SHARP: ::std::os::raw::c_int = 61990;
1682pub const IONICON__CLOSE_OUTLINE: ::std::os::raw::c_int = 61991;
1683pub const IONICON__CLOSE_SHARP: ::std::os::raw::c_int = 61992;
1684pub const IONICON__CLOUD: ::std::os::raw::c_int = 61993;
1685pub const IONICON__CLOUD_CIRCLE: ::std::os::raw::c_int = 61994;
1686pub const IONICON__CLOUD_CIRCLE_OUTLINE: ::std::os::raw::c_int = 61995;
1687pub const IONICON__CLOUD_CIRCLE_SHARP: ::std::os::raw::c_int = 61996;
1688pub const IONICON__CLOUD_DONE: ::std::os::raw::c_int = 61997;
1689pub const IONICON__CLOUD_DONE_OUTLINE: ::std::os::raw::c_int = 61998;
1690pub const IONICON__CLOUD_DONE_SHARP: ::std::os::raw::c_int = 61999;
1691pub const IONICON__CLOUD_DOWNLOAD: ::std::os::raw::c_int = 62000;
1692pub const IONICON__CLOUD_DOWNLOAD_OUTLINE: ::std::os::raw::c_int = 62001;
1693pub const IONICON__CLOUD_DOWNLOAD_SHARP: ::std::os::raw::c_int = 62002;
1694pub const IONICON__CLOUD_OFFLINE: ::std::os::raw::c_int = 62003;
1695pub const IONICON__CLOUD_OFFLINE_OUTLINE: ::std::os::raw::c_int = 62004;
1696pub const IONICON__CLOUD_OFFLINE_SHARP: ::std::os::raw::c_int = 62005;
1697pub const IONICON__CLOUD_OUTLINE: ::std::os::raw::c_int = 62006;
1698pub const IONICON__CLOUD_SHARP: ::std::os::raw::c_int = 62007;
1699pub const IONICON__CLOUD_UPLOAD: ::std::os::raw::c_int = 62008;
1700pub const IONICON__CLOUD_UPLOAD_OUTLINE: ::std::os::raw::c_int = 62009;
1701pub const IONICON__CLOUD_UPLOAD_SHARP: ::std::os::raw::c_int = 62010;
1702pub const IONICON__CLOUDY: ::std::os::raw::c_int = 62011;
1703pub const IONICON__CLOUDY_NIGHT: ::std::os::raw::c_int = 62012;
1704pub const IONICON__CLOUDY_NIGHT_OUTLINE: ::std::os::raw::c_int = 62013;
1705pub const IONICON__CLOUDY_NIGHT_SHARP: ::std::os::raw::c_int = 62014;
1706pub const IONICON__CLOUDY_OUTLINE: ::std::os::raw::c_int = 62015;
1707pub const IONICON__CLOUDY_SHARP: ::std::os::raw::c_int = 62016;
1708pub const IONICON__CODE: ::std::os::raw::c_int = 62017;
1709pub const IONICON__CODE_DOWNLOAD: ::std::os::raw::c_int = 62018;
1710pub const IONICON__CODE_DOWNLOAD_OUTLINE: ::std::os::raw::c_int = 62019;
1711pub const IONICON__CODE_DOWNLOAD_SHARP: ::std::os::raw::c_int = 62020;
1712pub const IONICON__CODE_OUTLINE: ::std::os::raw::c_int = 62021;
1713pub const IONICON__CODE_SHARP: ::std::os::raw::c_int = 62022;
1714pub const IONICON__CODE_SLASH: ::std::os::raw::c_int = 62023;
1715pub const IONICON__CODE_SLASH_OUTLINE: ::std::os::raw::c_int = 62024;
1716pub const IONICON__CODE_SLASH_SHARP: ::std::os::raw::c_int = 62025;
1717pub const IONICON__CODE_WORKING: ::std::os::raw::c_int = 62026;
1718pub const IONICON__CODE_WORKING_OUTLINE: ::std::os::raw::c_int = 62027;
1719pub const IONICON__CODE_WORKING_SHARP: ::std::os::raw::c_int = 62028;
1720pub const IONICON__COG: ::std::os::raw::c_int = 62029;
1721pub const IONICON__COG_OUTLINE: ::std::os::raw::c_int = 62030;
1722pub const IONICON__COG_SHARP: ::std::os::raw::c_int = 62031;
1723pub const IONICON__COLOR_FILL: ::std::os::raw::c_int = 62032;
1724pub const IONICON__COLOR_FILL_OUTLINE: ::std::os::raw::c_int = 62033;
1725pub const IONICON__COLOR_FILL_SHARP: ::std::os::raw::c_int = 62034;
1726pub const IONICON__COLOR_FILTER: ::std::os::raw::c_int = 62035;
1727pub const IONICON__COLOR_FILTER_OUTLINE: ::std::os::raw::c_int = 62036;
1728pub const IONICON__COLOR_FILTER_SHARP: ::std::os::raw::c_int = 62037;
1729pub const IONICON__COLOR_PALETTE: ::std::os::raw::c_int = 62038;
1730pub const IONICON__COLOR_PALETTE_OUTLINE: ::std::os::raw::c_int = 62039;
1731pub const IONICON__COLOR_PALETTE_SHARP: ::std::os::raw::c_int = 62040;
1732pub const IONICON__COLOR_WAND: ::std::os::raw::c_int = 62041;
1733pub const IONICON__COLOR_WAND_OUTLINE: ::std::os::raw::c_int = 62042;
1734pub const IONICON__COLOR_WAND_SHARP: ::std::os::raw::c_int = 62043;
1735pub const IONICON__COMPASS: ::std::os::raw::c_int = 62044;
1736pub const IONICON__COMPASS_OUTLINE: ::std::os::raw::c_int = 62045;
1737pub const IONICON__COMPASS_SHARP: ::std::os::raw::c_int = 62046;
1738pub const IONICON__CONSTRUCT: ::std::os::raw::c_int = 62047;
1739pub const IONICON__CONSTRUCT_OUTLINE: ::std::os::raw::c_int = 62048;
1740pub const IONICON__CONSTRUCT_SHARP: ::std::os::raw::c_int = 62049;
1741pub const IONICON__CONTRACT: ::std::os::raw::c_int = 62050;
1742pub const IONICON__CONTRACT_OUTLINE: ::std::os::raw::c_int = 62051;
1743pub const IONICON__CONTRACT_SHARP: ::std::os::raw::c_int = 62052;
1744pub const IONICON__CONTRAST: ::std::os::raw::c_int = 62053;
1745pub const IONICON__CONTRAST_OUTLINE: ::std::os::raw::c_int = 62054;
1746pub const IONICON__CONTRAST_SHARP: ::std::os::raw::c_int = 62055;
1747pub const IONICON__COPY: ::std::os::raw::c_int = 62056;
1748pub const IONICON__COPY_OUTLINE: ::std::os::raw::c_int = 62057;
1749pub const IONICON__COPY_SHARP: ::std::os::raw::c_int = 62058;
1750pub const IONICON__CREATE: ::std::os::raw::c_int = 62059;
1751pub const IONICON__CREATE_OUTLINE: ::std::os::raw::c_int = 62060;
1752pub const IONICON__CREATE_SHARP: ::std::os::raw::c_int = 62061;
1753pub const IONICON__CROP: ::std::os::raw::c_int = 62062;
1754pub const IONICON__CROP_OUTLINE: ::std::os::raw::c_int = 62063;
1755pub const IONICON__CROP_SHARP: ::std::os::raw::c_int = 62064;
1756pub const IONICON__CUBE: ::std::os::raw::c_int = 62065;
1757pub const IONICON__CUBE_OUTLINE: ::std::os::raw::c_int = 62066;
1758pub const IONICON__CUBE_SHARP: ::std::os::raw::c_int = 62067;
1759pub const IONICON__CUT: ::std::os::raw::c_int = 62068;
1760pub const IONICON__CUT_OUTLINE: ::std::os::raw::c_int = 62069;
1761pub const IONICON__CUT_SHARP: ::std::os::raw::c_int = 62070;
1762pub const IONICON__DESKTOP: ::std::os::raw::c_int = 62071;
1763pub const IONICON__DESKTOP_OUTLINE: ::std::os::raw::c_int = 62072;
1764pub const IONICON__DESKTOP_SHARP: ::std::os::raw::c_int = 62073;
1765pub const IONICON__DISC: ::std::os::raw::c_int = 62074;
1766pub const IONICON__DISC_OUTLINE: ::std::os::raw::c_int = 62075;
1767pub const IONICON__DISC_SHARP: ::std::os::raw::c_int = 62076;
1768pub const IONICON__DOCUMENT: ::std::os::raw::c_int = 62077;
1769pub const IONICON__DOCUMENT_ATTACH: ::std::os::raw::c_int = 62078;
1770pub const IONICON__DOCUMENT_ATTACH_OUTLINE: ::std::os::raw::c_int = 62079;
1771pub const IONICON__DOCUMENT_ATTACH_SHARP: ::std::os::raw::c_int = 62080;
1772pub const IONICON__DOCUMENT_OUTLINE: ::std::os::raw::c_int = 62081;
1773pub const IONICON__DOCUMENT_SHARP: ::std::os::raw::c_int = 62082;
1774pub const IONICON__DOCUMENT_TEXT: ::std::os::raw::c_int = 62083;
1775pub const IONICON__DOCUMENT_TEXT_OUTLINE: ::std::os::raw::c_int = 62084;
1776pub const IONICON__DOCUMENT_TEXT_SHARP: ::std::os::raw::c_int = 62085;
1777pub const IONICON__DOCUMENTS: ::std::os::raw::c_int = 62086;
1778pub const IONICON__DOCUMENTS_OUTLINE: ::std::os::raw::c_int = 62087;
1779pub const IONICON__DOCUMENTS_SHARP: ::std::os::raw::c_int = 62088;
1780pub const IONICON__DOWNLOAD: ::std::os::raw::c_int = 62089;
1781pub const IONICON__DOWNLOAD_OUTLINE: ::std::os::raw::c_int = 62090;
1782pub const IONICON__DOWNLOAD_SHARP: ::std::os::raw::c_int = 62091;
1783pub const IONICON__DUPLICATE: ::std::os::raw::c_int = 62092;
1784pub const IONICON__DUPLICATE_OUTLINE: ::std::os::raw::c_int = 62093;
1785pub const IONICON__DUPLICATE_SHARP: ::std::os::raw::c_int = 62094;
1786pub const IONICON__EAR: ::std::os::raw::c_int = 62095;
1787pub const IONICON__EAR_OUTLINE: ::std::os::raw::c_int = 62096;
1788pub const IONICON__EAR_SHARP: ::std::os::raw::c_int = 62097;
1789pub const IONICON__EARTH: ::std::os::raw::c_int = 62098;
1790pub const IONICON__EARTH_OUTLINE: ::std::os::raw::c_int = 62099;
1791pub const IONICON__EARTH_SHARP: ::std::os::raw::c_int = 62100;
1792pub const IONICON__EASEL: ::std::os::raw::c_int = 62101;
1793pub const IONICON__EASEL_OUTLINE: ::std::os::raw::c_int = 62102;
1794pub const IONICON__EASEL_SHARP: ::std::os::raw::c_int = 62103;
1795pub const IONICON__EGG: ::std::os::raw::c_int = 62104;
1796pub const IONICON__EGG_OUTLINE: ::std::os::raw::c_int = 62105;
1797pub const IONICON__EGG_SHARP: ::std::os::raw::c_int = 62106;
1798pub const IONICON__ELLIPSE: ::std::os::raw::c_int = 62107;
1799pub const IONICON__ELLIPSE_OUTLINE: ::std::os::raw::c_int = 62108;
1800pub const IONICON__ELLIPSE_SHARP: ::std::os::raw::c_int = 62109;
1801pub const IONICON__ELLIPSIS_HORIZONTAL: ::std::os::raw::c_int = 62110;
1802pub const IONICON__ELLIPSIS_HORIZONTAL_CIRCLE: ::std::os::raw::c_int = 62111;
1803pub const IONICON__ELLIPSIS_HORIZONTAL_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62112;
1804pub const IONICON__ELLIPSIS_HORIZONTAL_CIRCLE_SHARP: ::std::os::raw::c_int = 62113;
1805pub const IONICON__ELLIPSIS_HORIZONTAL_OUTLINE: ::std::os::raw::c_int = 62114;
1806pub const IONICON__ELLIPSIS_HORIZONTAL_SHARP: ::std::os::raw::c_int = 62115;
1807pub const IONICON__ELLIPSIS_VERTICAL: ::std::os::raw::c_int = 62116;
1808pub const IONICON__ELLIPSIS_VERTICAL_CIRCLE: ::std::os::raw::c_int = 62117;
1809pub const IONICON__ELLIPSIS_VERTICAL_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62118;
1810pub const IONICON__ELLIPSIS_VERTICAL_CIRCLE_SHARP: ::std::os::raw::c_int = 62119;
1811pub const IONICON__ELLIPSIS_VERTICAL_OUTLINE: ::std::os::raw::c_int = 62120;
1812pub const IONICON__ELLIPSIS_VERTICAL_SHARP: ::std::os::raw::c_int = 62121;
1813pub const IONICON__ENTER: ::std::os::raw::c_int = 62122;
1814pub const IONICON__ENTER_OUTLINE: ::std::os::raw::c_int = 62123;
1815pub const IONICON__ENTER_SHARP: ::std::os::raw::c_int = 62124;
1816pub const IONICON__EXIT: ::std::os::raw::c_int = 62125;
1817pub const IONICON__EXIT_OUTLINE: ::std::os::raw::c_int = 62126;
1818pub const IONICON__EXIT_SHARP: ::std::os::raw::c_int = 62127;
1819pub const IONICON__EXPAND: ::std::os::raw::c_int = 62128;
1820pub const IONICON__EXPAND_OUTLINE: ::std::os::raw::c_int = 62129;
1821pub const IONICON__EXPAND_SHARP: ::std::os::raw::c_int = 62130;
1822pub const IONICON__EYE: ::std::os::raw::c_int = 62131;
1823pub const IONICON__EYE_OFF: ::std::os::raw::c_int = 62132;
1824pub const IONICON__EYE_OFF_OUTLINE: ::std::os::raw::c_int = 62133;
1825pub const IONICON__EYE_OFF_SHARP: ::std::os::raw::c_int = 62134;
1826pub const IONICON__EYE_OUTLINE: ::std::os::raw::c_int = 62135;
1827pub const IONICON__EYE_SHARP: ::std::os::raw::c_int = 62136;
1828pub const IONICON__EYEDROP: ::std::os::raw::c_int = 62137;
1829pub const IONICON__EYEDROP_OUTLINE: ::std::os::raw::c_int = 62138;
1830pub const IONICON__EYEDROP_SHARP: ::std::os::raw::c_int = 62139;
1831pub const IONICON__FAST_FOOD: ::std::os::raw::c_int = 62140;
1832pub const IONICON__FAST_FOOD_OUTLINE: ::std::os::raw::c_int = 62141;
1833pub const IONICON__FAST_FOOD_SHARP: ::std::os::raw::c_int = 62142;
1834pub const IONICON__FEMALE: ::std::os::raw::c_int = 62143;
1835pub const IONICON__FEMALE_OUTLINE: ::std::os::raw::c_int = 62144;
1836pub const IONICON__FEMALE_SHARP: ::std::os::raw::c_int = 62145;
1837pub const IONICON__FILE_TRAY: ::std::os::raw::c_int = 62146;
1838pub const IONICON__FILE_TRAY_FULL: ::std::os::raw::c_int = 62147;
1839pub const IONICON__FILE_TRAY_FULL_OUTLINE: ::std::os::raw::c_int = 62148;
1840pub const IONICON__FILE_TRAY_FULL_SHARP: ::std::os::raw::c_int = 62149;
1841pub const IONICON__FILE_TRAY_OUTLINE: ::std::os::raw::c_int = 62150;
1842pub const IONICON__FILE_TRAY_SHARP: ::std::os::raw::c_int = 62151;
1843pub const IONICON__FILE_TRAY_STACKED: ::std::os::raw::c_int = 62152;
1844pub const IONICON__FILE_TRAY_STACKED_OUTLINE: ::std::os::raw::c_int = 62153;
1845pub const IONICON__FILE_TRAY_STACKED_SHARP: ::std::os::raw::c_int = 62154;
1846pub const IONICON__FILM: ::std::os::raw::c_int = 62155;
1847pub const IONICON__FILM_OUTLINE: ::std::os::raw::c_int = 62156;
1848pub const IONICON__FILM_SHARP: ::std::os::raw::c_int = 62157;
1849pub const IONICON__FILTER: ::std::os::raw::c_int = 62158;
1850pub const IONICON__FILTER_OUTLINE: ::std::os::raw::c_int = 62159;
1851pub const IONICON__FILTER_SHARP: ::std::os::raw::c_int = 62160;
1852pub const IONICON__FINGER_PRINT: ::std::os::raw::c_int = 62161;
1853pub const IONICON__FINGER_PRINT_OUTLINE: ::std::os::raw::c_int = 62162;
1854pub const IONICON__FINGER_PRINT_SHARP: ::std::os::raw::c_int = 62163;
1855pub const IONICON__FITNESS: ::std::os::raw::c_int = 62164;
1856pub const IONICON__FITNESS_OUTLINE: ::std::os::raw::c_int = 62165;
1857pub const IONICON__FITNESS_SHARP: ::std::os::raw::c_int = 62166;
1858pub const IONICON__FLAG: ::std::os::raw::c_int = 62167;
1859pub const IONICON__FLAG_OUTLINE: ::std::os::raw::c_int = 62168;
1860pub const IONICON__FLAG_SHARP: ::std::os::raw::c_int = 62169;
1861pub const IONICON__FLAME: ::std::os::raw::c_int = 62170;
1862pub const IONICON__FLAME_OUTLINE: ::std::os::raw::c_int = 62171;
1863pub const IONICON__FLAME_SHARP: ::std::os::raw::c_int = 62172;
1864pub const IONICON__FLASH: ::std::os::raw::c_int = 62173;
1865pub const IONICON__FLASH_OFF: ::std::os::raw::c_int = 62174;
1866pub const IONICON__FLASH_OFF_OUTLINE: ::std::os::raw::c_int = 62175;
1867pub const IONICON__FLASH_OFF_SHARP: ::std::os::raw::c_int = 62176;
1868pub const IONICON__FLASH_OUTLINE: ::std::os::raw::c_int = 62177;
1869pub const IONICON__FLASH_SHARP: ::std::os::raw::c_int = 62178;
1870pub const IONICON__FLASHLIGHT: ::std::os::raw::c_int = 62179;
1871pub const IONICON__FLASHLIGHT_OUTLINE: ::std::os::raw::c_int = 62180;
1872pub const IONICON__FLASHLIGHT_SHARP: ::std::os::raw::c_int = 62181;
1873pub const IONICON__FLASK: ::std::os::raw::c_int = 62182;
1874pub const IONICON__FLASK_OUTLINE: ::std::os::raw::c_int = 62183;
1875pub const IONICON__FLASK_SHARP: ::std::os::raw::c_int = 62184;
1876pub const IONICON__FLOWER: ::std::os::raw::c_int = 62185;
1877pub const IONICON__FLOWER_OUTLINE: ::std::os::raw::c_int = 62186;
1878pub const IONICON__FLOWER_SHARP: ::std::os::raw::c_int = 62187;
1879pub const IONICON__FOLDER: ::std::os::raw::c_int = 62188;
1880pub const IONICON__FOLDER_OPEN: ::std::os::raw::c_int = 62189;
1881pub const IONICON__FOLDER_OPEN_OUTLINE: ::std::os::raw::c_int = 62190;
1882pub const IONICON__FOLDER_OPEN_SHARP: ::std::os::raw::c_int = 62191;
1883pub const IONICON__FOLDER_OUTLINE: ::std::os::raw::c_int = 62192;
1884pub const IONICON__FOLDER_SHARP: ::std::os::raw::c_int = 62193;
1885pub const IONICON__FOOTBALL: ::std::os::raw::c_int = 62194;
1886pub const IONICON__FOOTBALL_OUTLINE: ::std::os::raw::c_int = 62195;
1887pub const IONICON__FOOTBALL_SHARP: ::std::os::raw::c_int = 62196;
1888pub const IONICON__FUNNEL: ::std::os::raw::c_int = 62197;
1889pub const IONICON__FUNNEL_OUTLINE: ::std::os::raw::c_int = 62198;
1890pub const IONICON__FUNNEL_SHARP: ::std::os::raw::c_int = 62199;
1891pub const IONICON__GAME_CONTROLLER: ::std::os::raw::c_int = 62200;
1892pub const IONICON__GAME_CONTROLLER_OUTLINE: ::std::os::raw::c_int = 62201;
1893pub const IONICON__GAME_CONTROLLER_SHARP: ::std::os::raw::c_int = 62202;
1894pub const IONICON__GIFT: ::std::os::raw::c_int = 62203;
1895pub const IONICON__GIFT_OUTLINE: ::std::os::raw::c_int = 62204;
1896pub const IONICON__GIFT_SHARP: ::std::os::raw::c_int = 62205;
1897pub const IONICON__GIT_BRANCH: ::std::os::raw::c_int = 62206;
1898pub const IONICON__GIT_BRANCH_OUTLINE: ::std::os::raw::c_int = 62207;
1899pub const IONICON__GIT_BRANCH_SHARP: ::std::os::raw::c_int = 62208;
1900pub const IONICON__GIT_COMMIT: ::std::os::raw::c_int = 62209;
1901pub const IONICON__GIT_COMMIT_OUTLINE: ::std::os::raw::c_int = 62210;
1902pub const IONICON__GIT_COMMIT_SHARP: ::std::os::raw::c_int = 62211;
1903pub const IONICON__GIT_COMPARE: ::std::os::raw::c_int = 62212;
1904pub const IONICON__GIT_COMPARE_OUTLINE: ::std::os::raw::c_int = 62213;
1905pub const IONICON__GIT_COMPARE_SHARP: ::std::os::raw::c_int = 62214;
1906pub const IONICON__GIT_MERGE: ::std::os::raw::c_int = 62215;
1907pub const IONICON__GIT_MERGE_OUTLINE: ::std::os::raw::c_int = 62216;
1908pub const IONICON__GIT_MERGE_SHARP: ::std::os::raw::c_int = 62217;
1909pub const IONICON__GIT_NETWORK: ::std::os::raw::c_int = 62218;
1910pub const IONICON__GIT_NETWORK_OUTLINE: ::std::os::raw::c_int = 62219;
1911pub const IONICON__GIT_NETWORK_SHARP: ::std::os::raw::c_int = 62220;
1912pub const IONICON__GIT_PULL_REQUEST: ::std::os::raw::c_int = 62221;
1913pub const IONICON__GIT_PULL_REQUEST_OUTLINE: ::std::os::raw::c_int = 62222;
1914pub const IONICON__GIT_PULL_REQUEST_SHARP: ::std::os::raw::c_int = 62223;
1915pub const IONICON__GLASSES: ::std::os::raw::c_int = 62224;
1916pub const IONICON__GLASSES_OUTLINE: ::std::os::raw::c_int = 62225;
1917pub const IONICON__GLASSES_SHARP: ::std::os::raw::c_int = 62226;
1918pub const IONICON__GLOBE: ::std::os::raw::c_int = 62227;
1919pub const IONICON__GLOBE_OUTLINE: ::std::os::raw::c_int = 62228;
1920pub const IONICON__GLOBE_SHARP: ::std::os::raw::c_int = 62229;
1921pub const IONICON__GOLF: ::std::os::raw::c_int = 62230;
1922pub const IONICON__GOLF_OUTLINE: ::std::os::raw::c_int = 62231;
1923pub const IONICON__GOLF_SHARP: ::std::os::raw::c_int = 62232;
1924pub const IONICON__GRID: ::std::os::raw::c_int = 62233;
1925pub const IONICON__GRID_OUTLINE: ::std::os::raw::c_int = 62234;
1926pub const IONICON__GRID_SHARP: ::std::os::raw::c_int = 62235;
1927pub const IONICON__HAMMER: ::std::os::raw::c_int = 62236;
1928pub const IONICON__HAMMER_OUTLINE: ::std::os::raw::c_int = 62237;
1929pub const IONICON__HAMMER_SHARP: ::std::os::raw::c_int = 62238;
1930pub const IONICON__HAND_LEFT: ::std::os::raw::c_int = 62239;
1931pub const IONICON__HAND_LEFT_OUTLINE: ::std::os::raw::c_int = 62240;
1932pub const IONICON__HAND_LEFT_SHARP: ::std::os::raw::c_int = 62241;
1933pub const IONICON__HAND_RIGHT: ::std::os::raw::c_int = 62242;
1934pub const IONICON__HAND_RIGHT_OUTLINE: ::std::os::raw::c_int = 62243;
1935pub const IONICON__HAND_RIGHT_SHARP: ::std::os::raw::c_int = 62244;
1936pub const IONICON__HAPPY: ::std::os::raw::c_int = 62245;
1937pub const IONICON__HAPPY_OUTLINE: ::std::os::raw::c_int = 62246;
1938pub const IONICON__HAPPY_SHARP: ::std::os::raw::c_int = 62247;
1939pub const IONICON__HARDWARE_CHIP: ::std::os::raw::c_int = 62248;
1940pub const IONICON__HARDWARE_CHIP_OUTLINE: ::std::os::raw::c_int = 62249;
1941pub const IONICON__HARDWARE_CHIP_SHARP: ::std::os::raw::c_int = 62250;
1942pub const IONICON__HEADSET: ::std::os::raw::c_int = 62251;
1943pub const IONICON__HEADSET_OUTLINE: ::std::os::raw::c_int = 62252;
1944pub const IONICON__HEADSET_SHARP: ::std::os::raw::c_int = 62253;
1945pub const IONICON__HEART: ::std::os::raw::c_int = 62254;
1946pub const IONICON__HEART_CIRCLE: ::std::os::raw::c_int = 62255;
1947pub const IONICON__HEART_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62256;
1948pub const IONICON__HEART_CIRCLE_SHARP: ::std::os::raw::c_int = 62257;
1949pub const IONICON__HEART_DISLIKE: ::std::os::raw::c_int = 62258;
1950pub const IONICON__HEART_DISLIKE_CIRCLE: ::std::os::raw::c_int = 62259;
1951pub const IONICON__HEART_DISLIKE_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62260;
1952pub const IONICON__HEART_DISLIKE_CIRCLE_SHARP: ::std::os::raw::c_int = 62261;
1953pub const IONICON__HEART_DISLIKE_OUTLINE: ::std::os::raw::c_int = 62262;
1954pub const IONICON__HEART_DISLIKE_SHARP: ::std::os::raw::c_int = 62263;
1955pub const IONICON__HEART_HALF: ::std::os::raw::c_int = 62264;
1956pub const IONICON__HEART_HALF_OUTLINE: ::std::os::raw::c_int = 62265;
1957pub const IONICON__HEART_HALF_SHARP: ::std::os::raw::c_int = 62266;
1958pub const IONICON__HEART_OUTLINE: ::std::os::raw::c_int = 62267;
1959pub const IONICON__HEART_SHARP: ::std::os::raw::c_int = 62268;
1960pub const IONICON__HELP: ::std::os::raw::c_int = 62269;
1961pub const IONICON__HELP_BUOY: ::std::os::raw::c_int = 62270;
1962pub const IONICON__HELP_BUOY_OUTLINE: ::std::os::raw::c_int = 62271;
1963pub const IONICON__HELP_BUOY_SHARP: ::std::os::raw::c_int = 62272;
1964pub const IONICON__HELP_CIRCLE: ::std::os::raw::c_int = 62273;
1965pub const IONICON__HELP_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62274;
1966pub const IONICON__HELP_CIRCLE_SHARP: ::std::os::raw::c_int = 62275;
1967pub const IONICON__HELP_OUTLINE: ::std::os::raw::c_int = 62276;
1968pub const IONICON__HELP_SHARP: ::std::os::raw::c_int = 62277;
1969pub const IONICON__HOME: ::std::os::raw::c_int = 62278;
1970pub const IONICON__HOME_OUTLINE: ::std::os::raw::c_int = 62279;
1971pub const IONICON__HOME_SHARP: ::std::os::raw::c_int = 62280;
1972pub const IONICON__HOURGLASS: ::std::os::raw::c_int = 62281;
1973pub const IONICON__HOURGLASS_OUTLINE: ::std::os::raw::c_int = 62282;
1974pub const IONICON__HOURGLASS_SHARP: ::std::os::raw::c_int = 62283;
1975pub const IONICON__ICE_CREAM: ::std::os::raw::c_int = 62284;
1976pub const IONICON__ICE_CREAM_OUTLINE: ::std::os::raw::c_int = 62285;
1977pub const IONICON__ICE_CREAM_SHARP: ::std::os::raw::c_int = 62286;
1978pub const IONICON__IMAGE: ::std::os::raw::c_int = 62287;
1979pub const IONICON__IMAGE_OUTLINE: ::std::os::raw::c_int = 62288;
1980pub const IONICON__IMAGE_SHARP: ::std::os::raw::c_int = 62289;
1981pub const IONICON__IMAGES: ::std::os::raw::c_int = 62290;
1982pub const IONICON__IMAGES_OUTLINE: ::std::os::raw::c_int = 62291;
1983pub const IONICON__IMAGES_SHARP: ::std::os::raw::c_int = 62292;
1984pub const IONICON__INFINITE: ::std::os::raw::c_int = 62293;
1985pub const IONICON__INFINITE_OUTLINE: ::std::os::raw::c_int = 62294;
1986pub const IONICON__INFINITE_SHARP: ::std::os::raw::c_int = 62295;
1987pub const IONICON__INFORMATION: ::std::os::raw::c_int = 62296;
1988pub const IONICON__INFORMATION_CIRCLE: ::std::os::raw::c_int = 62297;
1989pub const IONICON__INFORMATION_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62298;
1990pub const IONICON__INFORMATION_CIRCLE_SHARP: ::std::os::raw::c_int = 62299;
1991pub const IONICON__INFORMATION_OUTLINE: ::std::os::raw::c_int = 62300;
1992pub const IONICON__INFORMATION_SHARP: ::std::os::raw::c_int = 62301;
1993pub const IONICON__JOURNAL: ::std::os::raw::c_int = 62302;
1994pub const IONICON__JOURNAL_OUTLINE: ::std::os::raw::c_int = 62303;
1995pub const IONICON__JOURNAL_SHARP: ::std::os::raw::c_int = 62304;
1996pub const IONICON__KEY: ::std::os::raw::c_int = 62305;
1997pub const IONICON__KEY_OUTLINE: ::std::os::raw::c_int = 62306;
1998pub const IONICON__KEY_SHARP: ::std::os::raw::c_int = 62307;
1999pub const IONICON__KEYPAD: ::std::os::raw::c_int = 62308;
2000pub const IONICON__KEYPAD_OUTLINE: ::std::os::raw::c_int = 62309;
2001pub const IONICON__KEYPAD_SHARP: ::std::os::raw::c_int = 62310;
2002pub const IONICON__LANGUAGE: ::std::os::raw::c_int = 62311;
2003pub const IONICON__LANGUAGE_OUTLINE: ::std::os::raw::c_int = 62312;
2004pub const IONICON__LANGUAGE_SHARP: ::std::os::raw::c_int = 62313;
2005pub const IONICON__LAPTOP: ::std::os::raw::c_int = 62314;
2006pub const IONICON__LAPTOP_OUTLINE: ::std::os::raw::c_int = 62315;
2007pub const IONICON__LAPTOP_SHARP: ::std::os::raw::c_int = 62316;
2008pub const IONICON__LAYERS: ::std::os::raw::c_int = 62317;
2009pub const IONICON__LAYERS_OUTLINE: ::std::os::raw::c_int = 62318;
2010pub const IONICON__LAYERS_SHARP: ::std::os::raw::c_int = 62319;
2011pub const IONICON__LEAF: ::std::os::raw::c_int = 62320;
2012pub const IONICON__LEAF_OUTLINE: ::std::os::raw::c_int = 62321;
2013pub const IONICON__LEAF_SHARP: ::std::os::raw::c_int = 62322;
2014pub const IONICON__LIBRARY: ::std::os::raw::c_int = 62323;
2015pub const IONICON__LIBRARY_OUTLINE: ::std::os::raw::c_int = 62324;
2016pub const IONICON__LIBRARY_SHARP: ::std::os::raw::c_int = 62325;
2017pub const IONICON__LINK: ::std::os::raw::c_int = 62326;
2018pub const IONICON__LINK_OUTLINE: ::std::os::raw::c_int = 62327;
2019pub const IONICON__LINK_SHARP: ::std::os::raw::c_int = 62328;
2020pub const IONICON__LIST: ::std::os::raw::c_int = 62329;
2021pub const IONICON__LIST_CIRCLE: ::std::os::raw::c_int = 62330;
2022pub const IONICON__LIST_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62331;
2023pub const IONICON__LIST_CIRCLE_SHARP: ::std::os::raw::c_int = 62332;
2024pub const IONICON__LIST_OUTLINE: ::std::os::raw::c_int = 62333;
2025pub const IONICON__LIST_SHARP: ::std::os::raw::c_int = 62334;
2026pub const IONICON__LOCATE: ::std::os::raw::c_int = 62335;
2027pub const IONICON__LOCATE_OUTLINE: ::std::os::raw::c_int = 62336;
2028pub const IONICON__LOCATE_SHARP: ::std::os::raw::c_int = 62337;
2029pub const IONICON__LOCATION: ::std::os::raw::c_int = 62338;
2030pub const IONICON__LOCATION_OUTLINE: ::std::os::raw::c_int = 62339;
2031pub const IONICON__LOCATION_SHARP: ::std::os::raw::c_int = 62340;
2032pub const IONICON__LOCK_CLOSED: ::std::os::raw::c_int = 62341;
2033pub const IONICON__LOCK_CLOSED_OUTLINE: ::std::os::raw::c_int = 62342;
2034pub const IONICON__LOCK_CLOSED_SHARP: ::std::os::raw::c_int = 62343;
2035pub const IONICON__LOCK_OPEN: ::std::os::raw::c_int = 62344;
2036pub const IONICON__LOCK_OPEN_OUTLINE: ::std::os::raw::c_int = 62345;
2037pub const IONICON__LOCK_OPEN_SHARP: ::std::os::raw::c_int = 62346;
2038pub const IONICON__LOG_IN: ::std::os::raw::c_int = 62347;
2039pub const IONICON__LOG_IN_OUTLINE: ::std::os::raw::c_int = 62348;
2040pub const IONICON__LOG_IN_SHARP: ::std::os::raw::c_int = 62349;
2041pub const IONICON__LOG_OUT: ::std::os::raw::c_int = 62350;
2042pub const IONICON__LOG_OUT_OUTLINE: ::std::os::raw::c_int = 62351;
2043pub const IONICON__LOG_OUT_SHARP: ::std::os::raw::c_int = 62352;
2044pub const IONICON__LOGO_AMAZON: ::std::os::raw::c_int = 62353;
2045pub const IONICON__LOGO_AMPLIFY: ::std::os::raw::c_int = 62354;
2046pub const IONICON__LOGO_ANDROID: ::std::os::raw::c_int = 62355;
2047pub const IONICON__LOGO_ANGULAR: ::std::os::raw::c_int = 62356;
2048pub const IONICON__LOGO_APPLE: ::std::os::raw::c_int = 62357;
2049pub const IONICON__LOGO_APPLE_APPSTORE: ::std::os::raw::c_int = 62358;
2050pub const IONICON__LOGO_BITBUCKET: ::std::os::raw::c_int = 62359;
2051pub const IONICON__LOGO_BITCOIN: ::std::os::raw::c_int = 62360;
2052pub const IONICON__LOGO_BUFFER: ::std::os::raw::c_int = 62361;
2053pub const IONICON__LOGO_CAPACITOR: ::std::os::raw::c_int = 62362;
2054pub const IONICON__LOGO_CHROME: ::std::os::raw::c_int = 62363;
2055pub const IONICON__LOGO_CLOSED_CAPTIONING: ::std::os::raw::c_int = 62364;
2056pub const IONICON__LOGO_CODEPEN: ::std::os::raw::c_int = 62365;
2057pub const IONICON__LOGO_CSS3: ::std::os::raw::c_int = 62366;
2058pub const IONICON__LOGO_DESIGNERNEWS: ::std::os::raw::c_int = 62367;
2059pub const IONICON__LOGO_DRIBBBLE: ::std::os::raw::c_int = 62368;
2060pub const IONICON__LOGO_DROPBOX: ::std::os::raw::c_int = 62369;
2061pub const IONICON__LOGO_EDGE: ::std::os::raw::c_int = 62370;
2062pub const IONICON__LOGO_ELECTRON: ::std::os::raw::c_int = 62371;
2063pub const IONICON__LOGO_EURO: ::std::os::raw::c_int = 62372;
2064pub const IONICON__LOGO_FACEBOOK: ::std::os::raw::c_int = 62373;
2065pub const IONICON__LOGO_FIREBASE: ::std::os::raw::c_int = 62374;
2066pub const IONICON__LOGO_FIREFOX: ::std::os::raw::c_int = 62375;
2067pub const IONICON__LOGO_FLICKR: ::std::os::raw::c_int = 62376;
2068pub const IONICON__LOGO_FOURSQUARE: ::std::os::raw::c_int = 62377;
2069pub const IONICON__LOGO_GITHUB: ::std::os::raw::c_int = 62378;
2070pub const IONICON__LOGO_GOOGLE: ::std::os::raw::c_int = 62379;
2071pub const IONICON__LOGO_GOOGLE_PLAYSTORE: ::std::os::raw::c_int = 62380;
2072pub const IONICON__LOGO_HACKERNEWS: ::std::os::raw::c_int = 62381;
2073pub const IONICON__LOGO_HTML5: ::std::os::raw::c_int = 62382;
2074pub const IONICON__LOGO_INSTAGRAM: ::std::os::raw::c_int = 62383;
2075pub const IONICON__LOGO_IONIC: ::std::os::raw::c_int = 62384;
2076pub const IONICON__LOGO_IONITRON: ::std::os::raw::c_int = 62385;
2077pub const IONICON__LOGO_JAVASCRIPT: ::std::os::raw::c_int = 62386;
2078pub const IONICON__LOGO_LARAVEL: ::std::os::raw::c_int = 62387;
2079pub const IONICON__LOGO_LINKEDIN: ::std::os::raw::c_int = 62388;
2080pub const IONICON__LOGO_MARKDOWN: ::std::os::raw::c_int = 62389;
2081pub const IONICON__LOGO_NO_SMOKING: ::std::os::raw::c_int = 62390;
2082pub const IONICON__LOGO_NODEJS: ::std::os::raw::c_int = 62391;
2083pub const IONICON__LOGO_NPM: ::std::os::raw::c_int = 62392;
2084pub const IONICON__LOGO_OCTOCAT: ::std::os::raw::c_int = 62393;
2085pub const IONICON__LOGO_PINTEREST: ::std::os::raw::c_int = 62394;
2086pub const IONICON__LOGO_PLAYSTATION: ::std::os::raw::c_int = 62395;
2087pub const IONICON__LOGO_PWA: ::std::os::raw::c_int = 62396;
2088pub const IONICON__LOGO_PYTHON: ::std::os::raw::c_int = 62397;
2089pub const IONICON__LOGO_REACT: ::std::os::raw::c_int = 62398;
2090pub const IONICON__LOGO_REDDIT: ::std::os::raw::c_int = 62399;
2091pub const IONICON__LOGO_RSS: ::std::os::raw::c_int = 62400;
2092pub const IONICON__LOGO_SASS: ::std::os::raw::c_int = 62401;
2093pub const IONICON__LOGO_SKYPE: ::std::os::raw::c_int = 62402;
2094pub const IONICON__LOGO_SLACK: ::std::os::raw::c_int = 62403;
2095pub const IONICON__LOGO_SNAPCHAT: ::std::os::raw::c_int = 62404;
2096pub const IONICON__LOGO_STACKOVERFLOW: ::std::os::raw::c_int = 62405;
2097pub const IONICON__LOGO_STEAM: ::std::os::raw::c_int = 62406;
2098pub const IONICON__LOGO_STENCIL: ::std::os::raw::c_int = 62407;
2099pub const IONICON__LOGO_TUMBLR: ::std::os::raw::c_int = 62408;
2100pub const IONICON__LOGO_TUX: ::std::os::raw::c_int = 62409;
2101pub const IONICON__LOGO_TWITCH: ::std::os::raw::c_int = 62410;
2102pub const IONICON__LOGO_TWITTER: ::std::os::raw::c_int = 62411;
2103pub const IONICON__LOGO_USD: ::std::os::raw::c_int = 62412;
2104pub const IONICON__LOGO_VIMEO: ::std::os::raw::c_int = 62413;
2105pub const IONICON__LOGO_VK: ::std::os::raw::c_int = 62414;
2106pub const IONICON__LOGO_VUE: ::std::os::raw::c_int = 62415;
2107pub const IONICON__LOGO_WEB_COMPONENT: ::std::os::raw::c_int = 62416;
2108pub const IONICON__LOGO_WHATSAPP: ::std::os::raw::c_int = 62417;
2109pub const IONICON__LOGO_WINDOWS: ::std::os::raw::c_int = 62418;
2110pub const IONICON__LOGO_WORDPRESS: ::std::os::raw::c_int = 62419;
2111pub const IONICON__LOGO_XBOX: ::std::os::raw::c_int = 62420;
2112pub const IONICON__LOGO_XING: ::std::os::raw::c_int = 62421;
2113pub const IONICON__LOGO_YAHOO: ::std::os::raw::c_int = 62422;
2114pub const IONICON__LOGO_YEN: ::std::os::raw::c_int = 62423;
2115pub const IONICON__LOGO_YOUTUBE: ::std::os::raw::c_int = 62424;
2116pub const IONICON__MAGNET: ::std::os::raw::c_int = 62425;
2117pub const IONICON__MAGNET_OUTLINE: ::std::os::raw::c_int = 62426;
2118pub const IONICON__MAGNET_SHARP: ::std::os::raw::c_int = 62427;
2119pub const IONICON__MAIL: ::std::os::raw::c_int = 62428;
2120pub const IONICON__MAIL_OPEN: ::std::os::raw::c_int = 62429;
2121pub const IONICON__MAIL_OPEN_OUTLINE: ::std::os::raw::c_int = 62430;
2122pub const IONICON__MAIL_OPEN_SHARP: ::std::os::raw::c_int = 62431;
2123pub const IONICON__MAIL_OUTLINE: ::std::os::raw::c_int = 62432;
2124pub const IONICON__MAIL_SHARP: ::std::os::raw::c_int = 62433;
2125pub const IONICON__MAIL_UNREAD: ::std::os::raw::c_int = 62434;
2126pub const IONICON__MAIL_UNREAD_OUTLINE: ::std::os::raw::c_int = 62435;
2127pub const IONICON__MAIL_UNREAD_SHARP: ::std::os::raw::c_int = 62436;
2128pub const IONICON__MALE: ::std::os::raw::c_int = 62437;
2129pub const IONICON__MALE_FEMALE: ::std::os::raw::c_int = 62438;
2130pub const IONICON__MALE_FEMALE_OUTLINE: ::std::os::raw::c_int = 62439;
2131pub const IONICON__MALE_FEMALE_SHARP: ::std::os::raw::c_int = 62440;
2132pub const IONICON__MALE_OUTLINE: ::std::os::raw::c_int = 62441;
2133pub const IONICON__MALE_SHARP: ::std::os::raw::c_int = 62442;
2134pub const IONICON__MAN: ::std::os::raw::c_int = 62443;
2135pub const IONICON__MAN_OUTLINE: ::std::os::raw::c_int = 62444;
2136pub const IONICON__MAN_SHARP: ::std::os::raw::c_int = 62445;
2137pub const IONICON__MAP: ::std::os::raw::c_int = 62446;
2138pub const IONICON__MAP_OUTLINE: ::std::os::raw::c_int = 62447;
2139pub const IONICON__MAP_SHARP: ::std::os::raw::c_int = 62448;
2140pub const IONICON__MEDAL: ::std::os::raw::c_int = 62449;
2141pub const IONICON__MEDAL_OUTLINE: ::std::os::raw::c_int = 62450;
2142pub const IONICON__MEDAL_SHARP: ::std::os::raw::c_int = 62451;
2143pub const IONICON__MEDICAL: ::std::os::raw::c_int = 62452;
2144pub const IONICON__MEDICAL_OUTLINE: ::std::os::raw::c_int = 62453;
2145pub const IONICON__MEDICAL_SHARP: ::std::os::raw::c_int = 62454;
2146pub const IONICON__MEDKIT: ::std::os::raw::c_int = 62455;
2147pub const IONICON__MEDKIT_OUTLINE: ::std::os::raw::c_int = 62456;
2148pub const IONICON__MEDKIT_SHARP: ::std::os::raw::c_int = 62457;
2149pub const IONICON__MEGAPHONE: ::std::os::raw::c_int = 62458;
2150pub const IONICON__MEGAPHONE_OUTLINE: ::std::os::raw::c_int = 62459;
2151pub const IONICON__MEGAPHONE_SHARP: ::std::os::raw::c_int = 62460;
2152pub const IONICON__MENU: ::std::os::raw::c_int = 62461;
2153pub const IONICON__MENU_OUTLINE: ::std::os::raw::c_int = 62462;
2154pub const IONICON__MENU_SHARP: ::std::os::raw::c_int = 62463;
2155pub const IONICON__MIC: ::std::os::raw::c_int = 62464;
2156pub const IONICON__MIC_CIRCLE: ::std::os::raw::c_int = 62465;
2157pub const IONICON__MIC_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62466;
2158pub const IONICON__MIC_CIRCLE_SHARP: ::std::os::raw::c_int = 62467;
2159pub const IONICON__MIC_OFF: ::std::os::raw::c_int = 62468;
2160pub const IONICON__MIC_OFF_CIRCLE: ::std::os::raw::c_int = 62469;
2161pub const IONICON__MIC_OFF_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62470;
2162pub const IONICON__MIC_OFF_CIRCLE_SHARP: ::std::os::raw::c_int = 62471;
2163pub const IONICON__MIC_OFF_OUTLINE: ::std::os::raw::c_int = 62472;
2164pub const IONICON__MIC_OFF_SHARP: ::std::os::raw::c_int = 62473;
2165pub const IONICON__MIC_OUTLINE: ::std::os::raw::c_int = 62474;
2166pub const IONICON__MIC_SHARP: ::std::os::raw::c_int = 62475;
2167pub const IONICON__MOON: ::std::os::raw::c_int = 62476;
2168pub const IONICON__MOON_OUTLINE: ::std::os::raw::c_int = 62477;
2169pub const IONICON__MOON_SHARP: ::std::os::raw::c_int = 62478;
2170pub const IONICON__MOVE: ::std::os::raw::c_int = 62479;
2171pub const IONICON__MOVE_OUTLINE: ::std::os::raw::c_int = 62480;
2172pub const IONICON__MOVE_SHARP: ::std::os::raw::c_int = 62481;
2173pub const IONICON__MUSICAL_NOTE: ::std::os::raw::c_int = 62482;
2174pub const IONICON__MUSICAL_NOTE_OUTLINE: ::std::os::raw::c_int = 62483;
2175pub const IONICON__MUSICAL_NOTE_SHARP: ::std::os::raw::c_int = 62484;
2176pub const IONICON__MUSICAL_NOTES: ::std::os::raw::c_int = 62485;
2177pub const IONICON__MUSICAL_NOTES_OUTLINE: ::std::os::raw::c_int = 62486;
2178pub const IONICON__MUSICAL_NOTES_SHARP: ::std::os::raw::c_int = 62487;
2179pub const IONICON__NAVIGATE: ::std::os::raw::c_int = 62488;
2180pub const IONICON__NAVIGATE_CIRCLE: ::std::os::raw::c_int = 62489;
2181pub const IONICON__NAVIGATE_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62490;
2182pub const IONICON__NAVIGATE_CIRCLE_SHARP: ::std::os::raw::c_int = 62491;
2183pub const IONICON__NAVIGATE_OUTLINE: ::std::os::raw::c_int = 62492;
2184pub const IONICON__NAVIGATE_SHARP: ::std::os::raw::c_int = 62493;
2185pub const IONICON__NEWSPAPER: ::std::os::raw::c_int = 62494;
2186pub const IONICON__NEWSPAPER_OUTLINE: ::std::os::raw::c_int = 62495;
2187pub const IONICON__NEWSPAPER_SHARP: ::std::os::raw::c_int = 62496;
2188pub const IONICON__NOTIFICATIONS: ::std::os::raw::c_int = 62497;
2189pub const IONICON__NOTIFICATIONS_CIRCLE: ::std::os::raw::c_int = 62498;
2190pub const IONICON__NOTIFICATIONS_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62499;
2191pub const IONICON__NOTIFICATIONS_CIRCLE_SHARP: ::std::os::raw::c_int = 62500;
2192pub const IONICON__NOTIFICATIONS_OFF: ::std::os::raw::c_int = 62501;
2193pub const IONICON__NOTIFICATIONS_OFF_CIRCLE: ::std::os::raw::c_int = 62502;
2194pub const IONICON__NOTIFICATIONS_OFF_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62503;
2195pub const IONICON__NOTIFICATIONS_OFF_CIRCLE_SHARP: ::std::os::raw::c_int = 62504;
2196pub const IONICON__NOTIFICATIONS_OFF_OUTLINE: ::std::os::raw::c_int = 62505;
2197pub const IONICON__NOTIFICATIONS_OFF_SHARP: ::std::os::raw::c_int = 62506;
2198pub const IONICON__NOTIFICATIONS_OUTLINE: ::std::os::raw::c_int = 62507;
2199pub const IONICON__NOTIFICATIONS_SHARP: ::std::os::raw::c_int = 62508;
2200pub const IONICON__NUCLEAR: ::std::os::raw::c_int = 62509;
2201pub const IONICON__NUCLEAR_OUTLINE: ::std::os::raw::c_int = 62510;
2202pub const IONICON__NUCLEAR_SHARP: ::std::os::raw::c_int = 62511;
2203pub const IONICON__NUTRITION: ::std::os::raw::c_int = 62512;
2204pub const IONICON__NUTRITION_OUTLINE: ::std::os::raw::c_int = 62513;
2205pub const IONICON__NUTRITION_SHARP: ::std::os::raw::c_int = 62514;
2206pub const IONICON__OPEN: ::std::os::raw::c_int = 62515;
2207pub const IONICON__OPEN_OUTLINE: ::std::os::raw::c_int = 62516;
2208pub const IONICON__OPEN_SHARP: ::std::os::raw::c_int = 62517;
2209pub const IONICON__OPTIONS: ::std::os::raw::c_int = 62518;
2210pub const IONICON__OPTIONS_OUTLINE: ::std::os::raw::c_int = 62519;
2211pub const IONICON__OPTIONS_SHARP: ::std::os::raw::c_int = 62520;
2212pub const IONICON__PAPER_PLANE: ::std::os::raw::c_int = 62521;
2213pub const IONICON__PAPER_PLANE_OUTLINE: ::std::os::raw::c_int = 62522;
2214pub const IONICON__PAPER_PLANE_SHARP: ::std::os::raw::c_int = 62523;
2215pub const IONICON__PARTLY_SUNNY: ::std::os::raw::c_int = 62524;
2216pub const IONICON__PARTLY_SUNNY_OUTLINE: ::std::os::raw::c_int = 62525;
2217pub const IONICON__PARTLY_SUNNY_SHARP: ::std::os::raw::c_int = 62526;
2218pub const IONICON__PAUSE: ::std::os::raw::c_int = 62527;
2219pub const IONICON__PAUSE_CIRCLE: ::std::os::raw::c_int = 62528;
2220pub const IONICON__PAUSE_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62529;
2221pub const IONICON__PAUSE_CIRCLE_SHARP: ::std::os::raw::c_int = 62530;
2222pub const IONICON__PAUSE_OUTLINE: ::std::os::raw::c_int = 62531;
2223pub const IONICON__PAUSE_SHARP: ::std::os::raw::c_int = 62532;
2224pub const IONICON__PAW: ::std::os::raw::c_int = 62533;
2225pub const IONICON__PAW_OUTLINE: ::std::os::raw::c_int = 62534;
2226pub const IONICON__PAW_SHARP: ::std::os::raw::c_int = 62535;
2227pub const IONICON__PENCIL: ::std::os::raw::c_int = 62536;
2228pub const IONICON__PENCIL_OUTLINE: ::std::os::raw::c_int = 62537;
2229pub const IONICON__PENCIL_SHARP: ::std::os::raw::c_int = 62538;
2230pub const IONICON__PEOPLE: ::std::os::raw::c_int = 62539;
2231pub const IONICON__PEOPLE_CIRCLE: ::std::os::raw::c_int = 62540;
2232pub const IONICON__PEOPLE_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62541;
2233pub const IONICON__PEOPLE_CIRCLE_SHARP: ::std::os::raw::c_int = 62542;
2234pub const IONICON__PEOPLE_OUTLINE: ::std::os::raw::c_int = 62543;
2235pub const IONICON__PEOPLE_SHARP: ::std::os::raw::c_int = 62544;
2236pub const IONICON__PERSON: ::std::os::raw::c_int = 62545;
2237pub const IONICON__PERSON_ADD: ::std::os::raw::c_int = 62546;
2238pub const IONICON__PERSON_ADD_OUTLINE: ::std::os::raw::c_int = 62547;
2239pub const IONICON__PERSON_ADD_SHARP: ::std::os::raw::c_int = 62548;
2240pub const IONICON__PERSON_CIRCLE: ::std::os::raw::c_int = 62549;
2241pub const IONICON__PERSON_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62550;
2242pub const IONICON__PERSON_CIRCLE_SHARP: ::std::os::raw::c_int = 62551;
2243pub const IONICON__PERSON_OUTLINE: ::std::os::raw::c_int = 62552;
2244pub const IONICON__PERSON_REMOVE: ::std::os::raw::c_int = 62553;
2245pub const IONICON__PERSON_REMOVE_OUTLINE: ::std::os::raw::c_int = 62554;
2246pub const IONICON__PERSON_REMOVE_SHARP: ::std::os::raw::c_int = 62555;
2247pub const IONICON__PERSON_SHARP: ::std::os::raw::c_int = 62556;
2248pub const IONICON__PHONE_LANDSCAPE: ::std::os::raw::c_int = 62557;
2249pub const IONICON__PHONE_LANDSCAPE_OUTLINE: ::std::os::raw::c_int = 62558;
2250pub const IONICON__PHONE_LANDSCAPE_SHARP: ::std::os::raw::c_int = 62559;
2251pub const IONICON__PHONE_PORTRAIT: ::std::os::raw::c_int = 62560;
2252pub const IONICON__PHONE_PORTRAIT_OUTLINE: ::std::os::raw::c_int = 62561;
2253pub const IONICON__PHONE_PORTRAIT_SHARP: ::std::os::raw::c_int = 62562;
2254pub const IONICON__PIE_CHART: ::std::os::raw::c_int = 62563;
2255pub const IONICON__PIE_CHART_OUTLINE: ::std::os::raw::c_int = 62564;
2256pub const IONICON__PIE_CHART_SHARP: ::std::os::raw::c_int = 62565;
2257pub const IONICON__PIN: ::std::os::raw::c_int = 62566;
2258pub const IONICON__PIN_OUTLINE: ::std::os::raw::c_int = 62567;
2259pub const IONICON__PIN_SHARP: ::std::os::raw::c_int = 62568;
2260pub const IONICON__PINT: ::std::os::raw::c_int = 62569;
2261pub const IONICON__PINT_OUTLINE: ::std::os::raw::c_int = 62570;
2262pub const IONICON__PINT_SHARP: ::std::os::raw::c_int = 62571;
2263pub const IONICON__PIZZA: ::std::os::raw::c_int = 62572;
2264pub const IONICON__PIZZA_OUTLINE: ::std::os::raw::c_int = 62573;
2265pub const IONICON__PIZZA_SHARP: ::std::os::raw::c_int = 62574;
2266pub const IONICON__PLANET: ::std::os::raw::c_int = 62575;
2267pub const IONICON__PLANET_OUTLINE: ::std::os::raw::c_int = 62576;
2268pub const IONICON__PLANET_SHARP: ::std::os::raw::c_int = 62577;
2269pub const IONICON__PLAY: ::std::os::raw::c_int = 62578;
2270pub const IONICON__PLAY_BACK: ::std::os::raw::c_int = 62579;
2271pub const IONICON__PLAY_BACK_CIRCLE: ::std::os::raw::c_int = 62580;
2272pub const IONICON__PLAY_BACK_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62581;
2273pub const IONICON__PLAY_BACK_CIRCLE_SHARP: ::std::os::raw::c_int = 62582;
2274pub const IONICON__PLAY_BACK_OUTLINE: ::std::os::raw::c_int = 62583;
2275pub const IONICON__PLAY_BACK_SHARP: ::std::os::raw::c_int = 62584;
2276pub const IONICON__PLAY_CIRCLE: ::std::os::raw::c_int = 62585;
2277pub const IONICON__PLAY_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62586;
2278pub const IONICON__PLAY_CIRCLE_SHARP: ::std::os::raw::c_int = 62587;
2279pub const IONICON__PLAY_FORWARD: ::std::os::raw::c_int = 62588;
2280pub const IONICON__PLAY_FORWARD_CIRCLE: ::std::os::raw::c_int = 62589;
2281pub const IONICON__PLAY_FORWARD_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62590;
2282pub const IONICON__PLAY_FORWARD_CIRCLE_SHARP: ::std::os::raw::c_int = 62591;
2283pub const IONICON__PLAY_FORWARD_OUTLINE: ::std::os::raw::c_int = 62592;
2284pub const IONICON__PLAY_FORWARD_SHARP: ::std::os::raw::c_int = 62593;
2285pub const IONICON__PLAY_OUTLINE: ::std::os::raw::c_int = 62594;
2286pub const IONICON__PLAY_SHARP: ::std::os::raw::c_int = 62595;
2287pub const IONICON__PLAY_SKIP_BACK: ::std::os::raw::c_int = 62596;
2288pub const IONICON__PLAY_SKIP_BACK_CIRCLE: ::std::os::raw::c_int = 62597;
2289pub const IONICON__PLAY_SKIP_BACK_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62598;
2290pub const IONICON__PLAY_SKIP_BACK_CIRCLE_SHARP: ::std::os::raw::c_int = 62599;
2291pub const IONICON__PLAY_SKIP_BACK_OUTLINE: ::std::os::raw::c_int = 62600;
2292pub const IONICON__PLAY_SKIP_BACK_SHARP: ::std::os::raw::c_int = 62601;
2293pub const IONICON__PLAY_SKIP_FORWARD: ::std::os::raw::c_int = 62602;
2294pub const IONICON__PLAY_SKIP_FORWARD_CIRCLE: ::std::os::raw::c_int = 62603;
2295pub const IONICON__PLAY_SKIP_FORWARD_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62604;
2296pub const IONICON__PLAY_SKIP_FORWARD_CIRCLE_SHARP: ::std::os::raw::c_int = 62605;
2297pub const IONICON__PLAY_SKIP_FORWARD_OUTLINE: ::std::os::raw::c_int = 62606;
2298pub const IONICON__PLAY_SKIP_FORWARD_SHARP: ::std::os::raw::c_int = 62607;
2299pub const IONICON__PODIUM: ::std::os::raw::c_int = 62608;
2300pub const IONICON__PODIUM_OUTLINE: ::std::os::raw::c_int = 62609;
2301pub const IONICON__PODIUM_SHARP: ::std::os::raw::c_int = 62610;
2302pub const IONICON__POWER: ::std::os::raw::c_int = 62611;
2303pub const IONICON__POWER_OUTLINE: ::std::os::raw::c_int = 62612;
2304pub const IONICON__POWER_SHARP: ::std::os::raw::c_int = 62613;
2305pub const IONICON__PRICETAG: ::std::os::raw::c_int = 62614;
2306pub const IONICON__PRICETAG_OUTLINE: ::std::os::raw::c_int = 62615;
2307pub const IONICON__PRICETAG_SHARP: ::std::os::raw::c_int = 62616;
2308pub const IONICON__PRICETAGS: ::std::os::raw::c_int = 62617;
2309pub const IONICON__PRICETAGS_OUTLINE: ::std::os::raw::c_int = 62618;
2310pub const IONICON__PRICETAGS_SHARP: ::std::os::raw::c_int = 62619;
2311pub const IONICON__PRINT: ::std::os::raw::c_int = 62620;
2312pub const IONICON__PRINT_OUTLINE: ::std::os::raw::c_int = 62621;
2313pub const IONICON__PRINT_SHARP: ::std::os::raw::c_int = 62622;
2314pub const IONICON__PULSE: ::std::os::raw::c_int = 62623;
2315pub const IONICON__PULSE_OUTLINE: ::std::os::raw::c_int = 62624;
2316pub const IONICON__PULSE_SHARP: ::std::os::raw::c_int = 62625;
2317pub const IONICON__PUSH: ::std::os::raw::c_int = 62626;
2318pub const IONICON__PUSH_OUTLINE: ::std::os::raw::c_int = 62627;
2319pub const IONICON__PUSH_SHARP: ::std::os::raw::c_int = 62628;
2320pub const IONICON__QR_CODE: ::std::os::raw::c_int = 62629;
2321pub const IONICON__QR_CODE_OUTLINE: ::std::os::raw::c_int = 62630;
2322pub const IONICON__QR_CODE_SHARP: ::std::os::raw::c_int = 62631;
2323pub const IONICON__RADIO: ::std::os::raw::c_int = 62632;
2324pub const IONICON__RADIO_BUTTON_OFF: ::std::os::raw::c_int = 62633;
2325pub const IONICON__RADIO_BUTTON_OFF_OUTLINE: ::std::os::raw::c_int = 62634;
2326pub const IONICON__RADIO_BUTTON_OFF_SHARP: ::std::os::raw::c_int = 62635;
2327pub const IONICON__RADIO_BUTTON_ON: ::std::os::raw::c_int = 62636;
2328pub const IONICON__RADIO_BUTTON_ON_OUTLINE: ::std::os::raw::c_int = 62637;
2329pub const IONICON__RADIO_BUTTON_ON_SHARP: ::std::os::raw::c_int = 62638;
2330pub const IONICON__RADIO_OUTLINE: ::std::os::raw::c_int = 62639;
2331pub const IONICON__RADIO_SHARP: ::std::os::raw::c_int = 62640;
2332pub const IONICON__RAINY: ::std::os::raw::c_int = 62641;
2333pub const IONICON__RAINY_OUTLINE: ::std::os::raw::c_int = 62642;
2334pub const IONICON__RAINY_SHARP: ::std::os::raw::c_int = 62643;
2335pub const IONICON__READER: ::std::os::raw::c_int = 62644;
2336pub const IONICON__READER_OUTLINE: ::std::os::raw::c_int = 62645;
2337pub const IONICON__READER_SHARP: ::std::os::raw::c_int = 62646;
2338pub const IONICON__RECEIPT: ::std::os::raw::c_int = 62647;
2339pub const IONICON__RECEIPT_OUTLINE: ::std::os::raw::c_int = 62648;
2340pub const IONICON__RECEIPT_SHARP: ::std::os::raw::c_int = 62649;
2341pub const IONICON__RECORDING: ::std::os::raw::c_int = 62650;
2342pub const IONICON__RECORDING_OUTLINE: ::std::os::raw::c_int = 62651;
2343pub const IONICON__RECORDING_SHARP: ::std::os::raw::c_int = 62652;
2344pub const IONICON__REFRESH: ::std::os::raw::c_int = 62653;
2345pub const IONICON__REFRESH_CIRCLE: ::std::os::raw::c_int = 62654;
2346pub const IONICON__REFRESH_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62655;
2347pub const IONICON__REFRESH_CIRCLE_SHARP: ::std::os::raw::c_int = 62656;
2348pub const IONICON__REFRESH_OUTLINE: ::std::os::raw::c_int = 62657;
2349pub const IONICON__REFRESH_SHARP: ::std::os::raw::c_int = 62658;
2350pub const IONICON__RELOAD: ::std::os::raw::c_int = 62659;
2351pub const IONICON__RELOAD_CIRCLE: ::std::os::raw::c_int = 62660;
2352pub const IONICON__RELOAD_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62661;
2353pub const IONICON__RELOAD_CIRCLE_SHARP: ::std::os::raw::c_int = 62662;
2354pub const IONICON__RELOAD_OUTLINE: ::std::os::raw::c_int = 62663;
2355pub const IONICON__RELOAD_SHARP: ::std::os::raw::c_int = 62664;
2356pub const IONICON__REMOVE: ::std::os::raw::c_int = 62665;
2357pub const IONICON__REMOVE_CIRCLE: ::std::os::raw::c_int = 62666;
2358pub const IONICON__REMOVE_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62667;
2359pub const IONICON__REMOVE_CIRCLE_SHARP: ::std::os::raw::c_int = 62668;
2360pub const IONICON__REMOVE_OUTLINE: ::std::os::raw::c_int = 62669;
2361pub const IONICON__REMOVE_SHARP: ::std::os::raw::c_int = 62670;
2362pub const IONICON__REORDER_FOUR: ::std::os::raw::c_int = 62671;
2363pub const IONICON__REORDER_FOUR_OUTLINE: ::std::os::raw::c_int = 62672;
2364pub const IONICON__REORDER_FOUR_SHARP: ::std::os::raw::c_int = 62673;
2365pub const IONICON__REORDER_THREE: ::std::os::raw::c_int = 62674;
2366pub const IONICON__REORDER_THREE_OUTLINE: ::std::os::raw::c_int = 62675;
2367pub const IONICON__REORDER_THREE_SHARP: ::std::os::raw::c_int = 62676;
2368pub const IONICON__REORDER_TWO: ::std::os::raw::c_int = 62677;
2369pub const IONICON__REORDER_TWO_OUTLINE: ::std::os::raw::c_int = 62678;
2370pub const IONICON__REORDER_TWO_SHARP: ::std::os::raw::c_int = 62679;
2371pub const IONICON__REPEAT: ::std::os::raw::c_int = 62680;
2372pub const IONICON__REPEAT_OUTLINE: ::std::os::raw::c_int = 62681;
2373pub const IONICON__REPEAT_SHARP: ::std::os::raw::c_int = 62682;
2374pub const IONICON__RESIZE: ::std::os::raw::c_int = 62683;
2375pub const IONICON__RESIZE_OUTLINE: ::std::os::raw::c_int = 62684;
2376pub const IONICON__RESIZE_SHARP: ::std::os::raw::c_int = 62685;
2377pub const IONICON__RESTAURANT: ::std::os::raw::c_int = 62686;
2378pub const IONICON__RESTAURANT_OUTLINE: ::std::os::raw::c_int = 62687;
2379pub const IONICON__RESTAURANT_SHARP: ::std::os::raw::c_int = 62688;
2380pub const IONICON__RETURN_DOWN_BACK: ::std::os::raw::c_int = 62689;
2381pub const IONICON__RETURN_DOWN_BACK_OUTLINE: ::std::os::raw::c_int = 62690;
2382pub const IONICON__RETURN_DOWN_BACK_SHARP: ::std::os::raw::c_int = 62691;
2383pub const IONICON__RETURN_DOWN_FORWARD: ::std::os::raw::c_int = 62692;
2384pub const IONICON__RETURN_DOWN_FORWARD_OUTLINE: ::std::os::raw::c_int = 62693;
2385pub const IONICON__RETURN_DOWN_FORWARD_SHARP: ::std::os::raw::c_int = 62694;
2386pub const IONICON__RETURN_UP_BACK: ::std::os::raw::c_int = 62695;
2387pub const IONICON__RETURN_UP_BACK_OUTLINE: ::std::os::raw::c_int = 62696;
2388pub const IONICON__RETURN_UP_BACK_SHARP: ::std::os::raw::c_int = 62697;
2389pub const IONICON__RETURN_UP_FORWARD: ::std::os::raw::c_int = 62698;
2390pub const IONICON__RETURN_UP_FORWARD_OUTLINE: ::std::os::raw::c_int = 62699;
2391pub const IONICON__RETURN_UP_FORWARD_SHARP: ::std::os::raw::c_int = 62700;
2392pub const IONICON__RIBBON: ::std::os::raw::c_int = 62701;
2393pub const IONICON__RIBBON_OUTLINE: ::std::os::raw::c_int = 62702;
2394pub const IONICON__RIBBON_SHARP: ::std::os::raw::c_int = 62703;
2395pub const IONICON__ROCKET: ::std::os::raw::c_int = 62704;
2396pub const IONICON__ROCKET_OUTLINE: ::std::os::raw::c_int = 62705;
2397pub const IONICON__ROCKET_SHARP: ::std::os::raw::c_int = 62706;
2398pub const IONICON__ROSE: ::std::os::raw::c_int = 62707;
2399pub const IONICON__ROSE_OUTLINE: ::std::os::raw::c_int = 62708;
2400pub const IONICON__ROSE_SHARP: ::std::os::raw::c_int = 62709;
2401pub const IONICON__SAD: ::std::os::raw::c_int = 62710;
2402pub const IONICON__SAD_OUTLINE: ::std::os::raw::c_int = 62711;
2403pub const IONICON__SAD_SHARP: ::std::os::raw::c_int = 62712;
2404pub const IONICON__SAVE: ::std::os::raw::c_int = 62713;
2405pub const IONICON__SAVE_OUTLINE: ::std::os::raw::c_int = 62714;
2406pub const IONICON__SAVE_SHARP: ::std::os::raw::c_int = 62715;
2407pub const IONICON__SCAN: ::std::os::raw::c_int = 62716;
2408pub const IONICON__SCAN_CIRCLE: ::std::os::raw::c_int = 62717;
2409pub const IONICON__SCAN_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62718;
2410pub const IONICON__SCAN_CIRCLE_SHARP: ::std::os::raw::c_int = 62719;
2411pub const IONICON__SCAN_OUTLINE: ::std::os::raw::c_int = 62720;
2412pub const IONICON__SCAN_SHARP: ::std::os::raw::c_int = 62721;
2413pub const IONICON__SCHOOL: ::std::os::raw::c_int = 62722;
2414pub const IONICON__SCHOOL_OUTLINE: ::std::os::raw::c_int = 62723;
2415pub const IONICON__SCHOOL_SHARP: ::std::os::raw::c_int = 62724;
2416pub const IONICON__SEARCH: ::std::os::raw::c_int = 62725;
2417pub const IONICON__SEARCH_CIRCLE: ::std::os::raw::c_int = 62726;
2418pub const IONICON__SEARCH_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62727;
2419pub const IONICON__SEARCH_CIRCLE_SHARP: ::std::os::raw::c_int = 62728;
2420pub const IONICON__SEARCH_OUTLINE: ::std::os::raw::c_int = 62729;
2421pub const IONICON__SEARCH_SHARP: ::std::os::raw::c_int = 62730;
2422pub const IONICON__SEND: ::std::os::raw::c_int = 62731;
2423pub const IONICON__SEND_OUTLINE: ::std::os::raw::c_int = 62732;
2424pub const IONICON__SEND_SHARP: ::std::os::raw::c_int = 62733;
2425pub const IONICON__SERVER: ::std::os::raw::c_int = 62734;
2426pub const IONICON__SERVER_OUTLINE: ::std::os::raw::c_int = 62735;
2427pub const IONICON__SERVER_SHARP: ::std::os::raw::c_int = 62736;
2428pub const IONICON__SETTINGS: ::std::os::raw::c_int = 62737;
2429pub const IONICON__SETTINGS_OUTLINE: ::std::os::raw::c_int = 62738;
2430pub const IONICON__SETTINGS_SHARP: ::std::os::raw::c_int = 62739;
2431pub const IONICON__SHAPES: ::std::os::raw::c_int = 62740;
2432pub const IONICON__SHAPES_OUTLINE: ::std::os::raw::c_int = 62741;
2433pub const IONICON__SHAPES_SHARP: ::std::os::raw::c_int = 62742;
2434pub const IONICON__SHARE: ::std::os::raw::c_int = 62743;
2435pub const IONICON__SHARE_OUTLINE: ::std::os::raw::c_int = 62744;
2436pub const IONICON__SHARE_SHARP: ::std::os::raw::c_int = 62745;
2437pub const IONICON__SHARE_SOCIAL: ::std::os::raw::c_int = 62746;
2438pub const IONICON__SHARE_SOCIAL_OUTLINE: ::std::os::raw::c_int = 62747;
2439pub const IONICON__SHARE_SOCIAL_SHARP: ::std::os::raw::c_int = 62748;
2440pub const IONICON__SHIELD: ::std::os::raw::c_int = 62749;
2441pub const IONICON__SHIELD_CHECKMARK: ::std::os::raw::c_int = 62750;
2442pub const IONICON__SHIELD_CHECKMARK_OUTLINE: ::std::os::raw::c_int = 62751;
2443pub const IONICON__SHIELD_CHECKMARK_SHARP: ::std::os::raw::c_int = 62752;
2444pub const IONICON__SHIELD_OUTLINE: ::std::os::raw::c_int = 62753;
2445pub const IONICON__SHIELD_SHARP: ::std::os::raw::c_int = 62754;
2446pub const IONICON__SHIRT: ::std::os::raw::c_int = 62755;
2447pub const IONICON__SHIRT_OUTLINE: ::std::os::raw::c_int = 62756;
2448pub const IONICON__SHIRT_SHARP: ::std::os::raw::c_int = 62757;
2449pub const IONICON__SHUFFLE: ::std::os::raw::c_int = 62758;
2450pub const IONICON__SHUFFLE_OUTLINE: ::std::os::raw::c_int = 62759;
2451pub const IONICON__SHUFFLE_SHARP: ::std::os::raw::c_int = 62760;
2452pub const IONICON__SKULL: ::std::os::raw::c_int = 62761;
2453pub const IONICON__SKULL_OUTLINE: ::std::os::raw::c_int = 62762;
2454pub const IONICON__SKULL_SHARP: ::std::os::raw::c_int = 62763;
2455pub const IONICON__SNOW: ::std::os::raw::c_int = 62764;
2456pub const IONICON__SNOW_OUTLINE: ::std::os::raw::c_int = 62765;
2457pub const IONICON__SNOW_SHARP: ::std::os::raw::c_int = 62766;
2458pub const IONICON__SPEEDOMETER: ::std::os::raw::c_int = 62767;
2459pub const IONICON__SPEEDOMETER_OUTLINE: ::std::os::raw::c_int = 62768;
2460pub const IONICON__SPEEDOMETER_SHARP: ::std::os::raw::c_int = 62769;
2461pub const IONICON__SQUARE: ::std::os::raw::c_int = 62770;
2462pub const IONICON__SQUARE_OUTLINE: ::std::os::raw::c_int = 62771;
2463pub const IONICON__SQUARE_SHARP: ::std::os::raw::c_int = 62772;
2464pub const IONICON__STAR: ::std::os::raw::c_int = 62773;
2465pub const IONICON__STAR_HALF: ::std::os::raw::c_int = 62774;
2466pub const IONICON__STAR_HALF_OUTLINE: ::std::os::raw::c_int = 62775;
2467pub const IONICON__STAR_HALF_SHARP: ::std::os::raw::c_int = 62776;
2468pub const IONICON__STAR_OUTLINE: ::std::os::raw::c_int = 62777;
2469pub const IONICON__STAR_SHARP: ::std::os::raw::c_int = 62778;
2470pub const IONICON__STATS_CHART: ::std::os::raw::c_int = 62779;
2471pub const IONICON__STATS_CHART_OUTLINE: ::std::os::raw::c_int = 62780;
2472pub const IONICON__STATS_CHART_SHARP: ::std::os::raw::c_int = 62781;
2473pub const IONICON__STOP: ::std::os::raw::c_int = 62782;
2474pub const IONICON__STOP_CIRCLE: ::std::os::raw::c_int = 62783;
2475pub const IONICON__STOP_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62784;
2476pub const IONICON__STOP_CIRCLE_SHARP: ::std::os::raw::c_int = 62785;
2477pub const IONICON__STOP_OUTLINE: ::std::os::raw::c_int = 62786;
2478pub const IONICON__STOP_SHARP: ::std::os::raw::c_int = 62787;
2479pub const IONICON__STOPWATCH: ::std::os::raw::c_int = 62788;
2480pub const IONICON__STOPWATCH_OUTLINE: ::std::os::raw::c_int = 62789;
2481pub const IONICON__STOPWATCH_SHARP: ::std::os::raw::c_int = 62790;
2482pub const IONICON__SUBWAY: ::std::os::raw::c_int = 62791;
2483pub const IONICON__SUBWAY_OUTLINE: ::std::os::raw::c_int = 62792;
2484pub const IONICON__SUBWAY_SHARP: ::std::os::raw::c_int = 62793;
2485pub const IONICON__SUNNY: ::std::os::raw::c_int = 62794;
2486pub const IONICON__SUNNY_OUTLINE: ::std::os::raw::c_int = 62795;
2487pub const IONICON__SUNNY_SHARP: ::std::os::raw::c_int = 62796;
2488pub const IONICON__SWAP_HORIZONTAL: ::std::os::raw::c_int = 62797;
2489pub const IONICON__SWAP_HORIZONTAL_OUTLINE: ::std::os::raw::c_int = 62798;
2490pub const IONICON__SWAP_HORIZONTAL_SHARP: ::std::os::raw::c_int = 62799;
2491pub const IONICON__SWAP_VERTICAL: ::std::os::raw::c_int = 62800;
2492pub const IONICON__SWAP_VERTICAL_OUTLINE: ::std::os::raw::c_int = 62801;
2493pub const IONICON__SWAP_VERTICAL_SHARP: ::std::os::raw::c_int = 62802;
2494pub const IONICON__SYNC: ::std::os::raw::c_int = 62803;
2495pub const IONICON__SYNC_CIRCLE: ::std::os::raw::c_int = 62804;
2496pub const IONICON__SYNC_CIRCLE_OUTLINE: ::std::os::raw::c_int = 62805;
2497pub const IONICON__SYNC_CIRCLE_SHARP: ::std::os::raw::c_int = 62806;
2498pub const IONICON__SYNC_OUTLINE: ::std::os::raw::c_int = 62807;
2499pub const IONICON__SYNC_SHARP: ::std::os::raw::c_int = 62808;
2500pub const IONICON__TABLET_LANDSCAPE: ::std::os::raw::c_int = 62809;
2501pub const IONICON__TABLET_LANDSCAPE_OUTLINE: ::std::os::raw::c_int = 62810;
2502pub const IONICON__TABLET_LANDSCAPE_SHARP: ::std::os::raw::c_int = 62811;
2503pub const IONICON__TABLET_PORTRAIT: ::std::os::raw::c_int = 62812;
2504pub const IONICON__TABLET_PORTRAIT_OUTLINE: ::std::os::raw::c_int = 62813;
2505pub const IONICON__TABLET_PORTRAIT_SHARP: ::std::os::raw::c_int = 62814;
2506pub const IONICON__TENNISBALL: ::std::os::raw::c_int = 62815;
2507pub const IONICON__TENNISBALL_OUTLINE: ::std::os::raw::c_int = 62816;
2508pub const IONICON__TENNISBALL_SHARP: ::std::os::raw::c_int = 62817;
2509pub const IONICON__TERMINAL: ::std::os::raw::c_int = 62818;
2510pub const IONICON__TERMINAL_OUTLINE: ::std::os::raw::c_int = 62819;
2511pub const IONICON__TERMINAL_SHARP: ::std::os::raw::c_int = 62820;
2512pub const IONICON__TEXT: ::std::os::raw::c_int = 62821;
2513pub const IONICON__TEXT_OUTLINE: ::std::os::raw::c_int = 62822;
2514pub const IONICON__TEXT_SHARP: ::std::os::raw::c_int = 62823;
2515pub const IONICON__THERMOMETER: ::std::os::raw::c_int = 62824;
2516pub const IONICON__THERMOMETER_OUTLINE: ::std::os::raw::c_int = 62825;
2517pub const IONICON__THERMOMETER_SHARP: ::std::os::raw::c_int = 62826;
2518pub const IONICON__THUMBS_DOWN: ::std::os::raw::c_int = 62827;
2519pub const IONICON__THUMBS_DOWN_OUTLINE: ::std::os::raw::c_int = 62828;
2520pub const IONICON__THUMBS_DOWN_SHARP: ::std::os::raw::c_int = 62829;
2521pub const IONICON__THUMBS_UP: ::std::os::raw::c_int = 62830;
2522pub const IONICON__THUMBS_UP_OUTLINE: ::std::os::raw::c_int = 62831;
2523pub const IONICON__THUMBS_UP_SHARP: ::std::os::raw::c_int = 62832;
2524pub const IONICON__THUNDERSTORM: ::std::os::raw::c_int = 62833;
2525pub const IONICON__THUNDERSTORM_OUTLINE: ::std::os::raw::c_int = 62834;
2526pub const IONICON__THUNDERSTORM_SHARP: ::std::os::raw::c_int = 62835;
2527pub const IONICON__TIME: ::std::os::raw::c_int = 62836;
2528pub const IONICON__TIME_OUTLINE: ::std::os::raw::c_int = 62837;
2529pub const IONICON__TIME_SHARP: ::std::os::raw::c_int = 62838;
2530pub const IONICON__TIMER: ::std::os::raw::c_int = 62839;
2531pub const IONICON__TIMER_OUTLINE: ::std::os::raw::c_int = 62840;
2532pub const IONICON__TIMER_SHARP: ::std::os::raw::c_int = 62841;
2533pub const IONICON__TODAY: ::std::os::raw::c_int = 62842;
2534pub const IONICON__TODAY_OUTLINE: ::std::os::raw::c_int = 62843;
2535pub const IONICON__TODAY_SHARP: ::std::os::raw::c_int = 62844;
2536pub const IONICON__TOGGLE: ::std::os::raw::c_int = 62845;
2537pub const IONICON__TOGGLE_OUTLINE: ::std::os::raw::c_int = 62846;
2538pub const IONICON__TOGGLE_SHARP: ::std::os::raw::c_int = 62847;
2539pub const IONICON__TRAIL_SIGN: ::std::os::raw::c_int = 62848;
2540pub const IONICON__TRAIL_SIGN_OUTLINE: ::std::os::raw::c_int = 62849;
2541pub const IONICON__TRAIL_SIGN_SHARP: ::std::os::raw::c_int = 62850;
2542pub const IONICON__TRAIN: ::std::os::raw::c_int = 62851;
2543pub const IONICON__TRAIN_OUTLINE: ::std::os::raw::c_int = 62852;
2544pub const IONICON__TRAIN_SHARP: ::std::os::raw::c_int = 62853;
2545pub const IONICON__TRANSGENDER: ::std::os::raw::c_int = 62854;
2546pub const IONICON__TRANSGENDER_OUTLINE: ::std::os::raw::c_int = 62855;
2547pub const IONICON__TRANSGENDER_SHARP: ::std::os::raw::c_int = 62856;
2548pub const IONICON__TRASH: ::std::os::raw::c_int = 62857;
2549pub const IONICON__TRASH_BIN: ::std::os::raw::c_int = 62858;
2550pub const IONICON__TRASH_BIN_OUTLINE: ::std::os::raw::c_int = 62859;
2551pub const IONICON__TRASH_BIN_SHARP: ::std::os::raw::c_int = 62860;
2552pub const IONICON__TRASH_OUTLINE: ::std::os::raw::c_int = 62861;
2553pub const IONICON__TRASH_SHARP: ::std::os::raw::c_int = 62862;
2554pub const IONICON__TRENDING_DOWN: ::std::os::raw::c_int = 62863;
2555pub const IONICON__TRENDING_DOWN_OUTLINE: ::std::os::raw::c_int = 62864;
2556pub const IONICON__TRENDING_DOWN_SHARP: ::std::os::raw::c_int = 62865;
2557pub const IONICON__TRENDING_UP: ::std::os::raw::c_int = 62866;
2558pub const IONICON__TRENDING_UP_OUTLINE: ::std::os::raw::c_int = 62867;
2559pub const IONICON__TRENDING_UP_SHARP: ::std::os::raw::c_int = 62868;
2560pub const IONICON__TRIANGLE: ::std::os::raw::c_int = 62869;
2561pub const IONICON__TRIANGLE_OUTLINE: ::std::os::raw::c_int = 62870;
2562pub const IONICON__TRIANGLE_SHARP: ::std::os::raw::c_int = 62871;
2563pub const IONICON__TROPHY: ::std::os::raw::c_int = 62872;
2564pub const IONICON__TROPHY_OUTLINE: ::std::os::raw::c_int = 62873;
2565pub const IONICON__TROPHY_SHARP: ::std::os::raw::c_int = 62874;
2566pub const IONICON__TV: ::std::os::raw::c_int = 62875;
2567pub const IONICON__TV_OUTLINE: ::std::os::raw::c_int = 62876;
2568pub const IONICON__TV_SHARP: ::std::os::raw::c_int = 62877;
2569pub const IONICON__UMBRELLA: ::std::os::raw::c_int = 62878;
2570pub const IONICON__UMBRELLA_OUTLINE: ::std::os::raw::c_int = 62879;
2571pub const IONICON__UMBRELLA_SHARP: ::std::os::raw::c_int = 62880;
2572pub const IONICON__VIDEOCAM: ::std::os::raw::c_int = 62881;
2573pub const IONICON__VIDEOCAM_OUTLINE: ::std::os::raw::c_int = 62882;
2574pub const IONICON__VIDEOCAM_SHARP: ::std::os::raw::c_int = 62883;
2575pub const IONICON__VOLUME_HIGH: ::std::os::raw::c_int = 62884;
2576pub const IONICON__VOLUME_HIGH_OUTLINE: ::std::os::raw::c_int = 62885;
2577pub const IONICON__VOLUME_HIGH_SHARP: ::std::os::raw::c_int = 62886;
2578pub const IONICON__VOLUME_LOW: ::std::os::raw::c_int = 62887;
2579pub const IONICON__VOLUME_LOW_OUTLINE: ::std::os::raw::c_int = 62888;
2580pub const IONICON__VOLUME_LOW_SHARP: ::std::os::raw::c_int = 62889;
2581pub const IONICON__VOLUME_MEDIUM: ::std::os::raw::c_int = 62890;
2582pub const IONICON__VOLUME_MEDIUM_OUTLINE: ::std::os::raw::c_int = 62891;
2583pub const IONICON__VOLUME_MEDIUM_SHARP: ::std::os::raw::c_int = 62892;
2584pub const IONICON__VOLUME_MUTE: ::std::os::raw::c_int = 62893;
2585pub const IONICON__VOLUME_MUTE_OUTLINE: ::std::os::raw::c_int = 62894;
2586pub const IONICON__VOLUME_MUTE_SHARP: ::std::os::raw::c_int = 62895;
2587pub const IONICON__VOLUME_OFF: ::std::os::raw::c_int = 62896;
2588pub const IONICON__VOLUME_OFF_OUTLINE: ::std::os::raw::c_int = 62897;
2589pub const IONICON__VOLUME_OFF_SHARP: ::std::os::raw::c_int = 62898;
2590pub const IONICON__WALK: ::std::os::raw::c_int = 62899;
2591pub const IONICON__WALK_OUTLINE: ::std::os::raw::c_int = 62900;
2592pub const IONICON__WALK_SHARP: ::std::os::raw::c_int = 62901;
2593pub const IONICON__WALLET: ::std::os::raw::c_int = 62902;
2594pub const IONICON__WALLET_OUTLINE: ::std::os::raw::c_int = 62903;
2595pub const IONICON__WALLET_SHARP: ::std::os::raw::c_int = 62904;
2596pub const IONICON__WARNING: ::std::os::raw::c_int = 62905;
2597pub const IONICON__WARNING_OUTLINE: ::std::os::raw::c_int = 62906;
2598pub const IONICON__WARNING_SHARP: ::std::os::raw::c_int = 62907;
2599pub const IONICON__WATCH: ::std::os::raw::c_int = 62908;
2600pub const IONICON__WATCH_OUTLINE: ::std::os::raw::c_int = 62909;
2601pub const IONICON__WATCH_SHARP: ::std::os::raw::c_int = 62910;
2602pub const IONICON__WATER: ::std::os::raw::c_int = 62911;
2603pub const IONICON__WATER_OUTLINE: ::std::os::raw::c_int = 62912;
2604pub const IONICON__WATER_SHARP: ::std::os::raw::c_int = 62913;
2605pub const IONICON__WIFI: ::std::os::raw::c_int = 62914;
2606pub const IONICON__WIFI_OUTLINE: ::std::os::raw::c_int = 62915;
2607pub const IONICON__WIFI_SHARP: ::std::os::raw::c_int = 62916;
2608pub const IONICON__WINE: ::std::os::raw::c_int = 62917;
2609pub const IONICON__WINE_OUTLINE: ::std::os::raw::c_int = 62918;
2610pub const IONICON__WINE_SHARP: ::std::os::raw::c_int = 62919;
2611pub const IONICON__WOMAN: ::std::os::raw::c_int = 62920;
2612pub const IONICON__WOMAN_OUTLINE: ::std::os::raw::c_int = 62921;
2613pub const IONICON__WOMAN_SHARP: ::std::os::raw::c_int = 62922;
2614pub type _bindgen_ty_6 = ::std::os::raw::c_int;
2615pub const IONICON_ADD_ON__MOUSE: ::std::os::raw::c_int = 57344;
2616pub const IONICON_ADD_ON__MOUSE_LEFT: ::std::os::raw::c_int = 57345;
2617pub const IONICON_ADD_ON__MOUSE_RIGHT: ::std::os::raw::c_int = 57346;
2618pub const IONICON_ADD_ON__MOUSE_MIDDLE: ::std::os::raw::c_int = 57347;
2619pub const IONICON_ADD_ON__MOUSE_DOUBLE: ::std::os::raw::c_int = 57348;
2620pub const IONICON_ADD_ON__CHILDREN_TREE: ::std::os::raw::c_int = 57360;
2621pub const IONICON_ADD_ON__CREATION_GRAPH: ::std::os::raw::c_int = 57361;
2622pub const IONICON_ADD_ON__DETAILED_LIST: ::std::os::raw::c_int = 57362;
2623pub const IONICON_ADD_ON__INHERIT_FROM_PARENT: ::std::os::raw::c_int = 57363;
2624pub const IONICON_ADD_ON__PROPAGATE_TO_PARENT: ::std::os::raw::c_int = 57364;
2625pub const IONICON_ADD_ON__ATTACH_TO_PROCESS: ::std::os::raw::c_int = 57365;
2626pub const IONICON_ADD_ON__CAPTURE_RENDERDOC: ::std::os::raw::c_int = 57366;
2627pub const IONICON_ADD_ON__TRANSFORM: ::std::os::raw::c_int = 57376;
2628pub const IONICON_ADD_ON__BOX: ::std::os::raw::c_int = 57377;
2629pub const IONICON_ADD_ON__BOX_OUTLINE: ::std::os::raw::c_int = 57378;
2630pub const IONICON_ADD_ON__BOX_DASHED: ::std::os::raw::c_int = 57379;
2631pub const IONICON_ADD_ON__PUZZLE: ::std::os::raw::c_int = 57380;
2632pub const IONICON_ADD_ON__PUZZLE_OUTLINE: ::std::os::raw::c_int = 57381;
2633pub const IONICON_ADD_ON__TETRAHEDRON: ::std::os::raw::c_int = 57382;
2634pub const IONICON_ADD_ON__PHYSICS_SHAPE: ::std::os::raw::c_int = 57383;
2635pub const IONICON_ADD_ON__PHYSICS_BODY: ::std::os::raw::c_int = 57384;
2636pub const IONICON_ADD_ON__PHYSICS_JOINT: ::std::os::raw::c_int = 57385;
2637pub type _bindgen_ty_7 = ::std::os::raw::c_int;
2638pub const TM_TT_PROP__TABWELL__LEFT: ::std::os::raw::c_int = 0;
2639pub const TM_TT_PROP__TABWELL__RIGHT: ::std::os::raw::c_int = 1;
2640pub const TM_TT_PROP__TABWELL__TOP: ::std::os::raw::c_int = 2;
2641pub const TM_TT_PROP__TABWELL__BOTTOM: ::std::os::raw::c_int = 3;
2642pub const TM_TT_PROP__TABWELL__BIAS: ::std::os::raw::c_int = 4;
2643pub const TM_TT_PROP__TABWELL__VIEWS: ::std::os::raw::c_int = 5;
2644pub type _bindgen_ty_8 = ::std::os::raw::c_int;
2645pub const TM_TT_PROP__TAB_VIEW__NAME: ::std::os::raw::c_int = 0;
2646pub const TM_TT_PROP__TAB_VIEW__ROOT_UUID: ::std::os::raw::c_int = 1;
2647pub const TM_TT_PROP__TAB_VIEW__ROOT_TYPE: ::std::os::raw::c_int = 2;
2648pub const TM_TT_PROP__TAB_VIEW__SORT_INDEX: ::std::os::raw::c_int = 3;
2649pub const TM_TT_PROP__TAB_VIEW__SETTINGS_VIEW: ::std::os::raw::c_int = 4;
2650pub const TM_TT_PROP__TAB_VIEW__PINNED: ::std::os::raw::c_int = 5;
2651pub const TM_TT_PROP__TAB_VIEW__SETTINGS_STATE: ::std::os::raw::c_int = 6;
2652pub type _bindgen_ty_9 = ::std::os::raw::c_int;
2653pub const TM_TAB_LAYOUT_MAX_TABS_PER_TABWELL: ::std::os::raw::c_int = 3;
2654pub type _bindgen_ty_10 = ::std::os::raw::c_int;
2655pub const TM_TAB_LAYOUT_SPLIT_TYPE__NONE: TabLayoutSplitType = 0;
2656pub const TM_TAB_LAYOUT_SPLIT_TYPE__VERTICAL: TabLayoutSplitType = 1;
2657pub const TM_TAB_LAYOUT_SPLIT_TYPE__HORIZONTAL: TabLayoutSplitType = 2;
2658pub type TabLayoutSplitType = ::std::os::raw::c_int;
2659#[repr(C)]
2660pub struct TabLayoutT {
2661    pub split: TabLayoutSplitType,
2662    pub bias: f32,
2663    pub __bindgen_anon_1: TabLayoutTBindgenTy1,
2664}
2665#[repr(C)]
2666pub struct TabLayoutTBindgenTy1 {
2667    pub __bindgen_anon_1: __BindgenUnionField<TabLayoutTBindgenTy1BindgenTy1>,
2668    pub __bindgen_anon_2: __BindgenUnionField<TabLayoutTBindgenTy1BindgenTy2>,
2669    pub __bindgen_anon_3: __BindgenUnionField<TabLayoutTBindgenTy1BindgenTy3>,
2670    pub bindgen_union_field: [u64; 9usize],
2671}
2672#[repr(C)]
2673pub struct TabLayoutTBindgenTy1BindgenTy1 {
2674    pub tab: [StrhashT; 3usize],
2675    pub out_tab: [*mut TabI; 3usize],
2676    pub settings: [*const ::std::os::raw::c_void; 3usize],
2677}
2678impl Default for TabLayoutTBindgenTy1BindgenTy1 {
2679    fn default() -> Self {
2680        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2681        unsafe {
2682            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2683            s.assume_init()
2684        }
2685    }
2686}
2687#[repr(C)]
2688#[derive(Copy, Clone)]
2689pub struct TabLayoutTBindgenTy1BindgenTy2 {
2690    pub left: *mut TabLayoutT,
2691    pub right: *mut TabLayoutT,
2692}
2693impl Default for TabLayoutTBindgenTy1BindgenTy2 {
2694    fn default() -> Self {
2695        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2696        unsafe {
2697            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2698            s.assume_init()
2699        }
2700    }
2701}
2702#[repr(C)]
2703#[derive(Copy, Clone)]
2704pub struct TabLayoutTBindgenTy1BindgenTy3 {
2705    pub top: *mut TabLayoutT,
2706    pub bottom: *mut TabLayoutT,
2707}
2708impl Default for TabLayoutTBindgenTy1BindgenTy3 {
2709    fn default() -> Self {
2710        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2711        unsafe {
2712            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2713            s.assume_init()
2714        }
2715    }
2716}
2717impl Default for TabLayoutTBindgenTy1 {
2718    fn default() -> Self {
2719        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2720        unsafe {
2721            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2722            s.assume_init()
2723        }
2724    }
2725}
2726impl Default for TabLayoutT {
2727    fn default() -> Self {
2728        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2729        unsafe {
2730            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2731            s.assume_init()
2732        }
2733    }
2734}
2735#[repr(C)]
2736#[derive(Default, Copy, Clone)]
2737pub struct TabLayoutApi {
2738    pub instantiate_layout: ::std::option::Option<
2739        unsafe extern "C" fn(
2740            ui: *mut UiO,
2741            tabwell: *mut DockingTabwellO,
2742            layout: *mut TabLayoutT,
2743            context: *mut TabCreateContextT,
2744            reuse_old_tabs: bool,
2745        ),
2746    >,
2747    pub load_and_instantiate_layout: ::std::option::Option<
2748        unsafe extern "C" fn(
2749            settings_tt: *mut TheTruthO,
2750            app_tt: *mut TheTruthO,
2751            tabwell_id: TtIdT,
2752            ui: *mut UiO,
2753            tabwell: *mut DockingTabwellO,
2754            context: *mut TabCreateContextT,
2755            restore_roots: bool,
2756            reuse_old_tabs: bool,
2757        ),
2758    >,
2759    pub save_instantiated_layout: ::std::option::Option<
2760        unsafe extern "C" fn(
2761            tt: *mut TheTruthO,
2762            root_tabwell: *mut DockingTabwellO,
2763            only_save_restorable_tabs: bool,
2764            undo_scope: TtUndoScopeT,
2765        ) -> TtIdT,
2766    >,
2767    pub save_layout: ::std::option::Option<
2768        unsafe extern "C" fn(
2769            tt: *mut TheTruthO,
2770            layout: *const TabLayoutT,
2771            only_save_restorable_tabs: bool,
2772            undo_scope: TtUndoScopeT,
2773        ) -> TtIdT,
2774    >,
2775}
2776pub type UiModalCustomCallback = ::std::option::Option<
2777    unsafe extern "C" fn(
2778        data: *mut ::std::os::raw::c_void,
2779        ui: *mut UiO,
2780        uistyle: *mut UiStyleT,
2781        rect: RectT,
2782        delta_time: f32,
2783    ),
2784>;
2785#[repr(C)]
2786#[derive(Default, Copy, Clone)]
2787pub struct UiModalApi {
2788    pub message_box: ::std::option::Option<
2789        unsafe extern "C" fn(
2790            title: *const ::std::os::raw::c_char,
2791            text: *const ::std::os::raw::c_char,
2792            buttons: *mut *const ::std::os::raw::c_char,
2793            num_buttons: u32,
2794        ) -> u32,
2795    >,
2796    pub message_box_with_checkboxes: ::std::option::Option<
2797        unsafe extern "C" fn(
2798            title: *const ::std::os::raw::c_char,
2799            text: *const ::std::os::raw::c_char,
2800            checkboxes: *mut *const ::std::os::raw::c_char,
2801            checkbox_values: *mut bool,
2802            num_checkboxes: u32,
2803            buttons: *mut *const ::std::os::raw::c_char,
2804            num_buttons: u32,
2805        ) -> u32,
2806    >,
2807    pub progress_box: ::std::option::Option<
2808        unsafe extern "C" fn(
2809            title: *const ::std::os::raw::c_char,
2810            text: *const ::std::os::raw::c_char,
2811            buttons: *mut *const ::std::os::raw::c_char,
2812            num_buttons: u32,
2813            callback: ::std::option::Option<
2814                unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> f32,
2815            >,
2816            callback_data: *mut ::std::os::raw::c_void,
2817        ) -> u32,
2818    >,
2819    pub infinite_progress_box: ::std::option::Option<
2820        unsafe extern "C" fn(
2821            title: *const ::std::os::raw::c_char,
2822            text: *const ::std::os::raw::c_char,
2823            callback: ::std::option::Option<
2824                unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> f32,
2825            >,
2826            callback_data: *mut ::std::os::raw::c_void,
2827        ),
2828    >,
2829    pub textinput_box: ::std::option::Option<
2830        unsafe extern "C" fn(
2831            title: *const ::std::os::raw::c_char,
2832            text: *const ::std::os::raw::c_char,
2833            buttons: *mut *const ::std::os::raw::c_char,
2834            num_buttons: u32,
2835            output_text: *mut ::std::os::raw::c_char,
2836            output_text_bytes: u32,
2837        ) -> u32,
2838    >,
2839    pub message_box_with_custom_ui_callback: ::std::option::Option<
2840        unsafe extern "C" fn(
2841            title: *const ::std::os::raw::c_char,
2842            text: *const ::std::os::raw::c_char,
2843            callback: UiModalCustomCallback,
2844            callback_data: *mut ::std::os::raw::c_void,
2845            custom_ui_height: f32,
2846            buttons: *mut *const ::std::os::raw::c_char,
2847            num_buttons: u32,
2848        ) -> u32,
2849    >,
2850}
2851#[repr(C)]
2852#[derive(Copy, Clone)]
2853pub struct Shape3dApi {
2854    pub circle: ::std::option::Option<
2855        unsafe extern "C" fn(w: *mut Vec3T, c: Vec3T, n: Vec3T, r: f32, num: u32),
2856    >,
2857    pub arc: ::std::option::Option<
2858        unsafe extern "C" fn(
2859            w: *mut Vec3T,
2860            c: Vec3T,
2861            n: Vec3T,
2862            r: f32,
2863            x: Vec3T,
2864            start_angle: f32,
2865            stop_angle: f32,
2866            num: u32,
2867        ),
2868    >,
2869    pub box_: ::std::option::Option<
2870        unsafe extern "C" fn(w: *mut Vec3T, c: Vec3T, x: Vec3T, y: Vec3T, z: Vec3T),
2871    >,
2872    pub box_ib_n: u32,
2873    pub _padding_25: [::std::os::raw::c_char; 4usize],
2874    pub box_ib: *mut u32,
2875}
2876impl Default for Shape3dApi {
2877    fn default() -> Self {
2878        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2879        unsafe {
2880            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2881            s.assume_init()
2882        }
2883    }
2884}
2885pub const TM_SHORTCUT_TYPE_PRESSED: ShortcutType = 0;
2886pub const TM_SHORTCUT_TYPE_DOWN: ShortcutType = 1;
2887pub type ShortcutType = ::std::os::raw::c_int;
2888#[repr(C)]
2889pub struct ShortcutI {
2890    pub name: *const ::std::os::raw::c_char,
2891    pub default_binding: *const ::std::os::raw::c_char,
2892    pub default_secondary_binding: *const ::std::os::raw::c_char,
2893    pub tooltip: *const ::std::os::raw::c_char,
2894    pub type_: ShortcutType,
2895    pub ignore_modifiers: bool,
2896    pub ignore_key: bool,
2897    pub _padding_98: [::std::os::raw::c_char; 2usize],
2898    pub name_hash: StrhashT,
2899}
2900impl Default for ShortcutI {
2901    fn default() -> Self {
2902        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2903        unsafe {
2904            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2905            s.assume_init()
2906        }
2907    }
2908}
2909#[repr(C)]
2910#[derive(Default, Copy, Clone)]
2911pub struct ShortcutManagerApi {
2912    pub load_settings:
2913        ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO, index: TtIdT)>,
2914    pub accelerator_text: ::std::option::Option<
2915        unsafe extern "C" fn(shortcut: *const ShortcutI) -> *const ::std::os::raw::c_char,
2916    >,
2917    pub is_shortcut_triggered: ::std::option::Option<
2918        unsafe extern "C" fn(ui: *mut UiO, shortcut: *const ShortcutI) -> bool,
2919    >,
2920    pub is_shortcut_triggered_in_input: ::std::option::Option<
2921        unsafe extern "C" fn(input_state: *const UiInputStateT, shortcut: *const ShortcutI) -> bool,
2922    >,
2923    pub disable_shortcut_processing: ::std::option::Option<unsafe extern "C" fn()>,
2924}
2925pub const TM_TT_PROP__SHORTCUTS_ENTRY__NAME: TM_TT_PROP__SHORTCUTS_ENTRY = 0;
2926pub const TM_TT_PROP__SHORTCUTS_ENTRY__PRIMARY_KEY: TM_TT_PROP__SHORTCUTS_ENTRY = 1;
2927pub const TM_TT_PROP__SHORTCUTS_ENTRY__PRIMARY_MODIFIERS: TM_TT_PROP__SHORTCUTS_ENTRY = 2;
2928pub const TM_TT_PROP__SHORTCUTS_ENTRY__SECONDARY_KEY: TM_TT_PROP__SHORTCUTS_ENTRY = 3;
2929pub const TM_TT_PROP__SHORTCUTS_ENTRY__SECONDARY_MODIFIERS: TM_TT_PROP__SHORTCUTS_ENTRY = 4;
2930pub type TM_TT_PROP__SHORTCUTS_ENTRY = ::std::os::raw::c_int;
2931pub const TM_TT_PROP__SHORTCUTS_INDEX__ENTRIES: TM_TT_PROP__SHORTCUTS_INDEX = 0;
2932pub type TM_TT_PROP__SHORTCUTS_INDEX = ::std::os::raw::c_int;
2933pub const TM_TT_PROP__TOOLBAR_SETTINGS__ID: ::std::os::raw::c_int = 0;
2934pub const TM_TT_PROP__TOOLBAR_SETTINGS__CONTAINER: ::std::os::raw::c_int = 1;
2935pub const TM_TT_PROP__TOOLBAR_SETTINGS__ANCHOR: ::std::os::raw::c_int = 2;
2936pub const TM_TT_PROP__TOOLBAR_SETTINGS__ANCHOR_ORDER: ::std::os::raw::c_int = 3;
2937pub const TM_TT_PROP__TOOLBAR_SETTINGS__POSITION_X: ::std::os::raw::c_int = 4;
2938pub const TM_TT_PROP__TOOLBAR_SETTINGS__POSITION_Y: ::std::os::raw::c_int = 5;
2939pub const TM_TT_PROP__TOOLBAR_SETTINGS__WIDTH: ::std::os::raw::c_int = 6;
2940pub const TM_TT_PROP__TOOLBAR_SETTINGS__HEIGHT: ::std::os::raw::c_int = 7;
2941pub const TM_TT_PROP__TOOLBAR_SETTINGS__DRAW_MODE: ::std::os::raw::c_int = 8;
2942pub type _bindgen_ty_11 = ::std::os::raw::c_int;
2943pub const TM_TOOLBAR_CONTAINER_TOP: ToolbarContainer = 0;
2944pub const TM_TOOLBAR_CONTAINER_BOTTOM: ToolbarContainer = 1;
2945pub const TM_TOOLBAR_CONTAINER_LEFT: ToolbarContainer = 2;
2946pub const TM_TOOLBAR_CONTAINER_RIGHT: ToolbarContainer = 3;
2947pub const TM_TOOLBAR_CONTAINER_OVERLAY: ToolbarContainer = 4;
2948pub const TM_TOOLBAR_CONTAINER_COUNT: ToolbarContainer = 5;
2949pub type ToolbarContainer = ::std::os::raw::c_int;
2950pub const TM_TOOLBAR_ANCHOR_NONE: ToolbarAnchor = 0;
2951pub const TM_TOOLBAR_ANCHOR_END: ToolbarAnchor = 1;
2952pub const TM_TOOLBAR_ANCHOR_BEGINNING: ToolbarAnchor = 2;
2953pub type ToolbarAnchor = ::std::os::raw::c_int;
2954pub const TM_TOOLBAR_FLAG_FILL: ToolbarFlags = 1;
2955pub const TM_TOOLBAR_FLAG_OVERLAY_RESIZE_X: ToolbarFlags = 2;
2956pub const TM_TOOLBAR_FLAG_OVERLAY_RESIZE_Y: ToolbarFlags = 4;
2957pub const TM_TOOLBAR_FLAG_FORCE_ANCHOR: ToolbarFlags = 8;
2958pub type ToolbarFlags = ::std::os::raw::c_int;
2959pub const TM_TOOLBAR_DRAW_MODE_HORIZONTAL: ToolbarDrawMode = 1;
2960pub const TM_TOOLBAR_DRAW_MODE_VERTICAL: ToolbarDrawMode = 2;
2961pub const TM_TOOLBAR_DRAW_MODE_WIDGET: ToolbarDrawMode = 4;
2962pub const TM_TOOLBAR_DRAW_MODE_ALL: ToolbarDrawMode = 7;
2963pub type ToolbarDrawMode = ::std::os::raw::c_int;
2964#[repr(C)]
2965pub struct ToolbarI {
2966    pub id: u64,
2967    pub owner: *mut ::std::os::raw::c_void,
2968    pub display_name: ::std::option::Option<
2969        unsafe extern "C" fn(toolbar: *mut ToolbarI) -> *const ::std::os::raw::c_char,
2970    >,
2971    pub ui: ::std::option::Option<
2972        unsafe extern "C" fn(
2973            toolbar: *mut ToolbarI,
2974            ui: *mut UiO,
2975            uistyle: *const UiStyleT,
2976            toolbar_r: RectT,
2977            draw_mode: ToolbarDrawMode,
2978        ) -> RectT,
2979    >,
2980    pub close: ::std::option::Option<unsafe extern "C" fn(toolbar: *mut ToolbarI)>,
2981    pub custom_settings:
2982        ::std::option::Option<unsafe extern "C" fn(toolbar: *mut ToolbarI, tm_ui_o: *mut UiO)>,
2983    pub default_container: ToolbarContainer,
2984    pub default_anchor: ToolbarAnchor,
2985    pub tool_ids: *const StrhashT,
2986    pub num_tool_ids: u32,
2987    pub flags: ToolbarFlags,
2988    pub overlay_default_size: Vec2T,
2989    pub fill_min_size: f32,
2990    pub draw_mode_mask: ToolbarDrawMode,
2991}
2992impl Default for ToolbarI {
2993    fn default() -> Self {
2994        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2995        unsafe {
2996            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2997            s.assume_init()
2998        }
2999    }
3000}
3001#[repr(C)]
3002#[derive(Default, Copy, Clone)]
3003pub struct ToolbarApi {
3004    pub create_state: ::std::option::Option<
3005        unsafe extern "C" fn(allocator: *mut AllocatorI) -> *mut ToolbarsStateO,
3006    >,
3007    pub destroy_state: ::std::option::Option<unsafe extern "C" fn(state: *mut ToolbarsStateO)>,
3008    pub calculate_rect: ::std::option::Option<
3009        unsafe extern "C" fn(state: *const ToolbarsStateO, ui: *mut UiO, full_rect: RectT) -> RectT,
3010    >,
3011    pub ui: ::std::option::Option<
3012        unsafe extern "C" fn(
3013            toolbars: *mut ToolbarI,
3014            num_toolbars: u32,
3015            state: *mut ToolbarsStateO,
3016            ui: *mut UiO,
3017            uistyle: *const UiStyleT,
3018            full_rect: RectT,
3019            settings_tt: *mut TheTruthO,
3020            settings_obj: TtIdT,
3021        ),
3022    >,
3023}
3024#[repr(C)]
3025#[derive(Default, Copy, Clone)]
3026pub struct TtfRangeT {
3027    pub start: u32,
3028    pub n: u32,
3029}
3030#[repr(C)]
3031#[derive(Default, Copy, Clone)]
3032pub struct TtfBakerApi {
3033    pub bake: ::std::option::Option<
3034        unsafe extern "C" fn(
3035            ttf: *const u8,
3036            font_index: u32,
3037            font_size: f32,
3038            font_scales: *const f32,
3039            num_scales: u32,
3040            texture_identifier: u32,
3041            pixels: *mut u8,
3042            width: u32,
3043            height: u32,
3044            ranges: *const TtfRangeT,
3045            num_ranges: u32,
3046            extract_glyph_segments: bool,
3047            allocator: *mut AllocatorI,
3048            font_bytes: *mut u64,
3049        ) -> *mut FontT,
3050    >,
3051}
3052pub const TM_UI_COLOR_CHROME_BACKGROUND: UiColor = 0;
3053pub const TM_UI_COLOR_WINDOW_BACKGROUND: UiColor = 1;
3054pub const TM_UI_COLOR_WINDOW_SELECTION: UiColor = 2;
3055pub const TM_UI_COLOR_WINDOW_STATUS_BAR: UiColor = 3;
3056pub const TM_UI_COLOR_WINDOW_STATUS_BAR_TEXT: UiColor = 4;
3057pub const TM_UI_COLOR_SELECTION: UiColor = 5;
3058pub const TM_UI_COLOR_SELECTION_NO_FOCUS: UiColor = 6;
3059pub const TM_UI_COLOR_SELECTION_HOVER: UiColor = 7;
3060pub const TM_UI_COLOR_TEXT: UiColor = 8;
3061pub const TM_UI_COLOR_DISABLED_TEXT: UiColor = 9;
3062pub const TM_UI_COLOR_SELECTED_TEXT_NO_FOCUS: UiColor = 10;
3063pub const TM_UI_COLOR_SELECTED_TEXT: UiColor = 11;
3064pub const TM_UI_COLOR_ERROR_TEXT: UiColor = 12;
3065pub const TM_UI_COLOR_FILTERED_TEXT: UiColor = 13;
3066pub const TM_UI_COLOR_PROTOTYPE_RELATION_BASE: UiColor = 14;
3067pub const TM_UI_COLOR_PROTOTYPE_RELATION_ADDED: UiColor = 14;
3068pub const TM_UI_COLOR_PROTOTYPE_RELATION_ASSET: UiColor = 15;
3069pub const TM_UI_COLOR_PROTOTYPE_RELATION_INHERITED: UiColor = 16;
3070pub const TM_UI_COLOR_PROTOTYPE_RELATION_INSTANTIATED: UiColor = 17;
3071pub const TM_UI_COLOR_PROTOTYPE_RELATION_REMOVED: UiColor = 18;
3072pub const TM_UI_COLOR_THIN_LINES: UiColor = 19;
3073pub const TM_UI_COLOR_THIN_LINES_HOVER: UiColor = 20;
3074pub const TM_UI_COLOR_ICONS: UiColor = 21;
3075pub const TM_UI_COLOR_ICONS_HOVER: UiColor = 22;
3076pub const TM_UI_COLOR_ICONS_ACTIVE: UiColor = 23;
3077pub const TM_UI_COLOR_ICON_DIRECTORY: UiColor = 24;
3078pub const TM_UI_COLOR_ICON_ASSET: UiColor = 25;
3079pub const TM_UI_COLOR_ICON_ENTITY: UiColor = 26;
3080pub const TM_UI_COLOR_ICON_COMPONENT: UiColor = 27;
3081pub const TM_UI_COLOR_ICON_IMAGE: UiColor = 28;
3082pub const TM_UI_COLOR_ICON_MATERIAL: UiColor = 29;
3083pub const TM_UI_COLOR_BUTTON_BACKGROUND: UiColor = 30;
3084pub const TM_UI_COLOR_BUTTON_BACKGROUND_HOVER: UiColor = 31;
3085pub const TM_UI_COLOR_BUTTON_BACKGROUND_ACTIVE: UiColor = 32;
3086pub const TM_UI_COLOR_BUTTON_FOREGROUND_ACTIVE: UiColor = 33;
3087pub const TM_UI_COLOR_BUTTON_BORDER: UiColor = 34;
3088pub const TM_UI_COLOR_BUTTON_BORDER_HOVER: UiColor = 35;
3089pub const TM_UI_COLOR_BUTTON_BORDER_ACTIVE: UiColor = 36;
3090pub const TM_UI_COLOR_CONTROL_BACKGROUND: UiColor = 37;
3091pub const TM_UI_COLOR_CONTROL_BACKGROUND_HOVER: UiColor = 38;
3092pub const TM_UI_COLOR_CONTROL_BACKGROUND_ACTIVE: UiColor = 39;
3093pub const TM_UI_COLOR_CONTROL_BORDER: UiColor = 40;
3094pub const TM_UI_COLOR_CONTROL_BORDER_HOVER: UiColor = 41;
3095pub const TM_UI_COLOR_CONTROL_BORDER_ACTIVE: UiColor = 42;
3096pub const TM_UI_COLOR_MENU_BACKGROUND: UiColor = 43;
3097pub const TM_UI_COLOR_MENU_SELECTED: UiColor = 44;
3098pub const TM_UI_COLOR_MENUBAR_HOVER: UiColor = 45;
3099pub const TM_UI_COLOR_TOOLTIP_BACKGROUND: UiColor = 46;
3100pub const TM_UI_COLOR_TOOLTIP_BORDER: UiColor = 47;
3101pub const TM_UI_COLOR_TOOLTIP_TEXT: UiColor = 48;
3102pub const TM_UI_COLOR_VIEWPORT_BACKGROUND: UiColor = 49;
3103pub const TM_UI_COLOR_VIEWPORT_SELECTION: UiColor = 50;
3104pub const TM_UI_COLOR_LINK_COLOR: UiColor = 51;
3105pub const TM_UI_COLOR_LINK_COLOR_HOVER: UiColor = 52;
3106pub const TM_UI_COLOR_NODE_BACKGROUND: UiColor = 53;
3107pub const TM_UI_COLOR_NODE_GPU_BACKGROUND: UiColor = 54;
3108pub const TM_UI_COLOR_NODE_GPU_BACKGROUND_WATERMARK_TEXT: UiColor = 55;
3109pub const TM_UI_COLOR_NODE_EXECUTION_COLOR: UiColor = 56;
3110pub const TM_UI_COLOR_GRAPH_GRID_THIN_LINE: UiColor = 57;
3111pub const TM_UI_COLOR_GRAPH_GRID_THICK_LINE: UiColor = 58;
3112pub const TM_UI_COLOR_SCROLLBAR_BACKGROUND: UiColor = 59;
3113pub const TM_UI_COLOR_SCROLLBAR: UiColor = 60;
3114pub const TM_UI_COLOR_SCROLLBAR_HOVER: UiColor = 61;
3115pub const TM_UI_COLOR_SCROLLBAR_ACTIVE: UiColor = 62;
3116pub const TM_UI_COLOR_TOOLBAR_BACKGROUND: UiColor = 63;
3117pub const TM_UI_COLOR_TOOLBAR_DRAG_HANDLE: UiColor = 64;
3118pub const TM_UI_COLOR_TOOLBAR_DROP_ZONE: UiColor = 65;
3119pub const TM_UI_COLOR_TOOLBAR_THIN_LINES: UiColor = 66;
3120pub const TM_UI_COLOR_TOOLBAR_THIN_LINES_HOVER: UiColor = 67;
3121pub const TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND: UiColor = 68;
3122pub const TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND_HOVER: UiColor = 69;
3123pub const TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND_ACTIVE: UiColor = 70;
3124pub const TM_UI_COLOR_GIZMO_AXIS_X: UiColor = 71;
3125pub const TM_UI_COLOR_GIZMO_AXIS_Y: UiColor = 72;
3126pub const TM_UI_COLOR_GIZMO_AXIS_Z: UiColor = 73;
3127pub const TM_UI_COLOR_GIZMO_AXIS_SELECTED: UiColor = 74;
3128pub const TM_UI_COLOR_COUNT: UiColor = 75;
3129pub type UiColor = ::std::os::raw::c_int;
3130pub const TM_UI_METRIC_LINE_WIDTH: UiMetric = 0;
3131pub const TM_UI_METRIC_INPUT_CORNER_RADIUS: UiMetric = 1;
3132pub const TM_UI_METRIC_WINDOW_TITLE_HEIGHT: UiMetric = 2;
3133pub const TM_UI_METRIC_WINDOW_MIN_SIZE: UiMetric = 3;
3134pub const TM_UI_METRIC_MENUBAR_HEIGHT: UiMetric = 4;
3135pub const TM_UI_METRIC_MENU_ITEM_HEIGHT: UiMetric = 5;
3136pub const TM_UI_METRIC_SCROLLBAR_WIDTH: UiMetric = 6;
3137pub const TM_UI_METRIC_SCROLLBAR_PADDING: UiMetric = 7;
3138pub const TM_UI_METRIC_MARGIN: UiMetric = 8;
3139pub const TM_UI_METRIC_TEXT_MARGIN: UiMetric = 9;
3140pub const TM_UI_METRIC_SPLITTER_SIZE: UiMetric = 10;
3141pub const TM_UI_METRIC_TOOLTIP_HOVER_TIME: UiMetric = 11;
3142pub const TM_UI_METRIC_TOOLTIP_WIDTH: UiMetric = 12;
3143pub const TM_UI_METRIC_TREE_ARROW_SCALE: UiMetric = 13;
3144pub const TM_UI_METRIC_TREE_ICON_WIDTH: UiMetric = 14;
3145pub const TM_UI_METRIC_TOOLBAR_HEIGHT: UiMetric = 15;
3146pub const TM_UI_METRIC_TOOLBAR_OUTER_MARGIN: UiMetric = 16;
3147pub const TM_UI_METRIC_TOOLBAR_INNER_MARGIN: UiMetric = 17;
3148pub const TM_UI_METRIC_TOOLBAR_WIDGET_MARGIN: UiMetric = 18;
3149pub const TM_UI_METRIC_COUNT: UiMetric = 19;
3150pub type UiMetric = ::std::os::raw::c_int;
3151pub const TM_TT_PROP__UI_THEME__NAME: ::std::os::raw::c_int = 0;
3152pub const TM_TT_PROP__UI_THEME__BASED_ON: ::std::os::raw::c_int = 1;
3153pub const TM_TT_PROP__UI_THEME__COLORS: ::std::os::raw::c_int = 2;
3154pub type _bindgen_ty_12 = ::std::os::raw::c_int;
3155pub const TM_TT_PROP__UI_THEME_COLOR__NAME: ::std::os::raw::c_int = 0;
3156pub const TM_TT_PROP__UI_THEME_COLOR__COLOR: ::std::os::raw::c_int = 1;
3157pub type _bindgen_ty_13 = ::std::os::raw::c_int;
3158pub const TM_UI__DEFAULT_THEME__DARK: UiDefaultTheme = 0;
3159pub const TM_UI__DEFAULT_THEME__LIGHT: UiDefaultTheme = 1;
3160pub const TM_UI__DEFAULT_THEME__DARK_HIGH_CONTRAST: UiDefaultTheme = 2;
3161pub const TM_UI__DEFAULT_THEME__LIGHT_HIGH_CONTRAST: UiDefaultTheme = 3;
3162pub type UiDefaultTheme = ::std::os::raw::c_int;
3163#[repr(C)]
3164pub struct UiThemeT {
3165    pub based_on: UiDefaultTheme,
3166    pub _padding_281: [::std::os::raw::c_char; 4usize],
3167    pub tt: *mut TheTruthO,
3168    pub id: TtIdT,
3169}
3170impl Default for UiThemeT {
3171    fn default() -> Self {
3172        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3173        unsafe {
3174            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3175            s.assume_init()
3176        }
3177    }
3178}
3179pub const TM_UI_BUFFER_MAIN: UiBuffer = 0;
3180pub const TM_UI_BUFFER_OVERLAY: UiBuffer = 1;
3181pub type UiBuffer = ::std::os::raw::c_int;
3182#[repr(C)]
3183#[derive(Copy, Clone)]
3184pub struct UiStyleT {
3185    pub clip: u32,
3186    pub _padding_301: [::std::os::raw::c_char; 4usize],
3187    pub font: *const Draw2dFontT,
3188    pub font_scale: f32,
3189    pub buffer: UiBuffer,
3190    pub feather_width: f32,
3191    pub _padding_314: [::std::os::raw::c_char; 4usize],
3192}
3193impl Default for UiStyleT {
3194    fn default() -> Self {
3195        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3196        unsafe {
3197            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3198            s.assume_init()
3199        }
3200    }
3201}
3202#[repr(C)]
3203pub struct UiScrollbarT {
3204    pub id: u64,
3205    pub rect: RectT,
3206    pub min: f32,
3207    pub max: f32,
3208    pub size: f32,
3209    pub _padding_327: [::std::os::raw::c_char; 4usize],
3210}
3211impl Default for UiScrollbarT {
3212    fn default() -> Self {
3213        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3214        unsafe {
3215            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3216            s.assume_init()
3217        }
3218    }
3219}
3220pub const TM_UI_SCROLLBAR_VISIBILITY_WHEN_NEEDED: UiScrollbarVisibility = 0;
3221pub const TM_UI_SCROLLBAR_VISIBILITY_NEVER: UiScrollbarVisibility = 1;
3222pub const TM_UI_SCROLLBAR_VISIBILITY_ALWAYS: UiScrollbarVisibility = 2;
3223pub type UiScrollbarVisibility = ::std::os::raw::c_int;
3224#[repr(C)]
3225pub struct UiScrollviewT {
3226    pub id: u64,
3227    pub rect: RectT,
3228    pub canvas: RectT,
3229    pub visibility_x: UiScrollbarVisibility,
3230    pub visibility_y: UiScrollbarVisibility,
3231}
3232impl Default for UiScrollviewT {
3233    fn default() -> Self {
3234        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3235        unsafe {
3236            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3237            s.assume_init()
3238        }
3239    }
3240}
3241#[repr(C)]
3242pub struct UiLabelT {
3243    pub id: u64,
3244    pub rect: RectT,
3245    pub icon: u32,
3246    pub _padding_364: [::std::os::raw::c_char; 4usize],
3247    pub text: *const ::std::os::raw::c_char,
3248    pub tooltip: *const ::std::os::raw::c_char,
3249}
3250impl Default for UiLabelT {
3251    fn default() -> Self {
3252        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3253        unsafe {
3254            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3255            s.assume_init()
3256        }
3257    }
3258}
3259pub const TM_UI_ALIGN_LEFT: UiAlign = 0;
3260pub const TM_UI_ALIGN_CENTER: UiAlign = 1;
3261pub const TM_UI_ALIGN_RIGHT: UiAlign = 2;
3262pub type UiAlign = ::std::os::raw::c_int;
3263#[repr(C)]
3264pub struct UiTextT {
3265    pub id: u64,
3266    pub rect: RectT,
3267    pub text: *const ::std::os::raw::c_char,
3268    pub tooltip: *const ::std::os::raw::c_char,
3269    pub color: *const ColorSrgbT,
3270    pub align: UiAlign,
3271    pub _padding_388: [::std::os::raw::c_char; 4usize],
3272}
3273impl Default for UiTextT {
3274    fn default() -> Self {
3275        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3276        unsafe {
3277            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3278            s.assume_init()
3279        }
3280    }
3281}
3282#[repr(C)]
3283pub struct UiLinkT {
3284    pub id: u64,
3285    pub rect: RectT,
3286    pub text: *const ::std::os::raw::c_char,
3287    pub tooltip: *const ::std::os::raw::c_char,
3288    pub color: *const ColorSrgbT,
3289    pub align: UiAlign,
3290    pub _padding_404: [::std::os::raw::c_char; 4usize],
3291}
3292impl Default for UiLinkT {
3293    fn default() -> Self {
3294        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3295        unsafe {
3296            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3297            s.assume_init()
3298        }
3299    }
3300}
3301#[repr(C)]
3302pub struct UiButtonT {
3303    pub id: u64,
3304    pub rect: RectT,
3305    pub visible_rect: RectT,
3306    pub icon: u32,
3307    pub _padding_416: [::std::os::raw::c_char; 4usize],
3308    pub text: *const ::std::os::raw::c_char,
3309    pub text_color: *const ColorSrgbT,
3310    pub tooltip: *const ::std::os::raw::c_char,
3311    pub text_offset_y: f32,
3312    pub is_disabled: bool,
3313    pub hide_background: bool,
3314    pub hide_margins: bool,
3315    pub _padding_426: [::std::os::raw::c_char; 1usize],
3316}
3317impl Default for UiButtonT {
3318    fn default() -> Self {
3319        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3320        unsafe {
3321            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3322            s.assume_init()
3323        }
3324    }
3325}
3326#[repr(C)]
3327pub struct UiCheckboxT {
3328    pub id: u64,
3329    pub rect: RectT,
3330    pub is_disabled: bool,
3331    pub _padding_435: [::std::os::raw::c_char; 7usize],
3332    pub text: *const ::std::os::raw::c_char,
3333    pub tooltip: *const ::std::os::raw::c_char,
3334}
3335impl Default for UiCheckboxT {
3336    fn default() -> Self {
3337        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3338        unsafe {
3339            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3340            s.assume_init()
3341        }
3342    }
3343}
3344#[repr(C)]
3345pub struct UiRadioT {
3346    pub id: u64,
3347    pub rect: RectT,
3348    pub is_disabled: bool,
3349    pub _padding_447: [::std::os::raw::c_char; 7usize],
3350    pub text: *const ::std::os::raw::c_char,
3351    pub tooltip: *const ::std::os::raw::c_char,
3352}
3353impl Default for UiRadioT {
3354    fn default() -> Self {
3355        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3356        unsafe {
3357            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3358            s.assume_init()
3359        }
3360    }
3361}
3362#[repr(C)]
3363pub struct UiProgressT {
3364    pub id: u64,
3365    pub rect: RectT,
3366    pub text: *const ::std::os::raw::c_char,
3367}
3368impl Default for UiProgressT {
3369    fn default() -> Self {
3370        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3371        unsafe {
3372            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3373            s.assume_init()
3374        }
3375    }
3376}
3377#[repr(C)]
3378pub struct UiSliderT {
3379    pub id: u64,
3380    pub rect: RectT,
3381    pub is_disabled: bool,
3382    pub _padding_468: [::std::os::raw::c_char; 3usize],
3383    pub min: f32,
3384    pub max: f32,
3385    pub step: f32,
3386}
3387impl Default for UiSliderT {
3388    fn default() -> Self {
3389        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3390        unsafe {
3391            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3392            s.assume_init()
3393        }
3394    }
3395}
3396#[repr(C)]
3397pub struct Ui2dSliderT {
3398    pub id: u64,
3399    pub rect: RectT,
3400    pub is_disabled: bool,
3401    pub is_circular: bool,
3402    pub _padding_487: [::std::os::raw::c_char; 2usize],
3403    pub min: Vec2T,
3404    pub max: Vec2T,
3405    pub step: f32,
3406}
3407impl Default for Ui2dSliderT {
3408    fn default() -> Self {
3409        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3410        unsafe {
3411            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3412            s.assume_init()
3413        }
3414    }
3415}
3416pub const TM_UI_SPINNER__DECIMALS__DEFAULT: ::std::os::raw::c_int = 0;
3417pub const TM_UI_SPINNER__DECIMALS__0: ::std::os::raw::c_int = 1;
3418pub const TM_UI_SPINNER__DECIMALS__1: ::std::os::raw::c_int = 2;
3419pub const TM_UI_SPINNER__DECIMALS__2: ::std::os::raw::c_int = 3;
3420pub const TM_UI_SPINNER__DECIMALS__3: ::std::os::raw::c_int = 4;
3421pub const TM_UI_SPINNER__DECIMALS__4: ::std::os::raw::c_int = 5;
3422pub const TM_UI_SPINNER__DECIMALS__5: ::std::os::raw::c_int = 6;
3423pub type _bindgen_ty_14 = ::std::os::raw::c_int;
3424#[repr(C)]
3425pub struct UiSpinnerT {
3426    pub id: u64,
3427    pub rect: RectT,
3428    pub is_disabled: bool,
3429    pub _padding_519: [::std::os::raw::c_char; 7usize],
3430    pub min: f64,
3431    pub max: f64,
3432    pub value_per_pixel: f64,
3433    pub decimals: u32,
3434    pub _padding_529: [::std::os::raw::c_char; 4usize],
3435    pub tooltip: *const ::std::os::raw::c_char,
3436}
3437impl Default for UiSpinnerT {
3438    fn default() -> Self {
3439        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3440        unsafe {
3441            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3442            s.assume_init()
3443        }
3444    }
3445}
3446#[repr(C)]
3447pub struct UiDropdownT {
3448    pub id: u64,
3449    pub rect: RectT,
3450    pub is_disabled: bool,
3451    pub _padding_539: [::std::os::raw::c_char; 7usize],
3452    pub items: *mut *const ::std::os::raw::c_char,
3453    pub tooltips: *mut *const ::std::os::raw::c_char,
3454    pub num_items: u32,
3455    pub _padding_547: [::std::os::raw::c_char; 4usize],
3456}
3457impl Default for UiDropdownT {
3458    fn default() -> Self {
3459        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3460        unsafe {
3461            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3462            s.assume_init()
3463        }
3464    }
3465}
3466#[repr(C)]
3467pub struct UiTexteditT {
3468    pub id: u64,
3469    pub rect: RectT,
3470    pub is_disabled: bool,
3471    pub is_password: bool,
3472    pub _padding_557: [::std::os::raw::c_char; 6usize],
3473    pub default_text: *const ::std::os::raw::c_char,
3474    pub select_all_on_mouse_activate: bool,
3475    pub scroll_to_end: bool,
3476    pub select_all_on_startup: bool,
3477    pub _padding_574: [::std::os::raw::c_char; 1usize],
3478    pub select: UiTexteditTBindgenTy1,
3479}
3480#[repr(C)]
3481#[derive(Default, Copy, Clone)]
3482pub struct UiTexteditTBindgenTy1 {
3483    pub all: bool,
3484    pub range: bool,
3485    pub _padding_584: [::std::os::raw::c_char; 2usize],
3486    pub start: u32,
3487    pub end: u32,
3488}
3489impl Default for UiTexteditT {
3490    fn default() -> Self {
3491        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3492        unsafe {
3493            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3494            s.assume_init()
3495        }
3496    }
3497}
3498pub const TM_UI_MENU_DEFAULT_ID_BASE: ::std::os::raw::c_int = -268435456;
3499pub type _bindgen_ty_15 = ::std::os::raw::c_int;
3500#[repr(C)]
3501#[derive(Copy, Clone)]
3502pub struct UiMenuItemT {
3503    pub text: *const ::std::os::raw::c_char,
3504    pub shortcut: *mut ShortcutI,
3505    pub accelerator: *const ::std::os::raw::c_char,
3506    pub tooltip: *const ::std::os::raw::c_char,
3507    pub item_id: u64,
3508    pub toggle: *mut bool,
3509    pub is_checked: bool,
3510    pub has_submenu: bool,
3511    pub is_disabled: bool,
3512    pub is_hidden: bool,
3513    pub icon: u32,
3514}
3515impl Default for UiMenuItemT {
3516    fn default() -> Self {
3517        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3518        unsafe {
3519            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3520            s.assume_init()
3521        }
3522    }
3523}
3524#[repr(C)]
3525pub struct UiMenubarT {
3526    pub id: u64,
3527    pub pos: Vec2T,
3528    pub width: f32,
3529    pub padding_left_right: f32,
3530    pub items: *const UiMenuItemT,
3531    pub num_items: u32,
3532    pub _padding_665: [::std::os::raw::c_char; 4usize],
3533}
3534impl Default for UiMenubarT {
3535    fn default() -> Self {
3536        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3537        unsafe {
3538            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3539            s.assume_init()
3540        }
3541    }
3542}
3543#[repr(C)]
3544pub struct UiMenuT {
3545    pub pos: Vec2T,
3546    pub items: *const UiMenuItemT,
3547    pub num_items: u32,
3548    pub _padding_679: [::std::os::raw::c_char; 4usize],
3549}
3550impl Default for UiMenuT {
3551    fn default() -> Self {
3552        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3553        unsafe {
3554            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3555            s.assume_init()
3556        }
3557    }
3558}
3559#[repr(C)]
3560pub struct UiMenuResultT {
3561    pub selected_item_id: u64,
3562    pub selected_text: *const ::std::os::raw::c_char,
3563    pub highlighted_item_id: u64,
3564    pub submenu_pos: Vec2T,
3565}
3566impl Default for UiMenuResultT {
3567    fn default() -> Self {
3568        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3569        unsafe {
3570            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3571            s.assume_init()
3572        }
3573    }
3574}
3575#[repr(C)]
3576pub struct UiTreeitemT {
3577    pub id: u64,
3578    pub rect: RectT,
3579    pub text: *const ::std::os::raw::c_char,
3580}
3581impl Default for UiTreeitemT {
3582    fn default() -> Self {
3583        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3584        unsafe {
3585            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3586            s.assume_init()
3587        }
3588    }
3589}
3590pub const TM_UI_TAB_PIN_TYPE__NONE: UiTabPinType = 0;
3591pub const TM_UI_TAB_PIN_TYPE__OBJECT: UiTabPinType = 1;
3592pub const TM_UI_TAB_PIN_TYPE__TABS: UiTabPinType = 2;
3593pub const TM_UI_TAB_PIN_TYPE__WINDOWS: UiTabPinType = 3;
3594pub type UiTabPinType = ::std::os::raw::c_int;
3595#[repr(C)]
3596pub struct UiTabbarItemT {
3597    pub text: *const ::std::os::raw::c_char,
3598    pub id: u64,
3599    pub has_close_box: bool,
3600    pub has_pin: bool,
3601    pub _padding_736: [::std::os::raw::c_char; 2usize],
3602    pub pin_type: UiTabPinType,
3603    pub has_border_color: bool,
3604    pub _padding_741: [::std::os::raw::c_char; 3usize],
3605    pub border_color: ColorSrgbT,
3606    pub disable_drag: bool,
3607    pub _padding_746: [::std::os::raw::c_char; 3usize],
3608    pub out_text_rect: RectT,
3609    pub _padding_750: [::std::os::raw::c_char; 4usize],
3610    pub icon: u32,
3611    pub _padding_754: [::std::os::raw::c_char; 4usize],
3612}
3613impl Default for UiTabbarItemT {
3614    fn default() -> Self {
3615        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3616        unsafe {
3617            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3618            s.assume_init()
3619        }
3620    }
3621}
3622#[repr(C)]
3623pub struct UiTabbarT {
3624    pub id: u64,
3625    pub rect: RectT,
3626    pub items: *mut UiTabbarItemT,
3627    pub num_items: u32,
3628    pub num_pseudo_items: u32,
3629    pub _padding_770: [::std::os::raw::c_char; 4usize],
3630    pub can_drag: bool,
3631    pub can_drag_off: bool,
3632    pub is_dragging_external_tab: bool,
3633    pub _padding_784: [::std::os::raw::c_char; 1usize],
3634    pub dragged_external_item: *mut *const ::std::os::raw::c_char,
3635    pub vertical: bool,
3636    pub _padding_793: [::std::os::raw::c_char; 7usize],
3637}
3638impl Default for UiTabbarT {
3639    fn default() -> Self {
3640        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3641        unsafe {
3642            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3643            s.assume_init()
3644        }
3645    }
3646}
3647pub const TM_UI_TABBAR_EVENT_NONE: UiTabbarEvent = 0;
3648pub const TM_UI_TABBAR_EVENT_SELECT: UiTabbarEvent = 1;
3649pub const TM_UI_TABBAR_EVENT_CLOSE: UiTabbarEvent = 2;
3650pub const TM_UI_TABBAR_EVENT_REORDER: UiTabbarEvent = 3;
3651pub const TM_UI_TABBAR_EVENT_DRAG_OFF: UiTabbarEvent = 4;
3652pub const TM_UI_TABBAR_EVENT_EXTERNAL_DROP: UiTabbarEvent = 5;
3653pub const TM_UI_TABBAR_EVENT_CONTEXT_MENU: UiTabbarEvent = 6;
3654pub const TM_UI_TABBAR_EVENT_PIN: UiTabbarEvent = 7;
3655pub type UiTabbarEvent = ::std::os::raw::c_int;
3656#[repr(C)]
3657pub struct UiTabbarResultT {
3658    pub event: UiTabbarEvent,
3659    pub item: u32,
3660    pub new_position: u32,
3661    pub drag_offset: Vec2T,
3662    pub hovered_item: u32,
3663    pub hover: bool,
3664    pub _padding_839: [::std::os::raw::c_char; 3usize],
3665}
3666impl Default for UiTabbarResultT {
3667    fn default() -> Self {
3668        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3669        unsafe {
3670            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3671            s.assume_init()
3672        }
3673    }
3674}
3675#[repr(C)]
3676pub struct UiDraggedtabT {
3677    pub id: u64,
3678    pub rect: RectT,
3679    pub text: *const ::std::os::raw::c_char,
3680    pub has_close_box: bool,
3681    pub has_pin: bool,
3682    pub _padding_854: [::std::os::raw::c_char; 2usize],
3683    pub pin_type: UiTabPinType,
3684}
3685impl Default for UiDraggedtabT {
3686    fn default() -> Self {
3687        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3688        unsafe {
3689            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3690            s.assume_init()
3691        }
3692    }
3693}
3694#[repr(C)]
3695pub struct UiSplitterT {
3696    pub id: u64,
3697    pub rect: RectT,
3698    pub min_size: f32,
3699    pub _padding_865: [::std::os::raw::c_char; 4usize],
3700}
3701impl Default for UiSplitterT {
3702    fn default() -> Self {
3703        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3704        unsafe {
3705            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3706            s.assume_init()
3707        }
3708    }
3709}
3710#[repr(C)]
3711pub struct UiTitlebarT {
3712    pub id: u64,
3713    pub rect: RectT,
3714    pub has_focus: bool,
3715    pub is_maximized: bool,
3716    pub _padding_881: [::std::os::raw::c_char; 6usize],
3717    pub caption: *const ::std::os::raw::c_char,
3718    pub border_width: f32,
3719    pub caption_height: f32,
3720    pub caption_padding: f32,
3721    pub _padding_889: [::std::os::raw::c_char; 4usize],
3722    pub icon_texture: u32,
3723    pub _padding_893: [::std::os::raw::c_char; 4usize],
3724}
3725impl Default for UiTitlebarT {
3726    fn default() -> Self {
3727        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3728        unsafe {
3729            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3730            s.assume_init()
3731        }
3732    }
3733}
3734#[repr(C)]
3735pub struct UiTitlebarResultT {
3736    pub close_window: bool,
3737    pub restore_window: bool,
3738    pub maximize_window: bool,
3739    pub minimize_window: bool,
3740    pub content_r: RectT,
3741}
3742impl Default for UiTitlebarResultT {
3743    fn default() -> Self {
3744        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3745        unsafe {
3746            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3747            s.assume_init()
3748        }
3749    }
3750}
3751pub const TM_UI_CURSOR_DEFAULT: UiCursor = 0;
3752pub const TM_UI_CURSOR_POINTER: UiCursor = 1;
3753pub const TM_UI_CURSOR_TEXT: UiCursor = 2;
3754pub const TM_UI_CURSOR_MOVE: UiCursor = 3;
3755pub const TM_UI_CURSOR_ALL_SCROLL: UiCursor = 4;
3756pub const TM_UI_CURSOR_COL_RESIZE: UiCursor = 5;
3757pub const TM_UI_CURSOR_ROW_RESIZE: UiCursor = 6;
3758pub const TM_UI_CURSOR_EW_RESIZE: UiCursor = 7;
3759pub const TM_UI_CURSOR_NS_RESIZE: UiCursor = 8;
3760pub const TM_UI_CURSOR_NESW_RESIZE: UiCursor = 9;
3761pub const TM_UI_CURSOR_NWSE_RESIZE: UiCursor = 10;
3762pub const TM_UI_CURSOR_DRAG_AND_DROP: UiCursor = 11;
3763pub const TM_UI_CURSOR_NONE: UiCursor = 12;
3764pub type UiCursor = ::std::os::raw::c_int;
3765#[repr(C)]
3766#[derive(Copy, Clone)]
3767pub struct UiBuffersT {
3768    pub vbuffer: *mut Draw2dVbufferT,
3769    pub ibuffers: *mut *mut Draw2dIbufferT,
3770    pub input: *mut UiInputStateT,
3771    pub activation: *mut UiActivationT,
3772    pub metrics: *mut f32,
3773    pub colors: *mut ColorSrgbT,
3774    pub allocator: *mut AllocatorI,
3775}
3776impl Default for UiBuffersT {
3777    fn default() -> Self {
3778        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3779        unsafe {
3780            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3781            s.assume_init()
3782        }
3783    }
3784}
3785pub const TM_UI_INTERACTION_RESULT_NO_CHANGE: UiInteractionResultT = 0;
3786pub const TM_UI_INTERACTION_RESULT_TRANSIENT_CHANGE: UiInteractionResultT = 1;
3787pub const TM_UI_INTERACTION_RESULT_COMMIT: UiInteractionResultT = 2;
3788pub const TM_UI_INTERACTION_RESULT_ABORT: UiInteractionResultT = 3;
3789pub type UiInteractionResultT = ::std::os::raw::c_int;
3790#[repr(C)]
3791#[derive(Copy, Clone)]
3792pub struct UiMouseHelpTextsT {
3793    pub left_mouse_pressed: *const ::std::os::raw::c_char,
3794    pub middle_mouse_pressed: *const ::std::os::raw::c_char,
3795    pub right_mouse_pressed: *const ::std::os::raw::c_char,
3796    pub double_click: *const ::std::os::raw::c_char,
3797    pub triple_click: *const ::std::os::raw::c_char,
3798}
3799impl Default for UiMouseHelpTextsT {
3800    fn default() -> Self {
3801        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3802        unsafe {
3803            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3804            s.assume_init()
3805        }
3806    }
3807}
3808#[repr(C)]
3809pub struct UiFontT {
3810    pub id: StrhashT,
3811    pub size: u32,
3812    pub _padding_1024: [::std::os::raw::c_char; 4usize],
3813    pub font: *mut Draw2dFontT,
3814}
3815impl Default for UiFontT {
3816    fn default() -> Self {
3817        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3818        unsafe {
3819            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3820            s.assume_init()
3821        }
3822    }
3823}
3824pub const TM_UI_SHORTCUT_UNDO: UiShortcut = 0;
3825pub const TM_UI_SHORTCUT_REDO: UiShortcut = 1;
3826pub const TM_UI_SHORTCUT_CUT: UiShortcut = 2;
3827pub const TM_UI_SHORTCUT_COPY: UiShortcut = 3;
3828pub const TM_UI_SHORTCUT_PASTE: UiShortcut = 4;
3829pub const TM_UI_SHORTCUT_DUPLICATE: UiShortcut = 5;
3830pub const TM_UI_SHORTCUT_DELETE: UiShortcut = 6;
3831pub const TM_UI_SHORTCUT_SELECT_ALL: UiShortcut = 7;
3832pub const TM_UI_SHORTCUT_COUNT: UiShortcut = 8;
3833pub type UiShortcut = ::std::os::raw::c_int;
3834#[repr(C)]
3835pub struct UiAutomationControlT {
3836    pub role: StrhashT,
3837    pub title_hash: StrhashT,
3838    pub title: [::std::os::raw::c_char; 128usize],
3839    pub rect: RectT,
3840}
3841impl Default for UiAutomationControlT {
3842    fn default() -> Self {
3843        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3844        unsafe {
3845            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3846            s.assume_init()
3847        }
3848    }
3849}
3850pub const TM_UI_VISUALIZE_FLAG__AUTOMATION_CONTROLS: UiVisualizeFlag = 1;
3851pub type UiVisualizeFlag = ::std::os::raw::c_int;
3852#[repr(C)]
3853#[derive(Default, Copy, Clone)]
3854pub struct UiApi {
3855    pub create: ::std::option::Option<unsafe extern "C" fn(a: *mut AllocatorI) -> *mut UiO>,
3856    pub destroy: ::std::option::Option<unsafe extern "C" fn(i: *mut UiO)>,
3857    pub clear: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
3858    pub release_held_state: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
3859    pub set_window_status: ::std::option::Option<
3860        unsafe extern "C" fn(ui: *mut UiO, rect: RectT, has_focus: bool, is_under_cursor: bool),
3861    >,
3862    pub window_rect: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> RectT>,
3863    pub window_has_focus: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>,
3864    pub window_is_under_cursor: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>,
3865    pub set_feather_width:
3866        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, feather_width: f32)>,
3867    pub feather_width: ::std::option::Option<unsafe extern "C" fn(ui: *const UiO) -> f32>,
3868    pub set_scroll_wheel_lines:
3869        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, scroll_speed: f32)>,
3870    pub feed_events: ::std::option::Option<
3871        unsafe extern "C" fn(
3872            ui: *mut UiO,
3873            events: *const InputEventT,
3874            count: u32,
3875            offset: Vec2T,
3876            scale: Vec2T,
3877        ),
3878    >,
3879    pub feed_external_edit_key: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, key: u32)>,
3880    pub merge_overlay: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
3881    pub begin_overlay_draw_scope:
3882        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>,
3883    pub end_overlay_draw_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>,
3884    pub drawing_in_overlay: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>,
3885    pub cursor: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> UiCursor>,
3886    pub pane: ::std::option::Option<
3887        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, rect: RectT),
3888    >,
3889    pub scrollbar_x: ::std::option::Option<
3890        unsafe extern "C" fn(
3891            ui: *mut UiO,
3892            uistyle: *const UiStyleT,
3893            c: *const UiScrollbarT,
3894            scroll: *mut f32,
3895        ) -> bool,
3896    >,
3897    pub scrollbar_y: ::std::option::Option<
3898        unsafe extern "C" fn(
3899            ui: *mut UiO,
3900            uistyle: *const UiStyleT,
3901            c: *const UiScrollbarT,
3902            scroll: *mut f32,
3903        ) -> bool,
3904    >,
3905    pub begin_scrollview: ::std::option::Option<
3906        unsafe extern "C" fn(
3907            ui: *mut UiO,
3908            style: *const UiStyleT,
3909            c: *const UiScrollviewT,
3910            scroll_x: *mut f32,
3911            scroll_y: *mut f32,
3912            content_rect: *mut RectT,
3913        ) -> bool,
3914    >,
3915    pub end_scrollview: ::std::option::Option<
3916        unsafe extern "C" fn(
3917            ui: *mut UiO,
3918            scroll_x: *mut f32,
3919            scroll_y: *mut f32,
3920            can_respond_to_keyboard: bool,
3921        ) -> bool,
3922    >,
3923    pub label: ::std::option::Option<
3924        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiLabelT) -> RectT,
3925    >,
3926    pub text: ::std::option::Option<
3927        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT) -> RectT,
3928    >,
3929    pub text_metrics: ::std::option::Option<
3930        unsafe extern "C" fn(style: *const UiStyleT, text: *const ::std::os::raw::c_char) -> RectT,
3931    >,
3932    pub wrapped_text: ::std::option::Option<
3933        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT) -> RectT,
3934    >,
3935    pub link: ::std::option::Option<
3936        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiLinkT) -> bool,
3937    >,
3938    pub tooltip: ::std::option::Option<
3939        unsafe extern "C" fn(
3940            ui: *mut UiO,
3941            style: *const UiStyleT,
3942            text: *const ::std::os::raw::c_char,
3943        ),
3944    >,
3945    pub button: ::std::option::Option<
3946        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiButtonT) -> bool,
3947    >,
3948    pub pushbutton: ::std::option::Option<
3949        unsafe extern "C" fn(
3950            ui: *mut UiO,
3951            style: *const UiStyleT,
3952            c: *const UiButtonT,
3953            pressed: *mut bool,
3954        ) -> bool,
3955    >,
3956    pub checkbox: ::std::option::Option<
3957        unsafe extern "C" fn(
3958            ui: *mut UiO,
3959            style: *const UiStyleT,
3960            c: *const UiCheckboxT,
3961            checked: *mut bool,
3962        ) -> bool,
3963    >,
3964    pub radio: ::std::option::Option<
3965        unsafe extern "C" fn(
3966            ui: *mut UiO,
3967            style: *const UiStyleT,
3968            c: *const UiRadioT,
3969            checked: bool,
3970        ) -> bool,
3971    >,
3972    pub progress: ::std::option::Option<
3973        unsafe extern "C" fn(
3974            ui: *mut UiO,
3975            style: *const UiStyleT,
3976            c: *const UiProgressT,
3977            fraction: f32,
3978        ),
3979    >,
3980    pub slider: ::std::option::Option<
3981        unsafe extern "C" fn(
3982            ui: *mut UiO,
3983            style: *const UiStyleT,
3984            c: *const UiSliderT,
3985            val: *mut f32,
3986            initial: *mut f32,
3987        ) -> UiInteractionResultT,
3988    >,
3989    pub slider_2d: ::std::option::Option<
3990        unsafe extern "C" fn(
3991            ui: *mut UiO,
3992            style: *const UiStyleT,
3993            c: *const Ui2dSliderT,
3994            val: *mut Vec2T,
3995            initial: *mut Vec2T,
3996        ) -> UiInteractionResultT,
3997    >,
3998    pub spinner: ::std::option::Option<
3999        unsafe extern "C" fn(
4000            ui: *mut UiO,
4001            style: *const UiStyleT,
4002            c: *const UiSpinnerT,
4003            val: *mut f64,
4004            initial: *mut f64,
4005        ) -> UiInteractionResultT,
4006    >,
4007    pub dropdown: ::std::option::Option<
4008        unsafe extern "C" fn(
4009            ui: *mut UiO,
4010            style: *const UiStyleT,
4011            c: *const UiDropdownT,
4012            selected: *mut u32,
4013        ) -> bool,
4014    >,
4015    pub textedit: ::std::option::Option<
4016        unsafe extern "C" fn(
4017            ui: *mut UiO,
4018            style: *const UiStyleT,
4019            c: *const UiTexteditT,
4020            buffer: *mut ::std::os::raw::c_char,
4021            buffer_bytes: u32,
4022        ) -> bool,
4023    >,
4024    pub multiline_textedit: ::std::option::Option<
4025        unsafe extern "C" fn(
4026            ui: *mut UiO,
4027            style: *const UiStyleT,
4028            c: *const UiTexteditT,
4029            buffer: *mut *mut ::std::os::raw::c_char,
4030            a: *mut AllocatorI,
4031            caret_rect: *mut RectT,
4032        ) -> bool,
4033    >,
4034    pub menubar: ::std::option::Option<
4035        unsafe extern "C" fn(
4036            ui: *mut UiO,
4037            style: *const UiStyleT,
4038            c: *const UiMenubarT,
4039        ) -> UiMenuResultT,
4040    >,
4041    pub menu: ::std::option::Option<
4042        unsafe extern "C" fn(
4043            ui: *mut UiO,
4044            style: *const UiStyleT,
4045            c: *const UiMenuT,
4046        ) -> UiMenuResultT,
4047    >,
4048    pub sort_menu_items:
4049        ::std::option::Option<unsafe extern "C" fn(items: *mut UiMenuItemT, count: u32)>,
4050    pub tabbar: ::std::option::Option<
4051        unsafe extern "C" fn(
4052            ui: *mut UiO,
4053            style: *const UiStyleT,
4054            c: *const UiTabbarT,
4055            selected: *mut u32,
4056        ) -> UiTabbarResultT,
4057    >,
4058    pub draggedtab: ::std::option::Option<
4059        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiDraggedtabT),
4060    >,
4061    pub splitter_x: ::std::option::Option<
4062        unsafe extern "C" fn(
4063            ui: *mut UiO,
4064            uistyle: *const UiStyleT,
4065            c: *const UiSplitterT,
4066            bias: *mut f32,
4067            content_left: *mut RectT,
4068            content_right: *mut RectT,
4069        ) -> bool,
4070    >,
4071    pub splitter_x_rects: ::std::option::Option<
4072        unsafe extern "C" fn(
4073            c: *const UiSplitterT,
4074            bias: f32,
4075            content_left: *mut RectT,
4076            content_right: *mut RectT,
4077        ),
4078    >,
4079    pub splitter_y: ::std::option::Option<
4080        unsafe extern "C" fn(
4081            ui: *mut UiO,
4082            uistyle: *const UiStyleT,
4083            c: *const UiSplitterT,
4084            bias: *mut f32,
4085            content_top: *mut RectT,
4086            content_bottom: *mut RectT,
4087        ) -> bool,
4088    >,
4089    pub splitter_y_rects: ::std::option::Option<
4090        unsafe extern "C" fn(
4091            c: *const UiSplitterT,
4092            bias: f32,
4093            content_top: *mut RectT,
4094            content_bottom: *mut RectT,
4095        ),
4096    >,
4097    pub titlebar: ::std::option::Option<
4098        unsafe extern "C" fn(
4099            ui: *mut UiO,
4100            uistyle: *const UiStyleT,
4101            c: *const UiTitlebarT,
4102        ) -> UiTitlebarResultT,
4103    >,
4104    pub buffers: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> UiBuffersT>,
4105    pub shortcuts: ::std::option::Option<unsafe extern "C" fn() -> *mut *mut ShortcutI>,
4106    pub reserve_draw_memory: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
4107    pub reserve_draw_memory_detailed: ::std::option::Option<
4108        unsafe extern "C" fn(
4109            ui: *mut UiO,
4110            primitive_bytes: u32,
4111            main_index_bytes: u32,
4112            overlay_index_bytes: u32,
4113        ),
4114    >,
4115    pub make_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> u64>,
4116    pub last_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> u64>,
4117    pub create_fixed_id_range:
4118        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, size: u64) -> u64>,
4119    pub set_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> u64>,
4120    pub set_cursor: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, cursor: UiCursor)>,
4121    pub is_hovering:
4122        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, clip: u32) -> bool>,
4123    pub set_responder_chain_root:
4124        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>,
4125    pub begin_responder_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>,
4126    pub end_responder_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>,
4127    pub in_responder_chain:
4128        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>,
4129    pub is_first_responder:
4130        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>,
4131    pub set_responder_chain: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>,
4132    pub pop_responder_chain: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64)>,
4133    pub responder_chain:
4134        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, count: *mut u32) -> *mut u64>,
4135    pub is_responder_chain_empty: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> bool>,
4136    pub focus_on_mouse_press:
4137        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, id: u64) -> bool>,
4138    pub consume_key: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, keyboard_item: u32)>,
4139    pub begin_tab_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, id: u64) -> bool>,
4140    pub end_tab_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
4141    pub focus_on_tab:
4142        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, r: RectT, id: u64) -> bool>,
4143    pub suppress_next_tab_focus: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
4144    pub clear_active: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
4145    pub set_active: ::std::option::Option<
4146        unsafe extern "C" fn(
4147            ui: *mut UiO,
4148            id: u64,
4149            active_data_format: StrhashT,
4150        ) -> *mut ::std::os::raw::c_void,
4151    >,
4152    pub is_active: ::std::option::Option<
4153        unsafe extern "C" fn(
4154            ui: *mut UiO,
4155            id: u64,
4156            active_data_format: StrhashT,
4157        ) -> *mut ::std::os::raw::c_void,
4158    >,
4159    pub lost_active: ::std::option::Option<
4160        unsafe extern "C" fn(
4161            ui: *mut UiO,
4162            id: u64,
4163            active_data_format: StrhashT,
4164        ) -> *mut ::std::os::raw::c_void,
4165    >,
4166    pub clear_lost_active: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
4167    pub save_active_state: ::std::option::Option<
4168        unsafe extern "C" fn(ui: *mut UiO, ta: *mut TempAllocatorI) -> *mut ::std::os::raw::c_void,
4169    >,
4170    pub restore_active_state: ::std::option::Option<
4171        unsafe extern "C" fn(ui: *mut UiO, state: *const ::std::os::raw::c_void),
4172    >,
4173    pub to_draw_style: ::std::option::Option<
4174        unsafe extern "C" fn(
4175            ui: *mut UiO,
4176            style: *mut Draw2dStyleT,
4177            uistyle: *const UiStyleT,
4178        ) -> *mut Draw2dStyleT,
4179    >,
4180    pub set_cache: ::std::option::Option<
4181        unsafe extern "C" fn(ui: *mut UiO, key: u64, carray: *mut ::std::os::raw::c_char),
4182    >,
4183    pub lookup_cache: ::std::option::Option<
4184        unsafe extern "C" fn(ui: *mut UiO, key: u64) -> *mut ::std::os::raw::c_char,
4185    >,
4186    pub get_cache: ::std::option::Option<
4187        unsafe extern "C" fn(ui: *mut UiO, key: u64, size: u32) -> *mut ::std::os::raw::c_void,
4188    >,
4189    pub left_mouse_pressed: ::std::option::Option<
4190        unsafe extern "C" fn(ui: *mut UiO, help_text: *const ::std::os::raw::c_char) -> bool,
4191    >,
4192    pub middle_mouse_pressed: ::std::option::Option<
4193        unsafe extern "C" fn(ui: *mut UiO, help_text: *const ::std::os::raw::c_char) -> bool,
4194    >,
4195    pub right_mouse_pressed: ::std::option::Option<
4196        unsafe extern "C" fn(ui: *mut UiO, help_text: *const ::std::os::raw::c_char) -> bool,
4197    >,
4198    pub left_mouse_released: ::std::option::Option<
4199        unsafe extern "C" fn(ui: *mut UiO, help_text: *const ::std::os::raw::c_char) -> bool,
4200    >,
4201    pub middle_mouse_released: ::std::option::Option<
4202        unsafe extern "C" fn(ui: *mut UiO, help_text: *const ::std::os::raw::c_char) -> bool,
4203    >,
4204    pub right_mouse_released: ::std::option::Option<
4205        unsafe extern "C" fn(ui: *mut UiO, help_text: *const ::std::os::raw::c_char) -> bool,
4206    >,
4207    pub double_click: ::std::option::Option<
4208        unsafe extern "C" fn(ui: *mut UiO, help_text: *const ::std::os::raw::c_char) -> bool,
4209    >,
4210    pub triple_click: ::std::option::Option<
4211        unsafe extern "C" fn(ui: *mut UiO, help_text: *const ::std::os::raw::c_char) -> bool,
4212    >,
4213    pub get_mouse_help_texts:
4214        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> UiMouseHelpTextsT>,
4215    pub theme: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO) -> UiThemeT>,
4216    pub get_theme_colors: ::std::option::Option<
4217        unsafe extern "C" fn(
4218            theme: UiThemeT,
4219            theme_colors: *mut *mut ColorSrgbT,
4220            a: *mut AllocatorI,
4221        ),
4222    >,
4223    pub set_theme: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, theme: UiThemeT)>,
4224    pub set_theme_colors:
4225        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, colors: *const ColorSrgbT)>,
4226    pub create_custom_theme:
4227        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, tt: *mut TheTruthO) -> UiThemeT>,
4228    pub set_parent_ui:
4229        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, parent_ui: *mut UiO)>,
4230    pub fork: ::std::option::Option<unsafe extern "C" fn(main: *mut UiO) -> *mut UiO>,
4231    pub join: ::std::option::Option<unsafe extern "C" fn(main: *mut UiO, fork: *mut UiO)>,
4232    pub merge_render_buffers:
4233        ::std::option::Option<unsafe extern "C" fn(main: *mut UiO, fork: *mut UiO)>,
4234    pub main_ui: ::std::option::Option<unsafe extern "C" fn(ui: *const UiO) -> *mut UiO>,
4235    pub add_font: ::std::option::Option<
4236        unsafe extern "C" fn(
4237            ui: *mut UiO,
4238            font_id: StrhashT,
4239            size: u32,
4240            font: *const FontT,
4241        ) -> *const Draw2dFontT,
4242    >,
4243    pub font: ::std::option::Option<
4244        unsafe extern "C" fn(ui: *mut UiO, font_id: StrhashT, size: u32) -> UiFontT,
4245    >,
4246    pub default_style: ::std::option::Option<unsafe extern "C" fn(ui: *const UiO) -> UiStyleT>,
4247    pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut TheTruthO)>,
4248    pub register_control: ::std::option::Option<
4249        unsafe extern "C" fn(
4250            ui: *mut UiO,
4251            role: StrhashT,
4252            title: *const ::std::os::raw::c_char,
4253            rect: RectT,
4254        ),
4255    >,
4256    pub find_control: ::std::option::Option<
4257        unsafe extern "C" fn(
4258            ui: *mut UiO,
4259            role: StrhashT,
4260            title: *const ::std::os::raw::c_char,
4261        ) -> RectT,
4262    >,
4263    pub automation_controls: ::std::option::Option<
4264        unsafe extern "C" fn(ui: *mut UiO, ta: *mut TempAllocatorI) -> *mut UiAutomationControlT,
4265    >,
4266    pub mouse_move: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, pos: Vec2T)>,
4267    pub mouse_button_state:
4268        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, mouse_item: u32, down: bool)>,
4269    pub keyboard_key_state:
4270        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, keyboard_item: u32, down: bool)>,
4271    pub text_input: ::std::option::Option<
4272        unsafe extern "C" fn(ui: *mut UiO, text: *const ::std::os::raw::c_char),
4273    >,
4274    pub visualize_flag:
4275        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, flag: UiVisualizeFlag) -> bool>,
4276    pub set_visualize_flag:
4277        ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, flag: UiVisualizeFlag, on: bool)>,
4278    pub visualize: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO)>,
4279}
4280#[repr(C)]
4281pub struct UiActivationT {
4282    pub active: u64,
4283    pub hover: u64,
4284    pub hover_in_overlay: bool,
4285    pub _padding_35: [::std::os::raw::c_char; 7usize],
4286    pub next_hover: u64,
4287    pub next_hover_in_overlay: bool,
4288    pub _padding_38: [::std::os::raw::c_char; 7usize],
4289    pub sub_hover: u64,
4290    pub next_sub_hover: u64,
4291    pub active_mouse_pos: Vec2T,
4292    pub hover_time: f32,
4293    pub _padding_47: [::std::os::raw::c_char; 4usize],
4294    pub hover_at_time: f64,
4295    pub tooltip: u64,
4296    pub tooltip_position: Vec2T,
4297    pub tooltip_time: f64,
4298    pub next_hover_window: u64,
4299    pub hover_window: u64,
4300    pub next_hover_scrollview: u64,
4301    pub hover_scrollview: u64,
4302    pub menu_level: u32,
4303    pub _padding_86: [::std::os::raw::c_char; 4usize],
4304}
4305impl Default for UiActivationT {
4306    fn default() -> Self {
4307        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4308        unsafe {
4309            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4310            s.assume_init()
4311        }
4312    }
4313}
4314pub const TM_UI_EDIT_KEY_NONE: UiEditKey = 0;
4315pub const TM_UI_EDIT_KEY_LEFT: UiEditKey = 1;
4316pub const TM_UI_EDIT_KEY_RIGHT: UiEditKey = 2;
4317pub const TM_UI_EDIT_KEY_UP: UiEditKey = 3;
4318pub const TM_UI_EDIT_KEY_DOWN: UiEditKey = 4;
4319pub const TM_UI_EDIT_KEY_TAB: UiEditKey = 5;
4320pub const TM_UI_EDIT_KEY_ENTER: UiEditKey = 6;
4321pub const TM_UI_EDIT_KEY_END: UiEditKey = 7;
4322pub const TM_UI_EDIT_KEY_HOME: UiEditKey = 8;
4323pub const TM_UI_EDIT_KEY_DELETE: UiEditKey = 9;
4324pub const TM_UI_EDIT_KEY_BACKSPACE: UiEditKey = 10;
4325pub const TM_UI_EDIT_KEY_ESCAPE: UiEditKey = 11;
4326pub const TM_UI_EDIT_KEY_SELECT_ALL: UiEditKey = 12;
4327pub const TM_UI_EDIT_KEY_CUT: UiEditKey = 13;
4328pub const TM_UI_EDIT_KEY_COPY: UiEditKey = 14;
4329pub const TM_UI_EDIT_KEY_PASTE: UiEditKey = 15;
4330pub const TM_UI_EDIT_KEY_DUPLICATE: UiEditKey = 16;
4331pub const TM_UI_EDIT_KEY_UNDO: UiEditKey = 17;
4332pub const TM_UI_EDIT_KEY_REDO: UiEditKey = 18;
4333pub const TM_UI_EDIT_KEY_COUNT: UiEditKey = 19;
4334pub type UiEditKey = ::std::os::raw::c_int;
4335pub const TM_UI_MAX_TEXT_INPUT: ::std::os::raw::c_int = 256;
4336pub type _bindgen_ty_16 = ::std::os::raw::c_int;
4337pub const TM_UI_MODIFIERS_NONE: ::std::os::raw::c_int = 0;
4338pub const TM_UI_MODIFIERS_SHIFT: ::std::os::raw::c_int = 1;
4339pub const TM_UI_MODIFIERS_ALT: ::std::os::raw::c_int = 2;
4340pub const TM_UI_MODIFIERS_SHIFT_ALT: ::std::os::raw::c_int = 3;
4341pub const TM_UI_MODIFIERS_CTRL: ::std::os::raw::c_int = 4;
4342pub const TM_UI_MODIFIERS_SHIFT_CTRL: ::std::os::raw::c_int = 5;
4343pub const TM_UI_MODIFIERS_ALT_CTRL: ::std::os::raw::c_int = 6;
4344pub const TM_UI_MODIFIERS_SHIFT_ALT_CTRL: ::std::os::raw::c_int = 7;
4345pub type _bindgen_ty_17 = ::std::os::raw::c_int;
4346#[repr(C)]
4347pub struct UiInputStateT {
4348    pub time: f64,
4349    pub scale: Vec2T,
4350    pub offset: Vec2T,
4351    pub mouse_pos: Vec2T,
4352    pub mouse_move: Vec2T,
4353    pub mouse_wheel: f32,
4354    pub left_mouse_pressed: bool,
4355    pub left_mouse_released: bool,
4356    pub left_mouse_is_down: bool,
4357    pub right_mouse_pressed: bool,
4358    pub right_mouse_released: bool,
4359    pub right_mouse_is_down: bool,
4360    pub middle_mouse_pressed: bool,
4361    pub middle_mouse_released: bool,
4362    pub middle_mouse_is_down: bool,
4363    pub back_mouse_pressed: bool,
4364    pub back_mouse_released: bool,
4365    pub back_mouse_is_down: bool,
4366    pub forward_mouse_pressed: bool,
4367    pub forward_mouse_released: bool,
4368    pub forward_mouse_is_down: bool,
4369    pub _padding_166: [::std::os::raw::c_char; 5usize],
4370    pub left_mouse_pressed_at_time: f64,
4371    pub mouse_move_at_time: f64,
4372    pub double_click: bool,
4373    pub triple_click: bool,
4374    pub pen_pressed: bool,
4375    pub pen_released: bool,
4376    pub pen_is_down: bool,
4377    pub touch_pressed: bool,
4378    pub touch_released: bool,
4379    pub touch_is_down: bool,
4380    pub pressure: f32,
4381    pub pen_erase: bool,
4382    pub _padding_194: [::std::os::raw::c_char; 3usize],
4383    pub key_is_down: *mut bool,
4384    pub key_pressed: *mut bool,
4385    pub key_released: *mut bool,
4386    pub key_repeated: *mut bool,
4387    pub modifiers: u32,
4388    pub edit_key_pressed: [bool; 19usize],
4389    pub _padding_210: [::std::os::raw::c_char; 1usize],
4390    pub num_text_input: u32,
4391    pub text_input: [u32; 256usize],
4392    pub _padding_215: [::std::os::raw::c_char; 4usize],
4393}
4394impl Default for UiInputStateT {
4395    fn default() -> Self {
4396        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4397        unsafe {
4398            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4399            s.assume_init()
4400        }
4401    }
4402}
4403pub const TM_UI_ACTIVE_DATA_BYTES: ::std::os::raw::c_int = 16384;
4404pub type _bindgen_ty_18 = ::std::os::raw::c_int;
4405pub const TM_UI_ICON__NONE: UiIcon = 0;
4406pub const TM_UI_ICON__PLAY: UiIcon = 1;
4407pub const TM_UI_ICON__PAUSE: UiIcon = 2;
4408pub const TM_UI_ICON__RESTART: UiIcon = 3;
4409pub const TM_UI_ICON__STOP: UiIcon = 4;
4410pub const TM_UI_ICON__VOLUME: UiIcon = 5;
4411pub const TM_UI_ICON__PITCH: UiIcon = 6;
4412pub const TM_UI_ICON__PAN: UiIcon = 7;
4413pub const TM_UI_ICON__PIN: UiIcon = 8;
4414pub const TM_UI_ICON__WINDOW: UiIcon = 9;
4415pub const TM_UI_ICON__TAB: UiIcon = 10;
4416pub const TM_UI_ICON__SHUFFLE: UiIcon = 11;
4417pub const TM_UI_ICON__TRIANGLE_LEFT: UiIcon = 12;
4418pub const TM_UI_ICON__TRIANGLE_RIGHT: UiIcon = 13;
4419pub const TM_UI_ICON__TRIANGLE_UP: UiIcon = 14;
4420pub const TM_UI_ICON__TRIANGLE_DOWN: UiIcon = 15;
4421pub const TM_UI_ICON__OPTIONS: UiIcon = 16;
4422pub const TM_UI_ICON__NULL: UiIcon = 17;
4423pub const TM_UI_ICON__ARROW_LEFT: UiIcon = 18;
4424pub const TM_UI_ICON__ARROW_RIGHT: UiIcon = 19;
4425pub const TM_UI_ICON__ARROW_UP: UiIcon = 20;
4426pub const TM_UI_ICON__ARROW_DOWN: UiIcon = 21;
4427pub const TM_UI_ICON__GEAR: UiIcon = 22;
4428pub const TM_UI_ICON__BULB: UiIcon = 23;
4429pub const TM_UI_ICON__CAMERA: UiIcon = 24;
4430pub const TM_UI_ICON__LIGHT: UiIcon = 25;
4431pub const TM_UI_ICON__LOCAL: UiIcon = 26;
4432pub const TM_UI_ICON__WORLD: UiIcon = 27;
4433pub const TM_UI_ICON__LOCK: UiIcon = 28;
4434pub const TM_UI_ICON__UNLOCK: UiIcon = 29;
4435pub const TM_UI_ICON__ANGLE: UiIcon = 30;
4436pub const TM_UI_ICON__PREV: UiIcon = 31;
4437pub const TM_UI_ICON__NEXT: UiIcon = 32;
4438pub const TM_UI_ICON__PIVOT_FIRST: UiIcon = 33;
4439pub const TM_UI_ICON__PIVOT_LAST: UiIcon = 34;
4440pub const TM_UI_ICON__PIVOT_CENTER: UiIcon = 35;
4441pub const TM_UI_ICON__ALIGN: UiIcon = 36;
4442pub const TM_UI_ICON__FILTER: UiIcon = 37;
4443pub const TM_UI_ICON__SLEEP: UiIcon = 38;
4444pub const TM_UI_ICON__EYE: UiIcon = 39;
4445pub const TM_UI_ICON__EYE_OFF: UiIcon = 40;
4446pub const TM_UI_ICON__SAVE: UiIcon = 41;
4447pub const TM_UI_ICON__REFRESH: UiIcon = 42;
4448pub const TM_UI_ICON__GRID: UiIcon = 43;
4449pub const TM_UI_ICON__LIST: UiIcon = 44;
4450pub const TM_UI_ICON__DETAILS: UiIcon = 45;
4451pub const TM_UI_ICON__REMOVE: UiIcon = 46;
4452pub const TM_UI_ICON__ADD: UiIcon = 47;
4453pub const TM_UI_ICON__SORT: UiIcon = 48;
4454pub const TM_UI_ICON__CHECKMARK: UiIcon = 49;
4455pub const TM_UI_ICON__CLOSE: UiIcon = 50;
4456pub const TM_UI_ICON__IMAGE: UiIcon = 51;
4457pub const TM_UI_ICON__MATERIAL: UiIcon = 52;
4458pub const TM_UI_ICON__MOUSE_LEFT: UiIcon = 53;
4459pub const TM_UI_ICON__MOUSE_MIDDLE: UiIcon = 54;
4460pub const TM_UI_ICON__MOUSE_RIGHT: UiIcon = 55;
4461pub const TM_UI_ICON__MOUSE_DOUBLE: UiIcon = 56;
4462pub const TM_UI_ICON__BUG: UiIcon = 57;
4463pub const TM_UI_ICON__COPY: UiIcon = 58;
4464pub const TM_UI_ICON__DOCUMENT: UiIcon = 59;
4465pub const TM_UI_ICON__TRASH_BIN: UiIcon = 60;
4466pub const TM_UI_ICON__C: UiIcon = 61;
4467pub const TM_UI_ICON__NOTIFICATIONS: UiIcon = 62;
4468pub const TM_UI_ICON__NOTIFICATIONS_OFF: UiIcon = 63;
4469pub const TM_UI_ICON__LOGIN: UiIcon = 64;
4470pub const TM_UI_ICON__LOGOUT: UiIcon = 65;
4471pub const TM_UI_ICON__FOLDER: UiIcon = 66;
4472pub const TM_UI_ICON__FOLDER_OPEN: UiIcon = 67;
4473pub const TM_UI_ICON__COMPASS: UiIcon = 68;
4474pub const TM_UI_ICON__COLOR_WAND: UiIcon = 69;
4475pub const TM_UI_ICON__CHILDREN_TREE: UiIcon = 70;
4476pub const TM_UI_ICON__CREATION_GRAPH: UiIcon = 71;
4477pub const TM_UI_ICON__INHERIT_FROM_PARENT: UiIcon = 72;
4478pub const TM_UI_ICON__PROPAGATE_TO_PARENT: UiIcon = 73;
4479pub const TM_UI_ICON__ATTACH_TO_PROCESS: UiIcon = 74;
4480pub const TM_UI_ICON__CAPTURE_RENDERDOC: UiIcon = 75;
4481pub const TM_UI_ICON__TRANSFORM: UiIcon = 76;
4482pub const TM_UI_ICON__ENTITY: UiIcon = 77;
4483pub const TM_UI_ICON__ENTITY_OUTLINE: UiIcon = 78;
4484pub const TM_UI_ICON__ENTITY_DASHED: UiIcon = 79;
4485pub const TM_UI_ICON__COMPONENT: UiIcon = 80;
4486pub const TM_UI_ICON__COMPONENT_OUTLINE: UiIcon = 81;
4487pub const TM_UI_ICON__RENDER_COMPONENT: UiIcon = 82;
4488pub const TM_UI_ICON__PHYSICS_SHAPE: UiIcon = 83;
4489pub const TM_UI_ICON__PHYSICS_BODY: UiIcon = 84;
4490pub const TM_UI_ICON__PHYSICS_JOINT: UiIcon = 85;
4491pub const TM_UI_ICON__SEARCH: UiIcon = 86;
4492pub const TM_UI_ICON__OPEN: UiIcon = 87;
4493pub type UiIcon = ::std::os::raw::c_int;
4494#[repr(C)]
4495pub struct UiIconLabelT {
4496    pub id: u64,
4497    pub rect: RectT,
4498    pub icon: UiIcon,
4499    pub _padding_115: [::std::os::raw::c_char; 4usize],
4500    pub tooltip: *const ::std::os::raw::c_char,
4501}
4502impl Default for UiIconLabelT {
4503    fn default() -> Self {
4504        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4505        unsafe {
4506            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4507            s.assume_init()
4508        }
4509    }
4510}
4511#[repr(C)]
4512pub struct UiIconTextT {
4513    pub id: u64,
4514    pub rect: RectT,
4515    pub icon: UiIcon,
4516    pub _padding_125: [::std::os::raw::c_char; 4usize],
4517    pub tooltip: *const ::std::os::raw::c_char,
4518    pub color: *const ColorSrgbT,
4519    pub align: u32,
4520    pub _padding_129: [::std::os::raw::c_char; 4usize],
4521}
4522impl Default for UiIconTextT {
4523    fn default() -> Self {
4524        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4525        unsafe {
4526            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4527            s.assume_init()
4528        }
4529    }
4530}
4531#[repr(C)]
4532#[derive(Default, Copy, Clone)]
4533pub struct UiIconApi {
4534    pub label: ::std::option::Option<
4535        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiIconLabelT) -> RectT,
4536    >,
4537    pub text: ::std::option::Option<
4538        unsafe extern "C" fn(ui: *mut UiO, style: *const UiStyleT, c: *const UiIconTextT) -> RectT,
4539    >,
4540    pub metrics: ::std::option::Option<
4541        unsafe extern "C" fn(ui: *mut UiO, font_scale: f32, icon: UiIcon) -> RectT,
4542    >,
4543    pub codepoint: ::std::option::Option<unsafe extern "C" fn(icon: UiIcon) -> u32>,
4544    pub glyph: ::std::option::Option<unsafe extern "C" fn(ui: *mut UiO, icon: UiIcon) -> u16>,
4545    pub draw: ::std::option::Option<
4546        unsafe extern "C" fn(
4547            ui: *mut UiO,
4548            style: *const UiStyleT,
4549            color: *mut ColorSrgbT,
4550            pos: Vec2T,
4551            icon: UiIcon,
4552        ) -> f32,
4553    >,
4554    pub title:
4555        ::std::option::Option<unsafe extern "C" fn(icon: UiIcon) -> *const ::std::os::raw::c_char>,
4556}
4557#[repr(C)]
4558pub struct FontProviderT {
4559    pub font_id: StrhashT,
4560    pub font_size: u32,
4561    pub _padding_36: [::std::os::raw::c_char; 4usize],
4562    pub descriptor: *const FontDescriptorT,
4563}
4564impl Default for FontProviderT {
4565    fn default() -> Self {
4566        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4567        unsafe {
4568            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4569            s.assume_init()
4570        }
4571    }
4572}
4573pub type FontProviderF =
4574    ::std::option::Option<unsafe extern "C" fn(ta: *mut TempAllocatorI) -> *const FontProviderT>;
4575#[repr(C)]
4576pub struct FontRequestGlyphsT {
4577    pub font_id: StrhashT,
4578    pub num_ranges: u32,
4579    pub _padding_77: [::std::os::raw::c_char; 4usize],
4580    pub ranges: *const TtfRangeT,
4581}
4582impl Default for FontRequestGlyphsT {
4583    fn default() -> Self {
4584        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4585        unsafe {
4586            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4587            s.assume_init()
4588        }
4589    }
4590}
4591#[repr(C)]
4592pub struct AddedFontT {
4593    pub font_identifier: StrhashT,
4594    pub font_size: u32,
4595    pub _padding_95: [::std::os::raw::c_char; 4usize],
4596    pub font: *const FontT,
4597}
4598impl Default for AddedFontT {
4599    fn default() -> Self {
4600        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4601        unsafe {
4602            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4603            s.assume_init()
4604        }
4605    }
4606}
4607pub const TM_UI_CANVAS_SCREEN_SPACE: UiCanvasType = 0;
4608pub const TM_UI_CANVAS_WORLD_SPACE: UiCanvasType = 1;
4609pub type UiCanvasType = ::std::os::raw::c_int;
4610#[repr(C)]
4611pub struct UiCanvasT {
4612    pub entity_id: u64,
4613    pub gpu_picking: *mut GpuPickingO,
4614    pub type_: UiCanvasType,
4615    pub dpi_scale_factor: f32,
4616    pub rect: RectT,
4617    pub transform: TransformT,
4618    pub cam_view: Mat44T,
4619    pub cam_projection: Mat44T,
4620}
4621impl Default for UiCanvasT {
4622    fn default() -> Self {
4623        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4624        unsafe {
4625            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4626            s.assume_init()
4627        }
4628    }
4629}
4630#[repr(C)]
4631#[derive(Default, Copy, Clone)]
4632pub struct UiRendererApi {
4633    pub create: ::std::option::Option<
4634        unsafe extern "C" fn(
4635            res_buf: *mut RendererResourceCommandBufferO,
4636            shader_repository: *mut ShaderRepositoryO,
4637            allocator: *mut AllocatorI,
4638            device_affinity: u32,
4639        ) -> *mut UiRendererO,
4640    >,
4641    pub destroy: ::std::option::Option<
4642        unsafe extern "C" fn(
4643            ui_renderer: *mut UiRendererO,
4644            res_buf: *mut RendererResourceCommandBufferO,
4645        ),
4646    >,
4647    pub render: ::std::option::Option<
4648        unsafe extern "C" fn(
4649            ui_renderer: *mut UiRendererO,
4650            ui: *mut UiO,
4651            canvas: *const UiCanvasT,
4652            sort_key: u64,
4653            res_buf: *mut RendererResourceCommandBufferO,
4654            cmd_buf: *mut RendererCommandBufferO,
4655            color_space: *const ColorSpaceDescT,
4656        ),
4657    >,
4658    pub default_font: ::std::option::Option<
4659        unsafe extern "C" fn(
4660            ui_renderer: *mut UiRendererO,
4661            font_size: u32,
4662            window_dpi: f32,
4663            res_buf: *mut RendererResourceCommandBufferO,
4664        ) -> *const FontT,
4665    >,
4666    pub custom_font: ::std::option::Option<
4667        unsafe extern "C" fn(
4668            ui_renderer: *mut UiRendererO,
4669            font_id: StrhashT,
4670            desc: *const FontDescriptorT,
4671            font_size: u32,
4672            window_dpi: f32,
4673            res_buf: *mut RendererResourceCommandBufferO,
4674        ) -> *const FontT,
4675    >,
4676    pub add_all_font_providers: ::std::option::Option<
4677        unsafe extern "C" fn(
4678            ui_renderer: *mut UiRendererO,
4679            window_dpi: f32,
4680            res_buf: *mut RendererResourceCommandBufferO,
4681            ta: *mut TempAllocatorI,
4682        ) -> *mut AddedFontT,
4683    >,
4684    pub allocate_image_slot:
4685        ::std::option::Option<unsafe extern "C" fn(ui_renderer: *mut UiRendererO) -> u32>,
4686    pub set_image: ::std::option::Option<
4687        unsafe extern "C" fn(
4688            ui_renderer: *mut UiRendererO,
4689            slot: u32,
4690            image_handle: RendererHandleT,
4691        ),
4692    >,
4693}
4694#[repr(C)]
4695pub struct UiTreeT {
4696    pub ud: *mut ::std::os::raw::c_void,
4697    pub root: u64,
4698    pub item_height: f32,
4699    pub rect: RectT,
4700    pub _padding_26: [::std::os::raw::c_char; 4usize],
4701    pub node_ui: ::std::option::Option<
4702        unsafe extern "C" fn(
4703            ui: *mut UiO,
4704            uistyle: *const UiStyleT,
4705            item_id: u64,
4706            rect: RectT,
4707            ud: *mut ::std::os::raw::c_void,
4708            node: u64,
4709            parent: u64,
4710            child_idx: u64,
4711        ),
4712    >,
4713    pub node_children: ::std::option::Option<
4714        unsafe extern "C" fn(
4715            ud: *mut ::std::os::raw::c_void,
4716            node: u64,
4717            children: *mut u64,
4718            n: u32,
4719        ) -> u32,
4720    >,
4721}
4722impl Default for UiTreeT {
4723    fn default() -> Self {
4724        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4725        unsafe {
4726            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4727            s.assume_init()
4728        }
4729    }
4730}
4731#[repr(C)]
4732#[derive(Copy, Clone)]
4733pub struct UiTreeItemMetricsT {
4734    pub have_been_filled: bool,
4735    pub _padding_45: [::std::os::raw::c_char; 7usize],
4736    pub tooltip_hover_text: *const ::std::os::raw::c_char,
4737    pub toolbar_ui_elements: *mut u64,
4738    pub toolbar_element_count: u32,
4739    pub dont_auto_expand: bool,
4740    pub _padding_52: [::std::os::raw::c_char; 3usize],
4741}
4742impl Default for UiTreeItemMetricsT {
4743    fn default() -> Self {
4744        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4745        unsafe {
4746            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4747            s.assume_init()
4748        }
4749    }
4750}
4751#[repr(C)]
4752#[derive(Copy, Clone)]
4753pub struct UiTreeStateT {
4754    pub expanded: *mut SetT,
4755    pub selected: *mut SetT,
4756    pub total_height: f32,
4757    pub scroll_y: f32,
4758}
4759impl Default for UiTreeStateT {
4760    fn default() -> Self {
4761        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4762        unsafe {
4763            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4764            s.assume_init()
4765        }
4766    }
4767}
4768#[repr(C, packed)]
4769#[derive(Default, Copy, Clone)]
4770pub struct UiTreeItemStateT {
4771    pub _bitfield_align_1: [u8; 0],
4772    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
4773}
4774impl UiTreeItemStateT {
4775    #[inline]
4776    pub fn can_expand(&self) -> bool {
4777        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
4778    }
4779    #[inline]
4780    pub fn set_can_expand(&mut self, val: bool) {
4781        unsafe {
4782            let val: u8 = ::std::mem::transmute(val);
4783            self._bitfield_1.set(0usize, 1u8, val as u64)
4784        }
4785    }
4786    #[inline]
4787    pub fn expanded(&self) -> bool {
4788        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
4789    }
4790    #[inline]
4791    pub fn set_expanded(&mut self, val: bool) {
4792        unsafe {
4793            let val: u8 = ::std::mem::transmute(val);
4794            self._bitfield_1.set(1usize, 1u8, val as u64)
4795        }
4796    }
4797    #[inline]
4798    pub fn can_select(&self) -> bool {
4799        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
4800    }
4801    #[inline]
4802    pub fn set_can_select(&mut self, val: bool) {
4803        unsafe {
4804            let val: u8 = ::std::mem::transmute(val);
4805            self._bitfield_1.set(2usize, 1u8, val as u64)
4806        }
4807    }
4808    #[inline]
4809    pub fn selected(&self) -> bool {
4810        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
4811    }
4812    #[inline]
4813    pub fn set_selected(&mut self, val: bool) {
4814        unsafe {
4815            let val: u8 = ::std::mem::transmute(val);
4816            self._bitfield_1.set(3usize, 1u8, val as u64)
4817        }
4818    }
4819    #[inline]
4820    pub fn padding(&self) -> u8 {
4821        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
4822    }
4823    #[inline]
4824    pub fn set_padding(&mut self, val: u8) {
4825        unsafe {
4826            let val: u8 = ::std::mem::transmute(val);
4827            self._bitfield_1.set(4usize, 4u8, val as u64)
4828        }
4829    }
4830    #[inline]
4831    pub fn new_bitfield_1(
4832        can_expand: bool,
4833        expanded: bool,
4834        can_select: bool,
4835        selected: bool,
4836        padding: u8,
4837    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
4838        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
4839        __bindgen_bitfield_unit.set(0usize, 1u8, {
4840            let can_expand: u8 = unsafe { ::std::mem::transmute(can_expand) };
4841            can_expand as u64
4842        });
4843        __bindgen_bitfield_unit.set(1usize, 1u8, {
4844            let expanded: u8 = unsafe { ::std::mem::transmute(expanded) };
4845            expanded as u64
4846        });
4847        __bindgen_bitfield_unit.set(2usize, 1u8, {
4848            let can_select: u8 = unsafe { ::std::mem::transmute(can_select) };
4849            can_select as u64
4850        });
4851        __bindgen_bitfield_unit.set(3usize, 1u8, {
4852            let selected: u8 = unsafe { ::std::mem::transmute(selected) };
4853            selected as u64
4854        });
4855        __bindgen_bitfield_unit.set(4usize, 4u8, {
4856            let padding: u8 = unsafe { ::std::mem::transmute(padding) };
4857            padding as u64
4858        });
4859        __bindgen_bitfield_unit
4860    }
4861}
4862#[repr(C)]
4863pub struct UiTreeItemResT {
4864    pub _bitfield_align_1: [u8; 0],
4865    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
4866    pub _padding_109: [::std::os::raw::c_char; 2usize],
4867    pub item_rect: RectT,
4868    pub _padding_113: [::std::os::raw::c_char; 4usize],
4869    pub item_id: u64,
4870}
4871impl Default for UiTreeItemResT {
4872    fn default() -> Self {
4873        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4874        unsafe {
4875            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4876            s.assume_init()
4877        }
4878    }
4879}
4880impl UiTreeItemResT {
4881    #[inline]
4882    pub fn expanded(&self) -> bool {
4883        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
4884    }
4885    #[inline]
4886    pub fn set_expanded(&mut self, val: bool) {
4887        unsafe {
4888            let val: u8 = ::std::mem::transmute(val);
4889            self._bitfield_1.set(0usize, 1u8, val as u64)
4890        }
4891    }
4892    #[inline]
4893    pub fn expanded_changed(&self) -> bool {
4894        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
4895    }
4896    #[inline]
4897    pub fn set_expanded_changed(&mut self, val: bool) {
4898        unsafe {
4899            let val: u8 = ::std::mem::transmute(val);
4900            self._bitfield_1.set(1usize, 1u8, val as u64)
4901        }
4902    }
4903    #[inline]
4904    pub fn selected(&self) -> bool {
4905        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
4906    }
4907    #[inline]
4908    pub fn set_selected(&mut self, val: bool) {
4909        unsafe {
4910            let val: u8 = ::std::mem::transmute(val);
4911            self._bitfield_1.set(2usize, 1u8, val as u64)
4912        }
4913    }
4914    #[inline]
4915    pub fn selected_changed(&self) -> bool {
4916        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
4917    }
4918    #[inline]
4919    pub fn set_selected_changed(&mut self, val: bool) {
4920        unsafe {
4921            let val: u8 = ::std::mem::transmute(val);
4922            self._bitfield_1.set(3usize, 1u8, val as u64)
4923        }
4924    }
4925    #[inline]
4926    pub fn clicked(&self) -> bool {
4927        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
4928    }
4929    #[inline]
4930    pub fn set_clicked(&mut self, val: bool) {
4931        unsafe {
4932            let val: u8 = ::std::mem::transmute(val);
4933            self._bitfield_1.set(4usize, 1u8, val as u64)
4934        }
4935    }
4936    #[inline]
4937    pub fn double_clicked(&self) -> bool {
4938        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
4939    }
4940    #[inline]
4941    pub fn set_double_clicked(&mut self, val: bool) {
4942        unsafe {
4943            let val: u8 = ::std::mem::transmute(val);
4944            self._bitfield_1.set(5usize, 1u8, val as u64)
4945        }
4946    }
4947    #[inline]
4948    pub fn visible(&self) -> bool {
4949        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
4950    }
4951    #[inline]
4952    pub fn set_visible(&mut self, val: bool) {
4953        unsafe {
4954            let val: u8 = ::std::mem::transmute(val);
4955            self._bitfield_1.set(6usize, 1u8, val as u64)
4956        }
4957    }
4958    #[inline]
4959    pub fn deselect_others(&self) -> bool {
4960        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
4961    }
4962    #[inline]
4963    pub fn set_deselect_others(&mut self, val: bool) {
4964        unsafe {
4965            let val: u8 = ::std::mem::transmute(val);
4966            self._bitfield_1.set(7usize, 1u8, val as u64)
4967        }
4968    }
4969    #[inline]
4970    pub fn select_range(&self) -> bool {
4971        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
4972    }
4973    #[inline]
4974    pub fn set_select_range(&mut self, val: bool) {
4975        unsafe {
4976            let val: u8 = ::std::mem::transmute(val);
4977            self._bitfield_1.set(8usize, 1u8, val as u64)
4978        }
4979    }
4980    #[inline]
4981    pub fn hovered(&self) -> bool {
4982        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
4983    }
4984    #[inline]
4985    pub fn set_hovered(&mut self, val: bool) {
4986        unsafe {
4987            let val: u8 = ::std::mem::transmute(val);
4988            self._bitfield_1.set(9usize, 1u8, val as u64)
4989        }
4990    }
4991    #[inline]
4992    pub fn padding(&self) -> u8 {
4993        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 6u8) as u8) }
4994    }
4995    #[inline]
4996    pub fn set_padding(&mut self, val: u8) {
4997        unsafe {
4998            let val: u8 = ::std::mem::transmute(val);
4999            self._bitfield_1.set(10usize, 6u8, val as u64)
5000        }
5001    }
5002    #[inline]
5003    pub fn new_bitfield_1(
5004        expanded: bool,
5005        expanded_changed: bool,
5006        selected: bool,
5007        selected_changed: bool,
5008        clicked: bool,
5009        double_clicked: bool,
5010        visible: bool,
5011        deselect_others: bool,
5012        select_range: bool,
5013        hovered: bool,
5014        padding: u8,
5015    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
5016        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
5017        __bindgen_bitfield_unit.set(0usize, 1u8, {
5018            let expanded: u8 = unsafe { ::std::mem::transmute(expanded) };
5019            expanded as u64
5020        });
5021        __bindgen_bitfield_unit.set(1usize, 1u8, {
5022            let expanded_changed: u8 = unsafe { ::std::mem::transmute(expanded_changed) };
5023            expanded_changed as u64
5024        });
5025        __bindgen_bitfield_unit.set(2usize, 1u8, {
5026            let selected: u8 = unsafe { ::std::mem::transmute(selected) };
5027            selected as u64
5028        });
5029        __bindgen_bitfield_unit.set(3usize, 1u8, {
5030            let selected_changed: u8 = unsafe { ::std::mem::transmute(selected_changed) };
5031            selected_changed as u64
5032        });
5033        __bindgen_bitfield_unit.set(4usize, 1u8, {
5034            let clicked: u8 = unsafe { ::std::mem::transmute(clicked) };
5035            clicked as u64
5036        });
5037        __bindgen_bitfield_unit.set(5usize, 1u8, {
5038            let double_clicked: u8 = unsafe { ::std::mem::transmute(double_clicked) };
5039            double_clicked as u64
5040        });
5041        __bindgen_bitfield_unit.set(6usize, 1u8, {
5042            let visible: u8 = unsafe { ::std::mem::transmute(visible) };
5043            visible as u64
5044        });
5045        __bindgen_bitfield_unit.set(7usize, 1u8, {
5046            let deselect_others: u8 = unsafe { ::std::mem::transmute(deselect_others) };
5047            deselect_others as u64
5048        });
5049        __bindgen_bitfield_unit.set(8usize, 1u8, {
5050            let select_range: u8 = unsafe { ::std::mem::transmute(select_range) };
5051            select_range as u64
5052        });
5053        __bindgen_bitfield_unit.set(9usize, 1u8, {
5054            let hovered: u8 = unsafe { ::std::mem::transmute(hovered) };
5055            hovered as u64
5056        });
5057        __bindgen_bitfield_unit.set(10usize, 6u8, {
5058            let padding: u8 = unsafe { ::std::mem::transmute(padding) };
5059            padding as u64
5060        });
5061        __bindgen_bitfield_unit
5062    }
5063}
5064#[repr(C)]
5065#[derive(Default, Copy, Clone)]
5066pub struct UiTreeApi {
5067    pub tree: ::std::option::Option<
5068        unsafe extern "C" fn(
5069            ui: *mut UiO,
5070            uistyle: *const UiStyleT,
5071            tree: *const UiTreeT,
5072            state: *mut UiTreeStateT,
5073        ),
5074    >,
5075    pub tree_item: ::std::option::Option<
5076        unsafe extern "C" fn(
5077            ui: *mut UiO,
5078            uistyle: *const UiStyleT,
5079            rect: RectT,
5080            state: UiTreeItemStateT,
5081            tree_has_focus: bool,
5082            metrics: *const UiTreeItemMetricsT,
5083            ui_id: u64,
5084        ) -> UiTreeItemResT,
5085    >,
5086    pub tree_item_with_sets: ::std::option::Option<
5087        unsafe extern "C" fn(
5088            ui: *mut UiO,
5089            uistyle: *const UiStyleT,
5090            rect: RectT,
5091            key: u64,
5092            expanded_set: *mut SetT,
5093            selected_set: *mut SetT,
5094            tree_has_focus: bool,
5095            ui_id: u64,
5096        ) -> UiTreeItemResT,
5097    >,
5098    pub tree_item_with_metrics: ::std::option::Option<
5099        unsafe extern "C" fn(
5100            ui: *mut UiO,
5101            uistyle: *const UiStyleT,
5102            rect: RectT,
5103            key: u64,
5104            expanded_set: *mut SetT,
5105            selected_set: *mut SetT,
5106            tree_has_focus: bool,
5107            metrics: *const UiTreeItemMetricsT,
5108            ui_id: u64,
5109        ) -> UiTreeItemResT,
5110    >,
5111}
5112#[repr(C)]
5113#[derive(Default, Copy, Clone)]
5114pub struct GpuPickingO {
5115    pub _address: u8,
5116}
5117
5118// Extensions generated by machinery-generator
5119
5120use const_cstr::{const_cstr, ConstCStr};
5121
5122use crate::foundation::VersionT;
5123
5124use crate::foundation::*;
5125use crate::plugins::entity::*;
5126use crate::plugins::renderer::*;
5127use crate::plugins::shader_system::*;
5128use crate::the_machinery::TabCreateContextT;
5129
5130impl UiClipboardApi {
5131    pub unsafe fn cut(
5132        &self,
5133        tt: *mut TheTruthO,
5134        objects: *const TtIdT,
5135        count: u32,
5136        undo_stack: *mut UndoStackI,
5137    ) {
5138        self.cut.unwrap()(tt, objects, count, undo_stack)
5139    }
5140
5141    pub unsafe fn copy(
5142        &self,
5143        tt: *mut TheTruthO,
5144        objects: *const TtIdT,
5145        count: u32,
5146        undo_stack: *mut UndoStackI,
5147    ) {
5148        self.copy.unwrap()(tt, objects, count, undo_stack)
5149    }
5150
5151    pub unsafe fn empty(&self, tt: *mut TheTruthO, undo_scope: TtUndoScopeT) {
5152        self.empty.unwrap()(tt, undo_scope)
5153    }
5154
5155    pub unsafe fn cut_objects(
5156        &self,
5157        tt: *const TheTruthO,
5158        ta: *mut TempAllocatorI,
5159    ) -> *const TtIdT {
5160        self.cut_objects.unwrap()(tt, ta)
5161    }
5162
5163    pub unsafe fn copied_objects(
5164        &self,
5165        tt: *const TheTruthO,
5166        ta: *mut TempAllocatorI,
5167    ) -> *const TtIdT {
5168        self.copied_objects.unwrap()(tt, ta)
5169    }
5170
5171    pub unsafe fn truth(&self) -> *const TheTruthO {
5172        self.truth.unwrap()()
5173    }
5174}
5175
5176impl crate::Api for UiClipboardApi {
5177    const NAME: ConstCStr = const_cstr!("tm_ui_clipboard_api");
5178    const VERSION: VersionT = VersionT {
5179        major: 1u32,
5180        minor: 0u32,
5181        patch: 0u32,
5182    };
5183}
5184
5185impl DockingApi {
5186    pub unsafe fn create_truth_types(&self, tt: *mut TheTruthO) {
5187        self.create_truth_types.unwrap()(tt)
5188    }
5189
5190    pub unsafe fn add_ui(&self, ui: *mut UiO, r: RectT) {
5191        self.add_ui.unwrap()(ui, r)
5192    }
5193
5194    pub unsafe fn remove_ui(&self, ui: *mut UiO) {
5195        self.remove_ui.unwrap()(ui)
5196    }
5197
5198    pub unsafe fn add_workspace(&self, ui: *mut UiO, name: *const ::std::os::raw::c_char) {
5199        self.add_workspace.unwrap()(ui, name)
5200    }
5201
5202    pub unsafe fn close_focused_workspace(&self, ui: *mut UiO) -> bool {
5203        self.close_focused_workspace.unwrap()(ui)
5204    }
5205
5206    pub unsafe fn num_workspaces(&self, ui: *mut UiO) -> u32 {
5207        self.num_workspaces.unwrap()(ui)
5208    }
5209
5210    pub unsafe fn current_workspace(&self, ui: *mut UiO) -> u32 {
5211        self.current_workspace.unwrap()(ui)
5212    }
5213
5214    pub unsafe fn workspace_name(&self, ui: *mut UiO, idx: u32) -> *const ::std::os::raw::c_char {
5215        self.workspace_name.unwrap()(ui, idx)
5216    }
5217
5218    pub unsafe fn set_workspace_name(
5219        &self,
5220        ui: *mut UiO,
5221        idx: u32,
5222        name: *const ::std::os::raw::c_char,
5223    ) {
5224        self.set_workspace_name.unwrap()(ui, idx, name)
5225    }
5226
5227    pub unsafe fn workspace_icon(&self, ui: *mut UiO, idx: u32) -> u32 {
5228        self.workspace_icon.unwrap()(ui, idx)
5229    }
5230
5231    pub unsafe fn set_workspace_icon(&self, ui: *mut UiO, idx: u32, icon: u32) {
5232        self.set_workspace_icon.unwrap()(ui, idx, icon)
5233    }
5234
5235    pub unsafe fn workspace_root(&self, ui: *mut UiO, idx: u32) -> *mut DockingTabwellO {
5236        self.workspace_root.unwrap()(ui, idx)
5237    }
5238
5239    pub unsafe fn hot_reload(&self) {
5240        self.hot_reload.unwrap()()
5241    }
5242
5243    pub unsafe fn root(&self, ui: *mut UiO) -> *mut DockingTabwellO {
5244        self.root.unwrap()(ui)
5245    }
5246
5247    pub unsafe fn split_tabwell(
5248        &self,
5249        parent: *mut DockingTabwellO,
5250        split: DockingTabwellSplit,
5251        bias: f32,
5252        sibling: *mut *mut DockingTabwellO,
5253    ) -> *mut DockingTabwellO {
5254        self.split_tabwell.unwrap()(parent, split, bias, sibling)
5255    }
5256
5257    pub unsafe fn add_tab(&self, ui: *mut UiO, tabwell: *mut DockingTabwellO, tab: *mut TabI) {
5258        self.add_tab.unwrap()(ui, tabwell, tab)
5259    }
5260
5261    pub unsafe fn remove_tab(&self, tab: *mut TabI) {
5262        self.remove_tab.unwrap()(tab)
5263    }
5264
5265    pub unsafe fn move_tab(&self, tab: *mut TabI, ui: *mut UiO, tabwell: *mut DockingTabwellO) {
5266        self.move_tab.unwrap()(tab, ui, tabwell)
5267    }
5268
5269    pub unsafe fn clear(&self) {
5270        self.clear.unwrap()()
5271    }
5272
5273    pub unsafe fn feed_events(
5274        &self,
5275        events: *const InputEventT,
5276        count: u32,
5277        args: *mut DockingFeedEventsArgsT,
5278    ) {
5279        self.feed_events.unwrap()(events, count, args)
5280    }
5281
5282    pub unsafe fn ui(
5283        &self,
5284        ui: *mut UiO,
5285        uistyle: *const UiStyleT,
5286        ui_renderer: *mut UiRendererO,
5287        rect: RectT,
5288        ui_has_focus: bool,
5289        dropped_files: *const OsDroppedFileT,
5290        num_dropped_files: u32,
5291        context: *mut TabCreateContextT,
5292        settings_tt: *mut TheTruthO,
5293        settings_obj: TtIdT,
5294        default_padding: f32,
5295        workspaces_mode: DockingWorkspacesBarMode,
5296    ) {
5297        self.ui.unwrap()(
5298            ui,
5299            uistyle,
5300            ui_renderer,
5301            rect,
5302            ui_has_focus,
5303            dropped_files,
5304            num_dropped_files,
5305            context,
5306            settings_tt,
5307            settings_obj,
5308            default_padding,
5309            workspaces_mode,
5310        )
5311    }
5312
5313    pub unsafe fn is_dragging_tab(&self, pos: *mut Vec2T) -> *mut TabI {
5314        self.is_dragging_tab.unwrap()(pos)
5315    }
5316
5317    pub unsafe fn should_create_new_ui_for_tab(
5318        &self,
5319        create_context: *mut TabCreateContextT,
5320        rect: *mut RectT,
5321    ) -> *mut TabI {
5322        self.should_create_new_ui_for_tab.unwrap()(create_context, rect)
5323    }
5324
5325    pub unsafe fn focused_tabwell(&self, ui: *mut UiO) -> *mut DockingTabwellO {
5326        self.focused_tabwell.unwrap()(ui)
5327    }
5328
5329    pub unsafe fn focused_tab(&self, ui: *mut UiO) -> *mut TabI {
5330        self.focused_tab.unwrap()(ui)
5331    }
5332
5333    pub unsafe fn tab_has_focus(&self, tab: *mut TabI) -> bool {
5334        self.tab_has_focus.unwrap()(tab)
5335    }
5336
5337    pub unsafe fn tabwell_info(
5338        &self,
5339        tw: *mut DockingTabwellO,
5340        ta: *mut TempAllocatorI,
5341    ) -> DockingTabwellInfoT {
5342        self.tabwell_info.unwrap()(tw, ta)
5343    }
5344
5345    pub unsafe fn tab_info(
5346        &self,
5347        tabs: *mut DockingTabInfoT,
5348        n: u32,
5349        filter_ui: *mut UiO,
5350        filter_visible: bool,
5351    ) -> u32 {
5352        self.tab_info.unwrap()(tabs, n, filter_ui, filter_visible)
5353    }
5354
5355    pub unsafe fn root_history(&self, tab: *mut TabI, n: *mut u32) -> *mut TabVtRootT {
5356        self.root_history.unwrap()(tab, n)
5357    }
5358
5359    pub unsafe fn clear_root_history_with_greater_counter(&self, tab: *mut TabI, counter: u64) {
5360        self.clear_root_history_with_greater_counter.unwrap()(tab, counter)
5361    }
5362
5363    pub unsafe fn tab_ui(&self, tab: *mut TabI) -> *mut UiO {
5364        self.tab_ui.unwrap()(tab)
5365    }
5366
5367    pub unsafe fn can_remove_ui(&self, ui: *mut UiO) -> bool {
5368        self.can_remove_ui.unwrap()(ui)
5369    }
5370
5371    pub unsafe fn set_focus_tab(&self, ui: *mut UiO, tab: *mut TabI) {
5372        self.set_focus_tab.unwrap()(ui, tab)
5373    }
5374
5375    pub unsafe fn close_focused_tab(&self, ui: *mut UiO) -> bool {
5376        self.close_focused_tab.unwrap()(ui)
5377    }
5378
5379    pub unsafe fn close_all_tabs_and_workspaces(&self, ui: *mut UiO) {
5380        self.close_all_tabs_and_workspaces.unwrap()(ui)
5381    }
5382
5383    pub unsafe fn close_all_tabs_in_workspace(&self, ui: *mut UiO) {
5384        self.close_all_tabs_in_workspace.unwrap()(ui)
5385    }
5386
5387    pub unsafe fn send_focus_event(
5388        &self,
5389        from: *mut TabI,
5390        event: TabFocusEvent,
5391        tt: *mut TheTruthO,
5392        object: TtIdT,
5393        selection: *const TtIdT,
5394        selection_n: u32,
5395    ) {
5396        self.send_focus_event.unwrap()(from, event, tt, object, selection, selection_n)
5397    }
5398
5399    pub unsafe fn destroy_truth(&self, tt: *mut TheTruthO) {
5400        self.destroy_truth.unwrap()(tt)
5401    }
5402
5403    pub unsafe fn find_tab(
5404        &self,
5405        type_name_hash: StrhashT,
5406        opt: *const DockingFindTabOptT,
5407    ) -> DockingFindTabT {
5408        self.find_tab.unwrap()(type_name_hash, opt)
5409    }
5410
5411    pub unsafe fn find_tabs(
5412        &self,
5413        type_name_hash: StrhashT,
5414        ta: *mut TempAllocatorI,
5415    ) -> *mut DockingFindTabT {
5416        self.find_tabs.unwrap()(type_name_hash, ta)
5417    }
5418
5419    pub unsafe fn pin_type(&self, tab: *mut TabI) -> u32 {
5420        self.pin_type.unwrap()(tab)
5421    }
5422
5423    pub unsafe fn pin_object(&self, tab: *mut TabI, tt: *mut TheTruthO, root: TtIdT) {
5424        self.pin_object.unwrap()(tab, tt, root)
5425    }
5426
5427    pub unsafe fn toolbars_state(&self, tab: *mut TabI) -> *mut ToolbarsStateO {
5428        self.toolbars_state.unwrap()(tab)
5429    }
5430
5431    pub unsafe fn clear_cached_ui(&self, tab: *mut TabI) {
5432        self.clear_cached_ui.unwrap()(tab)
5433    }
5434
5435    pub unsafe fn tab_vt(&self, name_hash: StrhashT) -> *mut TabVt {
5436        self.tab_vt.unwrap()(name_hash)
5437    }
5438
5439    pub unsafe fn set_workspace_context_menu(&self, menu: DockingWorkspaceContextMenuF) {
5440        self.set_workspace_context_menu.unwrap()(menu)
5441    }
5442
5443    pub unsafe fn set_current_workspace(&self, ui: *mut UiO, workspace_idx: u32) {
5444        self.set_current_workspace.unwrap()(ui, workspace_idx)
5445    }
5446}
5447
5448impl crate::Api for DockingApi {
5449    const NAME: ConstCStr = const_cstr!("tm_docking_api");
5450    const VERSION: VersionT = VersionT {
5451        major: 2u32,
5452        minor: 0u32,
5453        patch: 0u32,
5454    };
5455}
5456
5457impl UiDragApi {
5458    pub unsafe fn start_dragging(&self, tt: *mut TheTruthO, object: TtIdT) {
5459        self.start_dragging.unwrap()(tt, object)
5460    }
5461
5462    pub unsafe fn start_dragging_multiple_objects(
5463        &self,
5464        tt: *mut TheTruthO,
5465        objects: *const TtIdT,
5466        object_count: u64,
5467    ) {
5468        self.start_dragging_multiple_objects.unwrap()(tt, objects, object_count)
5469    }
5470
5471    pub unsafe fn single_dragged_object(&self, tt: *const TheTruthO) -> TtIdT {
5472        self.single_dragged_object.unwrap()(tt)
5473    }
5474
5475    pub unsafe fn first_dragged_object(&self, tt: *const TheTruthO) -> TtIdT {
5476        self.first_dragged_object.unwrap()(tt)
5477    }
5478
5479    pub unsafe fn all_dragged_objects(
5480        &self,
5481        tt: *const TheTruthO,
5482        ta: *mut TempAllocatorI,
5483    ) -> *mut TtIdT {
5484        self.all_dragged_objects.unwrap()(tt, ta)
5485    }
5486
5487    pub unsafe fn dragged_truth(&self) -> *const TheTruthO {
5488        self.dragged_truth.unwrap()()
5489    }
5490
5491    pub unsafe fn stop_dragging(&self) {
5492        self.stop_dragging.unwrap()()
5493    }
5494}
5495
5496impl crate::Api for UiDragApi {
5497    const NAME: ConstCStr = const_cstr!("tm_ui_drag_api");
5498    const VERSION: VersionT = VersionT {
5499        major: 1u32,
5500        minor: 0u32,
5501        patch: 0u32,
5502    };
5503}
5504
5505impl Draw2dApi {
5506    pub unsafe fn add_clip_rect(&self, vbuffer: *mut Draw2dVbufferT, clip: RectT) -> u32 {
5507        self.add_clip_rect.unwrap()(vbuffer, clip)
5508    }
5509
5510    pub unsafe fn add_sub_clip_rect(
5511        &self,
5512        vbuffer: *mut Draw2dVbufferT,
5513        parent: u32,
5514        clip: RectT,
5515    ) -> u32 {
5516        self.add_sub_clip_rect.unwrap()(vbuffer, parent, clip)
5517    }
5518
5519    pub unsafe fn clip_rect(&self, vbuffer: *mut Draw2dVbufferT, clip: u32) -> RectT {
5520        self.clip_rect.unwrap()(vbuffer, clip)
5521    }
5522
5523    pub unsafe fn font_memory(&self, font: *const FontT) -> u32 {
5524        self.font_memory.unwrap()(font)
5525    }
5526
5527    pub unsafe fn add_font(&self, vbuffer: *mut Draw2dVbufferT, font: *const FontT) -> Draw2dFontT {
5528        self.add_font.unwrap()(vbuffer, font)
5529    }
5530
5531    pub unsafe fn fill_rect(
5532        &self,
5533        vbuffer: *mut Draw2dVbufferT,
5534        ibuffer: *mut Draw2dIbufferT,
5535        style: *const Draw2dStyleT,
5536        r: RectT,
5537    ) {
5538        self.fill_rect.unwrap()(vbuffer, ibuffer, style, r)
5539    }
5540
5541    pub unsafe fn fill_rect_feathered(
5542        &self,
5543        vbuffer: *mut Draw2dVbufferT,
5544        ibuffer: *mut Draw2dIbufferT,
5545        style: *const Draw2dStyleT,
5546        r: RectT,
5547    ) {
5548        self.fill_rect_feathered.unwrap()(vbuffer, ibuffer, style, r)
5549    }
5550
5551    pub unsafe fn stroke_rect(
5552        &self,
5553        vbuffer: *mut Draw2dVbufferT,
5554        ibuffer: *mut Draw2dIbufferT,
5555        style: *const Draw2dStyleT,
5556        r: RectT,
5557    ) {
5558        self.stroke_rect.unwrap()(vbuffer, ibuffer, style, r)
5559    }
5560
5561    pub unsafe fn textured_rect(
5562        &self,
5563        vbuffer: *mut Draw2dVbufferT,
5564        ibuffer: *mut Draw2dIbufferT,
5565        style: *const Draw2dStyleT,
5566        r: RectT,
5567        texture: u32,
5568        uv: RectT,
5569        native_color_space: bool,
5570    ) {
5571        self.textured_rect.unwrap()(vbuffer, ibuffer, style, r, texture, uv, native_color_space)
5572    }
5573
5574    pub unsafe fn aux_rect(
5575        &self,
5576        vbuffer: *mut Draw2dVbufferT,
5577        ibuffer: *mut Draw2dIbufferT,
5578        style: *const Draw2dStyleT,
5579        r: RectT,
5580        aux_data_type: u32,
5581        aux_data: *const ::std::os::raw::c_void,
5582        aux_data_size: u32,
5583    ) {
5584        self.aux_rect.unwrap()(
5585            vbuffer,
5586            ibuffer,
5587            style,
5588            r,
5589            aux_data_type,
5590            aux_data,
5591            aux_data_size,
5592        )
5593    }
5594
5595    pub unsafe fn gradient_rect(
5596        &self,
5597        vbuffer: *mut Draw2dVbufferT,
5598        ibuffer: *mut Draw2dIbufferT,
5599        style: *const Draw2dStyleT,
5600        r: RectT,
5601        colors: *mut ColorSrgbT,
5602    ) {
5603        self.gradient_rect.unwrap()(vbuffer, ibuffer, style, r, colors)
5604    }
5605
5606    pub unsafe fn fill_rounded_rect(
5607        &self,
5608        vbuffer: *mut Draw2dVbufferT,
5609        ibuffer: *mut Draw2dIbufferT,
5610        style: *const Draw2dStyleT,
5611        r: RectT,
5612        radius: f32,
5613    ) {
5614        self.fill_rounded_rect.unwrap()(vbuffer, ibuffer, style, r, radius)
5615    }
5616
5617    pub unsafe fn fill_rounded_rect_per_corner(
5618        &self,
5619        vbuffer: *mut Draw2dVbufferT,
5620        ibuffer: *mut Draw2dIbufferT,
5621        style: *const Draw2dStyleT,
5622        r: RectT,
5623        radiuses: Vec4T,
5624    ) {
5625        self.fill_rounded_rect_per_corner.unwrap()(vbuffer, ibuffer, style, r, radiuses)
5626    }
5627
5628    pub unsafe fn stroke_rounded_rect(
5629        &self,
5630        vbuffer: *mut Draw2dVbufferT,
5631        ibuffer: *mut Draw2dIbufferT,
5632        style: *const Draw2dStyleT,
5633        r: RectT,
5634        radius: f32,
5635    ) {
5636        self.stroke_rounded_rect.unwrap()(vbuffer, ibuffer, style, r, radius)
5637    }
5638
5639    pub unsafe fn stroke_rounded_rect_per_corner(
5640        &self,
5641        vbuffer: *mut Draw2dVbufferT,
5642        ibuffer: *mut Draw2dIbufferT,
5643        style: *const Draw2dStyleT,
5644        r: RectT,
5645        radiuses: Vec4T,
5646    ) {
5647        self.stroke_rounded_rect_per_corner.unwrap()(vbuffer, ibuffer, style, r, radiuses)
5648    }
5649
5650    pub unsafe fn fill_circle(
5651        &self,
5652        vbuffer: *mut Draw2dVbufferT,
5653        ibuffer: *mut Draw2dIbufferT,
5654        style: *const Draw2dStyleT,
5655        pos: Vec2T,
5656        radius: f32,
5657    ) {
5658        self.fill_circle.unwrap()(vbuffer, ibuffer, style, pos, radius)
5659    }
5660
5661    pub unsafe fn stroke_circle(
5662        &self,
5663        vbuffer: *mut Draw2dVbufferT,
5664        ibuffer: *mut Draw2dIbufferT,
5665        style: *const Draw2dStyleT,
5666        pos: Vec2T,
5667        radius: f32,
5668    ) {
5669        self.stroke_circle.unwrap()(vbuffer, ibuffer, style, pos, radius)
5670    }
5671
5672    pub unsafe fn fill_triangles(
5673        &self,
5674        vbuffer: *mut Draw2dVbufferT,
5675        ibuffer: *mut Draw2dIbufferT,
5676        style: *const Draw2dStyleT,
5677        points: *const Vec2T,
5678        num_points: u32,
5679        indices: *const u32,
5680        num_indices: u32,
5681    ) {
5682        self.fill_triangles.unwrap()(
5683            vbuffer,
5684            ibuffer,
5685            style,
5686            points,
5687            num_points,
5688            indices,
5689            num_indices,
5690        )
5691    }
5692
5693    pub unsafe fn fill_convex_polyline(
5694        &self,
5695        vbuffer: *mut Draw2dVbufferT,
5696        ibuffer: *mut Draw2dIbufferT,
5697        style: *const Draw2dStyleT,
5698        points: *const Vec2T,
5699        num_points: u32,
5700    ) {
5701        self.fill_convex_polyline.unwrap()(vbuffer, ibuffer, style, points, num_points)
5702    }
5703
5704    pub unsafe fn stroke_polyline(
5705        &self,
5706        vbuffer: *mut Draw2dVbufferT,
5707        ibuffer: *mut Draw2dIbufferT,
5708        style: *const Draw2dStyleT,
5709        points: *const Vec2T,
5710        num_points: u32,
5711        closed: bool,
5712    ) {
5713        self.stroke_polyline.unwrap()(vbuffer, ibuffer, style, points, num_points, closed)
5714    }
5715
5716    pub unsafe fn stroke_polyline_widths(
5717        &self,
5718        vbuffer: *mut Draw2dVbufferT,
5719        ibuffer: *mut Draw2dIbufferT,
5720        style: *const Draw2dStyleT,
5721        points: *const Vec2T,
5722        widths: *const f32,
5723        num_points: u32,
5724        closed: bool,
5725    ) {
5726        self.stroke_polyline_widths.unwrap()(
5727            vbuffer, ibuffer, style, points, widths, num_points, closed,
5728        )
5729    }
5730
5731    pub unsafe fn bezier_path(
5732        &self,
5733        curve: *const Vec2T,
5734        num_curve_points: u32,
5735        tolerance: f32,
5736        ta: *mut TempAllocatorI,
5737        num_points: *mut u32,
5738        allocated_points: *mut u32,
5739    ) -> *mut Vec2T {
5740        self.bezier_path.unwrap()(
5741            curve,
5742            num_curve_points,
5743            tolerance,
5744            ta,
5745            num_points,
5746            allocated_points,
5747        )
5748    }
5749
5750    pub unsafe fn fill_convex_bezier(
5751        &self,
5752        vbuffer: *mut Draw2dVbufferT,
5753        ibuffer: *mut Draw2dIbufferT,
5754        style: *const Draw2dStyleT,
5755        curve: *const Vec2T,
5756        num_curve_points: u32,
5757        tolerance: f32,
5758        ta: *mut TempAllocatorI,
5759    ) {
5760        self.fill_convex_bezier.unwrap()(
5761            vbuffer,
5762            ibuffer,
5763            style,
5764            curve,
5765            num_curve_points,
5766            tolerance,
5767            ta,
5768        )
5769    }
5770
5771    pub unsafe fn stroke_bezier(
5772        &self,
5773        vbuffer: *mut Draw2dVbufferT,
5774        ibuffer: *mut Draw2dIbufferT,
5775        style: *const Draw2dStyleT,
5776        curve: *const Vec2T,
5777        num_curve_points: u32,
5778        closed: bool,
5779        tolerance: f32,
5780        ta: *mut TempAllocatorI,
5781    ) {
5782        self.stroke_bezier.unwrap()(
5783            vbuffer,
5784            ibuffer,
5785            style,
5786            curve,
5787            num_curve_points,
5788            closed,
5789            tolerance,
5790            ta,
5791        )
5792    }
5793
5794    pub unsafe fn draw_glyphs(
5795        &self,
5796        vbuffer: *mut Draw2dVbufferT,
5797        ibuffer: *mut Draw2dIbufferT,
5798        style: *const Draw2dStyleT,
5799        pos: Vec2T,
5800        glyphs: *const u16,
5801        num_glyphs: u32,
5802    ) -> RectT {
5803        self.draw_glyphs.unwrap()(vbuffer, ibuffer, style, pos, glyphs, num_glyphs)
5804    }
5805
5806    pub unsafe fn draw_glyphs_rotated(
5807        &self,
5808        vbuffer: *mut Draw2dVbufferT,
5809        ibuffer: *mut Draw2dIbufferT,
5810        style: *const Draw2dStyleT,
5811        pos: Vec2T,
5812        glyphs: *const u16,
5813        num_glyphs: u32,
5814        x: Vec2T,
5815        y: Vec2T,
5816    ) -> f32 {
5817        self.draw_glyphs_rotated.unwrap()(vbuffer, ibuffer, style, pos, glyphs, num_glyphs, x, y)
5818    }
5819
5820    pub unsafe fn merge_buffers(
5821        &self,
5822        to_vbuffer: *mut Draw2dVbufferT,
5823        to_ibuffers: *mut *mut Draw2dIbufferT,
5824        from_vbuffer: *const Draw2dVbufferT,
5825        from_ibuffers: *const *mut Draw2dIbufferT,
5826        num_ibuffers: u32,
5827    ) {
5828        self.merge_buffers.unwrap()(
5829            to_vbuffer,
5830            to_ibuffers,
5831            from_vbuffer,
5832            from_ibuffers,
5833            num_ibuffers,
5834        )
5835    }
5836}
5837
5838impl crate::Api for Draw2dApi {
5839    const NAME: ConstCStr = const_cstr!("tm_draw2d_api");
5840    const VERSION: VersionT = VersionT {
5841        major: 1u32,
5842        minor: 0u32,
5843        patch: 0u32,
5844    };
5845}
5846
5847impl FontApi {
5848    pub unsafe fn glyphs(
5849        &self,
5850        font: *const FontT,
5851        glyphs: *mut u16,
5852        codepoints: *const u32,
5853        size: u32,
5854    ) {
5855        self.glyphs.unwrap()(font, glyphs, codepoints, size)
5856    }
5857
5858    pub unsafe fn metrics(
5859        &self,
5860        font: *const FontT,
5861        font_scale: f32,
5862        glyphs: *const u16,
5863        num_glyphs: u32,
5864    ) -> RectT {
5865        self.metrics.unwrap()(font, font_scale, glyphs, num_glyphs)
5866    }
5867
5868    pub unsafe fn metrics_array(
5869        &self,
5870        font: *const FontT,
5871        font_scale: f32,
5872        pos_x: *mut f32,
5873        rects: *mut RectT,
5874        glyphs: *const u16,
5875        num_glyphs: u32,
5876    ) -> RectT {
5877        self.metrics_array.unwrap()(font, font_scale, pos_x, rects, glyphs, num_glyphs)
5878    }
5879
5880    pub unsafe fn line(
5881        &self,
5882        font: *const FontT,
5883        font_scale: f32,
5884        line_width: *mut f32,
5885        glyphs: *const u16,
5886        num_glyphs: u32,
5887    ) -> u32 {
5888        self.line.unwrap()(font, font_scale, line_width, glyphs, num_glyphs)
5889    }
5890
5891    pub unsafe fn rescale_font(&self, font: *mut FontT, scale_factor: f32) {
5892        self.rescale_font.unwrap()(font, scale_factor)
5893    }
5894
5895    pub unsafe fn glyph_set_from_scale(
5896        &self,
5897        font: *const FontT,
5898        font_scale: f32,
5899        new_font_scale: *mut f32,
5900    ) -> u32 {
5901        self.glyph_set_from_scale.unwrap()(font, font_scale, new_font_scale)
5902    }
5903
5904    pub unsafe fn first_glyph_of_set(&self, font: *const FontT, set: u32) -> *const FontGlyphT {
5905        self.first_glyph_of_set.unwrap()(font, set)
5906    }
5907}
5908
5909impl crate::Api for FontApi {
5910    const NAME: ConstCStr = const_cstr!("tm_font_api");
5911    const VERSION: VersionT = VersionT {
5912        major: 1u32,
5913        minor: 0u32,
5914        patch: 0u32,
5915    };
5916}
5917
5918impl FontLibraryApi {
5919    pub unsafe fn create(&self, allocator: *mut AllocatorI) -> *mut FontLibraryT {
5920        self.create.unwrap()(allocator)
5921    }
5922
5923    pub unsafe fn destroy(&self, lib: *mut FontLibraryT) {
5924        self.destroy.unwrap()(lib)
5925    }
5926
5927    pub unsafe fn add_ttf(
5928        &self,
5929        lib: *mut FontLibraryT,
5930        ttf: *const FontDescriptorT,
5931    ) -> TtfHandleT {
5932        self.add_ttf.unwrap()(lib, ttf)
5933    }
5934
5935    pub unsafe fn lookup(
5936        &self,
5937        lib: *const FontLibraryT,
5938        ttf: TtfHandleT,
5939        size: u32,
5940        display_dpi: f32,
5941    ) -> *const FontT {
5942        self.lookup.unwrap()(lib, ttf, size, display_dpi)
5943    }
5944
5945    pub unsafe fn generate(
5946        &self,
5947        lib: *mut FontLibraryT,
5948        tm_res_buf_api: *mut RendererResourceCommandBufferApi,
5949        res_buf: *mut RendererResourceCommandBufferO,
5950        device_affinity: u32,
5951        font_texture_id: u32,
5952        ttf: TtfHandleT,
5953        size: u32,
5954        display_dpi: f32,
5955        scales: *const f32,
5956        n_scales: u32,
5957        texture_handle: *mut RendererHandleT,
5958    ) -> *const FontT {
5959        self.generate.unwrap()(
5960            lib,
5961            tm_res_buf_api,
5962            res_buf,
5963            device_affinity,
5964            font_texture_id,
5965            ttf,
5966            size,
5967            display_dpi,
5968            scales,
5969            n_scales,
5970            texture_handle,
5971        )
5972    }
5973}
5974
5975impl crate::Api for FontLibraryApi {
5976    const NAME: ConstCStr = const_cstr!("tm_font_library_api");
5977    const VERSION: VersionT = VersionT {
5978        major: 1u32,
5979        minor: 1u32,
5980        patch: 0u32,
5981    };
5982}
5983
5984impl GizmoApi {
5985    pub unsafe fn move_(
5986        &self,
5987        ui: *mut UiO,
5988        uistyle: *const UiStyleT,
5989        pbuf: *mut PrimitiveDrawerBufferT,
5990        vbuf: *mut PrimitiveDrawerBufferT,
5991        camera: *const CameraT,
5992        viewport: RectT,
5993        tm: *const TransformT,
5994        local: *mut TransformT,
5995        settings: *const GizmoMoveSettingsT,
5996        grid_settings: *mut GizmoGridSettingsT,
5997    ) -> GizmoMoveResult {
5998        self.move_.unwrap()(
5999            ui,
6000            uistyle,
6001            pbuf,
6002            vbuf,
6003            camera,
6004            viewport,
6005            tm,
6006            local,
6007            settings,
6008            grid_settings,
6009        )
6010    }
6011
6012    pub unsafe fn rotate(
6013        &self,
6014        ui: *mut UiO,
6015        uistyle: *const UiStyleT,
6016        pbuf: *mut PrimitiveDrawerBufferT,
6017        vbuf: *mut PrimitiveDrawerBufferT,
6018        camera: *const CameraT,
6019        viewport: RectT,
6020        tm: *const TransformT,
6021        local: *mut TransformT,
6022        settings: *const GizmoRotateSettingsT,
6023    ) -> GizmoMoveResult {
6024        self.rotate.unwrap()(
6025            ui, uistyle, pbuf, vbuf, camera, viewport, tm, local, settings,
6026        )
6027    }
6028
6029    pub unsafe fn scale(
6030        &self,
6031        ui: *mut UiO,
6032        uistyle: *const UiStyleT,
6033        pbuf: *mut PrimitiveDrawerBufferT,
6034        vbuf: *mut PrimitiveDrawerBufferT,
6035        camera: *const CameraT,
6036        viewport: RectT,
6037        tm: *const TransformT,
6038        local: *mut TransformT,
6039        settings: *const GizmoScaleSettingsT,
6040    ) -> GizmoMoveResult {
6041        self.scale.unwrap()(
6042            ui, uistyle, pbuf, vbuf, camera, viewport, tm, local, settings,
6043        )
6044    }
6045}
6046
6047impl crate::Api for GizmoApi {
6048    const NAME: ConstCStr = const_cstr!("tm_gizmo_api");
6049    const VERSION: VersionT = VersionT {
6050        major: 1u32,
6051        minor: 0u32,
6052        patch: 0u32,
6053    };
6054}
6055
6056impl TabLayoutApi {
6057    pub unsafe fn instantiate_layout(
6058        &self,
6059        ui: *mut UiO,
6060        tabwell: *mut DockingTabwellO,
6061        layout: *mut TabLayoutT,
6062        context: *mut TabCreateContextT,
6063        reuse_old_tabs: bool,
6064    ) {
6065        self.instantiate_layout.unwrap()(ui, tabwell, layout, context, reuse_old_tabs)
6066    }
6067
6068    pub unsafe fn load_and_instantiate_layout(
6069        &self,
6070        settings_tt: *mut TheTruthO,
6071        app_tt: *mut TheTruthO,
6072        tabwell_id: TtIdT,
6073        ui: *mut UiO,
6074        tabwell: *mut DockingTabwellO,
6075        context: *mut TabCreateContextT,
6076        restore_roots: bool,
6077        reuse_old_tabs: bool,
6078    ) {
6079        self.load_and_instantiate_layout.unwrap()(
6080            settings_tt,
6081            app_tt,
6082            tabwell_id,
6083            ui,
6084            tabwell,
6085            context,
6086            restore_roots,
6087            reuse_old_tabs,
6088        )
6089    }
6090
6091    pub unsafe fn save_instantiated_layout(
6092        &self,
6093        tt: *mut TheTruthO,
6094        root_tabwell: *mut DockingTabwellO,
6095        only_save_restorable_tabs: bool,
6096        undo_scope: TtUndoScopeT,
6097    ) -> TtIdT {
6098        self.save_instantiated_layout.unwrap()(
6099            tt,
6100            root_tabwell,
6101            only_save_restorable_tabs,
6102            undo_scope,
6103        )
6104    }
6105
6106    pub unsafe fn save_layout(
6107        &self,
6108        tt: *mut TheTruthO,
6109        layout: *const TabLayoutT,
6110        only_save_restorable_tabs: bool,
6111        undo_scope: TtUndoScopeT,
6112    ) -> TtIdT {
6113        self.save_layout.unwrap()(tt, layout, only_save_restorable_tabs, undo_scope)
6114    }
6115}
6116
6117impl crate::Api for TabLayoutApi {
6118    const NAME: ConstCStr = const_cstr!("tm_tab_layout_api");
6119    const VERSION: VersionT = VersionT {
6120        major: 1u32,
6121        minor: 0u32,
6122        patch: 0u32,
6123    };
6124}
6125
6126impl UiModalApi {
6127    pub unsafe fn message_box(
6128        &self,
6129        title: *const ::std::os::raw::c_char,
6130        text: *const ::std::os::raw::c_char,
6131        buttons: *mut *const ::std::os::raw::c_char,
6132        num_buttons: u32,
6133    ) -> u32 {
6134        self.message_box.unwrap()(title, text, buttons, num_buttons)
6135    }
6136
6137    pub unsafe fn message_box_with_checkboxes(
6138        &self,
6139        title: *const ::std::os::raw::c_char,
6140        text: *const ::std::os::raw::c_char,
6141        checkboxes: *mut *const ::std::os::raw::c_char,
6142        checkbox_values: *mut bool,
6143        num_checkboxes: u32,
6144        buttons: *mut *const ::std::os::raw::c_char,
6145        num_buttons: u32,
6146    ) -> u32 {
6147        self.message_box_with_checkboxes.unwrap()(
6148            title,
6149            text,
6150            checkboxes,
6151            checkbox_values,
6152            num_checkboxes,
6153            buttons,
6154            num_buttons,
6155        )
6156    }
6157
6158    pub unsafe fn progress_box(
6159        &self,
6160        title: *const ::std::os::raw::c_char,
6161        text: *const ::std::os::raw::c_char,
6162        buttons: *mut *const ::std::os::raw::c_char,
6163        num_buttons: u32,
6164        callback: ::std::option::Option<
6165            unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> f32,
6166        >,
6167        callback_data: *mut ::std::os::raw::c_void,
6168    ) -> u32 {
6169        self.progress_box.unwrap()(title, text, buttons, num_buttons, callback, callback_data)
6170    }
6171
6172    pub unsafe fn infinite_progress_box(
6173        &self,
6174        title: *const ::std::os::raw::c_char,
6175        text: *const ::std::os::raw::c_char,
6176        callback: ::std::option::Option<
6177            unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> f32,
6178        >,
6179        callback_data: *mut ::std::os::raw::c_void,
6180    ) {
6181        self.infinite_progress_box.unwrap()(title, text, callback, callback_data)
6182    }
6183
6184    pub unsafe fn textinput_box(
6185        &self,
6186        title: *const ::std::os::raw::c_char,
6187        text: *const ::std::os::raw::c_char,
6188        buttons: *mut *const ::std::os::raw::c_char,
6189        num_buttons: u32,
6190        output_text: *mut ::std::os::raw::c_char,
6191        output_text_bytes: u32,
6192    ) -> u32 {
6193        self.textinput_box.unwrap()(
6194            title,
6195            text,
6196            buttons,
6197            num_buttons,
6198            output_text,
6199            output_text_bytes,
6200        )
6201    }
6202
6203    pub unsafe fn message_box_with_custom_ui_callback(
6204        &self,
6205        title: *const ::std::os::raw::c_char,
6206        text: *const ::std::os::raw::c_char,
6207        callback: UiModalCustomCallback,
6208        callback_data: *mut ::std::os::raw::c_void,
6209        custom_ui_height: f32,
6210        buttons: *mut *const ::std::os::raw::c_char,
6211        num_buttons: u32,
6212    ) -> u32 {
6213        self.message_box_with_custom_ui_callback.unwrap()(
6214            title,
6215            text,
6216            callback,
6217            callback_data,
6218            custom_ui_height,
6219            buttons,
6220            num_buttons,
6221        )
6222    }
6223}
6224
6225impl crate::Api for UiModalApi {
6226    const NAME: ConstCStr = const_cstr!("tm_ui_modal_api");
6227    const VERSION: VersionT = VersionT {
6228        major: 1u32,
6229        minor: 1u32,
6230        patch: 0u32,
6231    };
6232}
6233
6234impl Shape3dApi {
6235    pub unsafe fn circle(&self, w: *mut Vec3T, c: Vec3T, n: Vec3T, r: f32, num: u32) {
6236        self.circle.unwrap()(w, c, n, r, num)
6237    }
6238
6239    pub unsafe fn arc(
6240        &self,
6241        w: *mut Vec3T,
6242        c: Vec3T,
6243        n: Vec3T,
6244        r: f32,
6245        x: Vec3T,
6246        start_angle: f32,
6247        stop_angle: f32,
6248        num: u32,
6249    ) {
6250        self.arc.unwrap()(w, c, n, r, x, start_angle, stop_angle, num)
6251    }
6252
6253    pub unsafe fn box_(&self, w: *mut Vec3T, c: Vec3T, x: Vec3T, y: Vec3T, z: Vec3T) {
6254        self.box_.unwrap()(w, c, x, y, z)
6255    }
6256}
6257
6258impl crate::Api for Shape3dApi {
6259    const NAME: ConstCStr = const_cstr!("tm_shape3d_api");
6260    const VERSION: VersionT = VersionT {
6261        major: 1u32,
6262        minor: 0u32,
6263        patch: 0u32,
6264    };
6265}
6266
6267impl ShortcutManagerApi {
6268    pub unsafe fn load_settings(&self, tt: *mut TheTruthO, index: TtIdT) {
6269        self.load_settings.unwrap()(tt, index)
6270    }
6271
6272    pub unsafe fn accelerator_text(
6273        &self,
6274        shortcut: *const ShortcutI,
6275    ) -> *const ::std::os::raw::c_char {
6276        self.accelerator_text.unwrap()(shortcut)
6277    }
6278
6279    pub unsafe fn is_shortcut_triggered(&self, ui: *mut UiO, shortcut: *const ShortcutI) -> bool {
6280        self.is_shortcut_triggered.unwrap()(ui, shortcut)
6281    }
6282
6283    pub unsafe fn is_shortcut_triggered_in_input(
6284        &self,
6285        input_state: *const UiInputStateT,
6286        shortcut: *const ShortcutI,
6287    ) -> bool {
6288        self.is_shortcut_triggered_in_input.unwrap()(input_state, shortcut)
6289    }
6290
6291    pub unsafe fn disable_shortcut_processing(&self) {
6292        self.disable_shortcut_processing.unwrap()()
6293    }
6294}
6295
6296impl crate::Api for ShortcutManagerApi {
6297    const NAME: ConstCStr = const_cstr!("tm_shortcut_manager_api");
6298    const VERSION: VersionT = VersionT {
6299        major: 1u32,
6300        minor: 0u32,
6301        patch: 0u32,
6302    };
6303}
6304
6305impl ToolbarApi {
6306    pub unsafe fn create_state(&self, allocator: *mut AllocatorI) -> *mut ToolbarsStateO {
6307        self.create_state.unwrap()(allocator)
6308    }
6309
6310    pub unsafe fn destroy_state(&self, state: *mut ToolbarsStateO) {
6311        self.destroy_state.unwrap()(state)
6312    }
6313
6314    pub unsafe fn calculate_rect(
6315        &self,
6316        state: *const ToolbarsStateO,
6317        ui: *mut UiO,
6318        full_rect: RectT,
6319    ) -> RectT {
6320        self.calculate_rect.unwrap()(state, ui, full_rect)
6321    }
6322
6323    pub unsafe fn ui(
6324        &self,
6325        toolbars: *mut ToolbarI,
6326        num_toolbars: u32,
6327        state: *mut ToolbarsStateO,
6328        ui: *mut UiO,
6329        uistyle: *const UiStyleT,
6330        full_rect: RectT,
6331        settings_tt: *mut TheTruthO,
6332        settings_obj: TtIdT,
6333    ) {
6334        self.ui.unwrap()(
6335            toolbars,
6336            num_toolbars,
6337            state,
6338            ui,
6339            uistyle,
6340            full_rect,
6341            settings_tt,
6342            settings_obj,
6343        )
6344    }
6345}
6346
6347impl crate::Api for ToolbarApi {
6348    const NAME: ConstCStr = const_cstr!("tm_toolbar_api");
6349    const VERSION: VersionT = VersionT {
6350        major: 1u32,
6351        minor: 0u32,
6352        patch: 0u32,
6353    };
6354}
6355
6356impl TtfBakerApi {
6357    pub unsafe fn bake(
6358        &self,
6359        ttf: *const u8,
6360        font_index: u32,
6361        font_size: f32,
6362        font_scales: *const f32,
6363        num_scales: u32,
6364        texture_identifier: u32,
6365        pixels: *mut u8,
6366        width: u32,
6367        height: u32,
6368        ranges: *const TtfRangeT,
6369        num_ranges: u32,
6370        extract_glyph_segments: bool,
6371        allocator: *mut AllocatorI,
6372        font_bytes: *mut u64,
6373    ) -> *mut FontT {
6374        self.bake.unwrap()(
6375            ttf,
6376            font_index,
6377            font_size,
6378            font_scales,
6379            num_scales,
6380            texture_identifier,
6381            pixels,
6382            width,
6383            height,
6384            ranges,
6385            num_ranges,
6386            extract_glyph_segments,
6387            allocator,
6388            font_bytes,
6389        )
6390    }
6391}
6392
6393impl crate::Api for TtfBakerApi {
6394    const NAME: ConstCStr = const_cstr!("tm_ttf_baker_api");
6395    const VERSION: VersionT = VersionT {
6396        major: 2u32,
6397        minor: 0u32,
6398        patch: 0u32,
6399    };
6400}
6401
6402impl UiApi {
6403    pub unsafe fn create(&self, a: *mut AllocatorI) -> *mut UiO {
6404        self.create.unwrap()(a)
6405    }
6406
6407    pub unsafe fn destroy(&self, i: *mut UiO) {
6408        self.destroy.unwrap()(i)
6409    }
6410
6411    pub unsafe fn clear(&self, ui: *mut UiO) {
6412        self.clear.unwrap()(ui)
6413    }
6414
6415    pub unsafe fn release_held_state(&self, ui: *mut UiO) {
6416        self.release_held_state.unwrap()(ui)
6417    }
6418
6419    pub unsafe fn set_window_status(
6420        &self,
6421        ui: *mut UiO,
6422        rect: RectT,
6423        has_focus: bool,
6424        is_under_cursor: bool,
6425    ) {
6426        self.set_window_status.unwrap()(ui, rect, has_focus, is_under_cursor)
6427    }
6428
6429    pub unsafe fn window_rect(&self, ui: *mut UiO) -> RectT {
6430        self.window_rect.unwrap()(ui)
6431    }
6432
6433    pub unsafe fn window_has_focus(&self, ui: *mut UiO) -> bool {
6434        self.window_has_focus.unwrap()(ui)
6435    }
6436
6437    pub unsafe fn window_is_under_cursor(&self, ui: *mut UiO) -> bool {
6438        self.window_is_under_cursor.unwrap()(ui)
6439    }
6440
6441    pub unsafe fn set_feather_width(&self, ui: *mut UiO, feather_width: f32) {
6442        self.set_feather_width.unwrap()(ui, feather_width)
6443    }
6444
6445    pub unsafe fn feather_width(&self, ui: *const UiO) -> f32 {
6446        self.feather_width.unwrap()(ui)
6447    }
6448
6449    pub unsafe fn set_scroll_wheel_lines(&self, ui: *mut UiO, scroll_speed: f32) {
6450        self.set_scroll_wheel_lines.unwrap()(ui, scroll_speed)
6451    }
6452
6453    pub unsafe fn feed_events(
6454        &self,
6455        ui: *mut UiO,
6456        events: *const InputEventT,
6457        count: u32,
6458        offset: Vec2T,
6459        scale: Vec2T,
6460    ) {
6461        self.feed_events.unwrap()(ui, events, count, offset, scale)
6462    }
6463
6464    pub unsafe fn feed_external_edit_key(&self, ui: *mut UiO, key: u32) {
6465        self.feed_external_edit_key.unwrap()(ui, key)
6466    }
6467
6468    pub unsafe fn merge_overlay(&self, ui: *mut UiO) {
6469        self.merge_overlay.unwrap()(ui)
6470    }
6471
6472    pub unsafe fn begin_overlay_draw_scope(&self, ui: *mut UiO, id: u64) {
6473        self.begin_overlay_draw_scope.unwrap()(ui, id)
6474    }
6475
6476    pub unsafe fn end_overlay_draw_scope(&self, ui: *mut UiO, id: u64) {
6477        self.end_overlay_draw_scope.unwrap()(ui, id)
6478    }
6479
6480    pub unsafe fn drawing_in_overlay(&self, ui: *mut UiO) -> bool {
6481        self.drawing_in_overlay.unwrap()(ui)
6482    }
6483
6484    pub unsafe fn cursor(&self, ui: *mut UiO) -> UiCursor {
6485        self.cursor.unwrap()(ui)
6486    }
6487
6488    pub unsafe fn pane(&self, ui: *mut UiO, style: *const UiStyleT, rect: RectT) {
6489        self.pane.unwrap()(ui, style, rect)
6490    }
6491
6492    pub unsafe fn scrollbar_x(
6493        &self,
6494        ui: *mut UiO,
6495        uistyle: *const UiStyleT,
6496        c: *const UiScrollbarT,
6497        scroll: *mut f32,
6498    ) -> bool {
6499        self.scrollbar_x.unwrap()(ui, uistyle, c, scroll)
6500    }
6501
6502    pub unsafe fn scrollbar_y(
6503        &self,
6504        ui: *mut UiO,
6505        uistyle: *const UiStyleT,
6506        c: *const UiScrollbarT,
6507        scroll: *mut f32,
6508    ) -> bool {
6509        self.scrollbar_y.unwrap()(ui, uistyle, c, scroll)
6510    }
6511
6512    pub unsafe fn begin_scrollview(
6513        &self,
6514        ui: *mut UiO,
6515        style: *const UiStyleT,
6516        c: *const UiScrollviewT,
6517        scroll_x: *mut f32,
6518        scroll_y: *mut f32,
6519        content_rect: *mut RectT,
6520    ) -> bool {
6521        self.begin_scrollview.unwrap()(ui, style, c, scroll_x, scroll_y, content_rect)
6522    }
6523
6524    pub unsafe fn end_scrollview(
6525        &self,
6526        ui: *mut UiO,
6527        scroll_x: *mut f32,
6528        scroll_y: *mut f32,
6529        can_respond_to_keyboard: bool,
6530    ) -> bool {
6531        self.end_scrollview.unwrap()(ui, scroll_x, scroll_y, can_respond_to_keyboard)
6532    }
6533
6534    pub unsafe fn label(&self, ui: *mut UiO, style: *const UiStyleT, c: *const UiLabelT) -> RectT {
6535        self.label.unwrap()(ui, style, c)
6536    }
6537
6538    pub unsafe fn text(&self, ui: *mut UiO, style: *const UiStyleT, c: *const UiTextT) -> RectT {
6539        self.text.unwrap()(ui, style, c)
6540    }
6541
6542    pub unsafe fn text_metrics(
6543        &self,
6544        style: *const UiStyleT,
6545        text: *const ::std::os::raw::c_char,
6546    ) -> RectT {
6547        self.text_metrics.unwrap()(style, text)
6548    }
6549
6550    pub unsafe fn wrapped_text(
6551        &self,
6552        ui: *mut UiO,
6553        style: *const UiStyleT,
6554        c: *const UiTextT,
6555    ) -> RectT {
6556        self.wrapped_text.unwrap()(ui, style, c)
6557    }
6558
6559    pub unsafe fn link(&self, ui: *mut UiO, style: *const UiStyleT, c: *const UiLinkT) -> bool {
6560        self.link.unwrap()(ui, style, c)
6561    }
6562
6563    pub unsafe fn tooltip(
6564        &self,
6565        ui: *mut UiO,
6566        style: *const UiStyleT,
6567        text: *const ::std::os::raw::c_char,
6568    ) {
6569        self.tooltip.unwrap()(ui, style, text)
6570    }
6571
6572    pub unsafe fn button(&self, ui: *mut UiO, style: *const UiStyleT, c: *const UiButtonT) -> bool {
6573        self.button.unwrap()(ui, style, c)
6574    }
6575
6576    pub unsafe fn pushbutton(
6577        &self,
6578        ui: *mut UiO,
6579        style: *const UiStyleT,
6580        c: *const UiButtonT,
6581        pressed: *mut bool,
6582    ) -> bool {
6583        self.pushbutton.unwrap()(ui, style, c, pressed)
6584    }
6585
6586    pub unsafe fn checkbox(
6587        &self,
6588        ui: *mut UiO,
6589        style: *const UiStyleT,
6590        c: *const UiCheckboxT,
6591        checked: *mut bool,
6592    ) -> bool {
6593        self.checkbox.unwrap()(ui, style, c, checked)
6594    }
6595
6596    pub unsafe fn radio(
6597        &self,
6598        ui: *mut UiO,
6599        style: *const UiStyleT,
6600        c: *const UiRadioT,
6601        checked: bool,
6602    ) -> bool {
6603        self.radio.unwrap()(ui, style, c, checked)
6604    }
6605
6606    pub unsafe fn progress(
6607        &self,
6608        ui: *mut UiO,
6609        style: *const UiStyleT,
6610        c: *const UiProgressT,
6611        fraction: f32,
6612    ) {
6613        self.progress.unwrap()(ui, style, c, fraction)
6614    }
6615
6616    pub unsafe fn slider(
6617        &self,
6618        ui: *mut UiO,
6619        style: *const UiStyleT,
6620        c: *const UiSliderT,
6621        val: *mut f32,
6622        initial: *mut f32,
6623    ) -> UiInteractionResultT {
6624        self.slider.unwrap()(ui, style, c, val, initial)
6625    }
6626
6627    pub unsafe fn slider_2d(
6628        &self,
6629        ui: *mut UiO,
6630        style: *const UiStyleT,
6631        c: *const Ui2dSliderT,
6632        val: *mut Vec2T,
6633        initial: *mut Vec2T,
6634    ) -> UiInteractionResultT {
6635        self.slider_2d.unwrap()(ui, style, c, val, initial)
6636    }
6637
6638    pub unsafe fn spinner(
6639        &self,
6640        ui: *mut UiO,
6641        style: *const UiStyleT,
6642        c: *const UiSpinnerT,
6643        val: *mut f64,
6644        initial: *mut f64,
6645    ) -> UiInteractionResultT {
6646        self.spinner.unwrap()(ui, style, c, val, initial)
6647    }
6648
6649    pub unsafe fn dropdown(
6650        &self,
6651        ui: *mut UiO,
6652        style: *const UiStyleT,
6653        c: *const UiDropdownT,
6654        selected: *mut u32,
6655    ) -> bool {
6656        self.dropdown.unwrap()(ui, style, c, selected)
6657    }
6658
6659    pub unsafe fn textedit(
6660        &self,
6661        ui: *mut UiO,
6662        style: *const UiStyleT,
6663        c: *const UiTexteditT,
6664        buffer: *mut ::std::os::raw::c_char,
6665        buffer_bytes: u32,
6666    ) -> bool {
6667        self.textedit.unwrap()(ui, style, c, buffer, buffer_bytes)
6668    }
6669
6670    pub unsafe fn multiline_textedit(
6671        &self,
6672        ui: *mut UiO,
6673        style: *const UiStyleT,
6674        c: *const UiTexteditT,
6675        buffer: *mut *mut ::std::os::raw::c_char,
6676        a: *mut AllocatorI,
6677        caret_rect: *mut RectT,
6678    ) -> bool {
6679        self.multiline_textedit.unwrap()(ui, style, c, buffer, a, caret_rect)
6680    }
6681
6682    pub unsafe fn menubar(
6683        &self,
6684        ui: *mut UiO,
6685        style: *const UiStyleT,
6686        c: *const UiMenubarT,
6687    ) -> UiMenuResultT {
6688        self.menubar.unwrap()(ui, style, c)
6689    }
6690
6691    pub unsafe fn menu(
6692        &self,
6693        ui: *mut UiO,
6694        style: *const UiStyleT,
6695        c: *const UiMenuT,
6696    ) -> UiMenuResultT {
6697        self.menu.unwrap()(ui, style, c)
6698    }
6699
6700    pub unsafe fn sort_menu_items(&self, items: *mut UiMenuItemT, count: u32) {
6701        self.sort_menu_items.unwrap()(items, count)
6702    }
6703
6704    pub unsafe fn tabbar(
6705        &self,
6706        ui: *mut UiO,
6707        style: *const UiStyleT,
6708        c: *const UiTabbarT,
6709        selected: *mut u32,
6710    ) -> UiTabbarResultT {
6711        self.tabbar.unwrap()(ui, style, c, selected)
6712    }
6713
6714    pub unsafe fn draggedtab(&self, ui: *mut UiO, style: *const UiStyleT, c: *const UiDraggedtabT) {
6715        self.draggedtab.unwrap()(ui, style, c)
6716    }
6717
6718    pub unsafe fn splitter_x(
6719        &self,
6720        ui: *mut UiO,
6721        uistyle: *const UiStyleT,
6722        c: *const UiSplitterT,
6723        bias: *mut f32,
6724        content_left: *mut RectT,
6725        content_right: *mut RectT,
6726    ) -> bool {
6727        self.splitter_x.unwrap()(ui, uistyle, c, bias, content_left, content_right)
6728    }
6729
6730    pub unsafe fn splitter_x_rects(
6731        &self,
6732        c: *const UiSplitterT,
6733        bias: f32,
6734        content_left: *mut RectT,
6735        content_right: *mut RectT,
6736    ) {
6737        self.splitter_x_rects.unwrap()(c, bias, content_left, content_right)
6738    }
6739
6740    pub unsafe fn splitter_y(
6741        &self,
6742        ui: *mut UiO,
6743        uistyle: *const UiStyleT,
6744        c: *const UiSplitterT,
6745        bias: *mut f32,
6746        content_top: *mut RectT,
6747        content_bottom: *mut RectT,
6748    ) -> bool {
6749        self.splitter_y.unwrap()(ui, uistyle, c, bias, content_top, content_bottom)
6750    }
6751
6752    pub unsafe fn splitter_y_rects(
6753        &self,
6754        c: *const UiSplitterT,
6755        bias: f32,
6756        content_top: *mut RectT,
6757        content_bottom: *mut RectT,
6758    ) {
6759        self.splitter_y_rects.unwrap()(c, bias, content_top, content_bottom)
6760    }
6761
6762    pub unsafe fn titlebar(
6763        &self,
6764        ui: *mut UiO,
6765        uistyle: *const UiStyleT,
6766        c: *const UiTitlebarT,
6767    ) -> UiTitlebarResultT {
6768        self.titlebar.unwrap()(ui, uistyle, c)
6769    }
6770
6771    pub unsafe fn buffers(&self, ui: *mut UiO) -> UiBuffersT {
6772        self.buffers.unwrap()(ui)
6773    }
6774
6775    pub unsafe fn shortcuts(&self) -> *mut *mut ShortcutI {
6776        self.shortcuts.unwrap()()
6777    }
6778
6779    pub unsafe fn reserve_draw_memory(&self, ui: *mut UiO) {
6780        self.reserve_draw_memory.unwrap()(ui)
6781    }
6782
6783    pub unsafe fn reserve_draw_memory_detailed(
6784        &self,
6785        ui: *mut UiO,
6786        primitive_bytes: u32,
6787        main_index_bytes: u32,
6788        overlay_index_bytes: u32,
6789    ) {
6790        self.reserve_draw_memory_detailed.unwrap()(
6791            ui,
6792            primitive_bytes,
6793            main_index_bytes,
6794            overlay_index_bytes,
6795        )
6796    }
6797
6798    pub unsafe fn make_id(&self, ui: *mut UiO) -> u64 {
6799        self.make_id.unwrap()(ui)
6800    }
6801
6802    pub unsafe fn last_id(&self, ui: *mut UiO) -> u64 {
6803        self.last_id.unwrap()(ui)
6804    }
6805
6806    pub unsafe fn create_fixed_id_range(&self, ui: *mut UiO, size: u64) -> u64 {
6807        self.create_fixed_id_range.unwrap()(ui, size)
6808    }
6809
6810    pub unsafe fn set_id(&self, ui: *mut UiO, id: u64) -> u64 {
6811        self.set_id.unwrap()(ui, id)
6812    }
6813
6814    pub unsafe fn set_cursor(&self, ui: *mut UiO, cursor: UiCursor) {
6815        self.set_cursor.unwrap()(ui, cursor)
6816    }
6817
6818    pub unsafe fn is_hovering(&self, ui: *mut UiO, r: RectT, clip: u32) -> bool {
6819        self.is_hovering.unwrap()(ui, r, clip)
6820    }
6821
6822    pub unsafe fn set_responder_chain_root(&self, ui: *mut UiO, id: u64) {
6823        self.set_responder_chain_root.unwrap()(ui, id)
6824    }
6825
6826    pub unsafe fn begin_responder_scope(&self, ui: *mut UiO, id: u64) {
6827        self.begin_responder_scope.unwrap()(ui, id)
6828    }
6829
6830    pub unsafe fn end_responder_scope(&self, ui: *mut UiO, id: u64) {
6831        self.end_responder_scope.unwrap()(ui, id)
6832    }
6833
6834    pub unsafe fn in_responder_chain(&self, ui: *mut UiO, id: u64) -> bool {
6835        self.in_responder_chain.unwrap()(ui, id)
6836    }
6837
6838    pub unsafe fn is_first_responder(&self, ui: *mut UiO, id: u64) -> bool {
6839        self.is_first_responder.unwrap()(ui, id)
6840    }
6841
6842    pub unsafe fn set_responder_chain(&self, ui: *mut UiO, id: u64) {
6843        self.set_responder_chain.unwrap()(ui, id)
6844    }
6845
6846    pub unsafe fn pop_responder_chain(&self, ui: *mut UiO, id: u64) {
6847        self.pop_responder_chain.unwrap()(ui, id)
6848    }
6849
6850    pub unsafe fn responder_chain(&self, ui: *mut UiO, count: *mut u32) -> *mut u64 {
6851        self.responder_chain.unwrap()(ui, count)
6852    }
6853
6854    pub unsafe fn is_responder_chain_empty(&self, ui: *mut UiO) -> bool {
6855        self.is_responder_chain_empty.unwrap()(ui)
6856    }
6857
6858    pub unsafe fn focus_on_mouse_press(&self, ui: *mut UiO, r: RectT, id: u64) -> bool {
6859        self.focus_on_mouse_press.unwrap()(ui, r, id)
6860    }
6861
6862    pub unsafe fn consume_key(&self, ui: *mut UiO, keyboard_item: u32) {
6863        self.consume_key.unwrap()(ui, keyboard_item)
6864    }
6865
6866    pub unsafe fn begin_tab_scope(&self, ui: *mut UiO, id: u64) -> bool {
6867        self.begin_tab_scope.unwrap()(ui, id)
6868    }
6869
6870    pub unsafe fn end_tab_scope(&self, ui: *mut UiO) {
6871        self.end_tab_scope.unwrap()(ui)
6872    }
6873
6874    pub unsafe fn focus_on_tab(&self, ui: *mut UiO, r: RectT, id: u64) -> bool {
6875        self.focus_on_tab.unwrap()(ui, r, id)
6876    }
6877
6878    pub unsafe fn suppress_next_tab_focus(&self, ui: *mut UiO) {
6879        self.suppress_next_tab_focus.unwrap()(ui)
6880    }
6881
6882    pub unsafe fn clear_active(&self, ui: *mut UiO) {
6883        self.clear_active.unwrap()(ui)
6884    }
6885
6886    pub unsafe fn set_active(
6887        &self,
6888        ui: *mut UiO,
6889        id: u64,
6890        active_data_format: StrhashT,
6891    ) -> *mut ::std::os::raw::c_void {
6892        self.set_active.unwrap()(ui, id, active_data_format)
6893    }
6894
6895    pub unsafe fn is_active(
6896        &self,
6897        ui: *mut UiO,
6898        id: u64,
6899        active_data_format: StrhashT,
6900    ) -> *mut ::std::os::raw::c_void {
6901        self.is_active.unwrap()(ui, id, active_data_format)
6902    }
6903
6904    pub unsafe fn lost_active(
6905        &self,
6906        ui: *mut UiO,
6907        id: u64,
6908        active_data_format: StrhashT,
6909    ) -> *mut ::std::os::raw::c_void {
6910        self.lost_active.unwrap()(ui, id, active_data_format)
6911    }
6912
6913    pub unsafe fn clear_lost_active(&self, ui: *mut UiO) {
6914        self.clear_lost_active.unwrap()(ui)
6915    }
6916
6917    pub unsafe fn save_active_state(
6918        &self,
6919        ui: *mut UiO,
6920        ta: *mut TempAllocatorI,
6921    ) -> *mut ::std::os::raw::c_void {
6922        self.save_active_state.unwrap()(ui, ta)
6923    }
6924
6925    pub unsafe fn restore_active_state(&self, ui: *mut UiO, state: *const ::std::os::raw::c_void) {
6926        self.restore_active_state.unwrap()(ui, state)
6927    }
6928
6929    pub unsafe fn to_draw_style(
6930        &self,
6931        ui: *mut UiO,
6932        style: *mut Draw2dStyleT,
6933        uistyle: *const UiStyleT,
6934    ) -> *mut Draw2dStyleT {
6935        self.to_draw_style.unwrap()(ui, style, uistyle)
6936    }
6937
6938    pub unsafe fn set_cache(&self, ui: *mut UiO, key: u64, carray: *mut ::std::os::raw::c_char) {
6939        self.set_cache.unwrap()(ui, key, carray)
6940    }
6941
6942    pub unsafe fn lookup_cache(&self, ui: *mut UiO, key: u64) -> *mut ::std::os::raw::c_char {
6943        self.lookup_cache.unwrap()(ui, key)
6944    }
6945
6946    pub unsafe fn get_cache(
6947        &self,
6948        ui: *mut UiO,
6949        key: u64,
6950        size: u32,
6951    ) -> *mut ::std::os::raw::c_void {
6952        self.get_cache.unwrap()(ui, key, size)
6953    }
6954
6955    pub unsafe fn left_mouse_pressed(
6956        &self,
6957        ui: *mut UiO,
6958        help_text: *const ::std::os::raw::c_char,
6959    ) -> bool {
6960        self.left_mouse_pressed.unwrap()(ui, help_text)
6961    }
6962
6963    pub unsafe fn middle_mouse_pressed(
6964        &self,
6965        ui: *mut UiO,
6966        help_text: *const ::std::os::raw::c_char,
6967    ) -> bool {
6968        self.middle_mouse_pressed.unwrap()(ui, help_text)
6969    }
6970
6971    pub unsafe fn right_mouse_pressed(
6972        &self,
6973        ui: *mut UiO,
6974        help_text: *const ::std::os::raw::c_char,
6975    ) -> bool {
6976        self.right_mouse_pressed.unwrap()(ui, help_text)
6977    }
6978
6979    pub unsafe fn left_mouse_released(
6980        &self,
6981        ui: *mut UiO,
6982        help_text: *const ::std::os::raw::c_char,
6983    ) -> bool {
6984        self.left_mouse_released.unwrap()(ui, help_text)
6985    }
6986
6987    pub unsafe fn middle_mouse_released(
6988        &self,
6989        ui: *mut UiO,
6990        help_text: *const ::std::os::raw::c_char,
6991    ) -> bool {
6992        self.middle_mouse_released.unwrap()(ui, help_text)
6993    }
6994
6995    pub unsafe fn right_mouse_released(
6996        &self,
6997        ui: *mut UiO,
6998        help_text: *const ::std::os::raw::c_char,
6999    ) -> bool {
7000        self.right_mouse_released.unwrap()(ui, help_text)
7001    }
7002
7003    pub unsafe fn double_click(
7004        &self,
7005        ui: *mut UiO,
7006        help_text: *const ::std::os::raw::c_char,
7007    ) -> bool {
7008        self.double_click.unwrap()(ui, help_text)
7009    }
7010
7011    pub unsafe fn triple_click(
7012        &self,
7013        ui: *mut UiO,
7014        help_text: *const ::std::os::raw::c_char,
7015    ) -> bool {
7016        self.triple_click.unwrap()(ui, help_text)
7017    }
7018
7019    pub unsafe fn get_mouse_help_texts(&self, ui: *mut UiO) -> UiMouseHelpTextsT {
7020        self.get_mouse_help_texts.unwrap()(ui)
7021    }
7022
7023    pub unsafe fn theme(&self, ui: *mut UiO) -> UiThemeT {
7024        self.theme.unwrap()(ui)
7025    }
7026
7027    pub unsafe fn get_theme_colors(
7028        &self,
7029        theme: UiThemeT,
7030        theme_colors: *mut *mut ColorSrgbT,
7031        a: *mut AllocatorI,
7032    ) {
7033        self.get_theme_colors.unwrap()(theme, theme_colors, a)
7034    }
7035
7036    pub unsafe fn set_theme(&self, ui: *mut UiO, theme: UiThemeT) {
7037        self.set_theme.unwrap()(ui, theme)
7038    }
7039
7040    pub unsafe fn set_theme_colors(&self, ui: *mut UiO, colors: *const ColorSrgbT) {
7041        self.set_theme_colors.unwrap()(ui, colors)
7042    }
7043
7044    pub unsafe fn create_custom_theme(&self, ui: *mut UiO, tt: *mut TheTruthO) -> UiThemeT {
7045        self.create_custom_theme.unwrap()(ui, tt)
7046    }
7047
7048    pub unsafe fn set_parent_ui(&self, ui: *mut UiO, parent_ui: *mut UiO) {
7049        self.set_parent_ui.unwrap()(ui, parent_ui)
7050    }
7051
7052    pub unsafe fn fork(&self, main: *mut UiO) -> *mut UiO {
7053        self.fork.unwrap()(main)
7054    }
7055
7056    pub unsafe fn join(&self, main: *mut UiO, fork: *mut UiO) {
7057        self.join.unwrap()(main, fork)
7058    }
7059
7060    pub unsafe fn merge_render_buffers(&self, main: *mut UiO, fork: *mut UiO) {
7061        self.merge_render_buffers.unwrap()(main, fork)
7062    }
7063
7064    pub unsafe fn main_ui(&self, ui: *const UiO) -> *mut UiO {
7065        self.main_ui.unwrap()(ui)
7066    }
7067
7068    pub unsafe fn add_font(
7069        &self,
7070        ui: *mut UiO,
7071        font_id: StrhashT,
7072        size: u32,
7073        font: *const FontT,
7074    ) -> *const Draw2dFontT {
7075        self.add_font.unwrap()(ui, font_id, size, font)
7076    }
7077
7078    pub unsafe fn font(&self, ui: *mut UiO, font_id: StrhashT, size: u32) -> UiFontT {
7079        self.font.unwrap()(ui, font_id, size)
7080    }
7081
7082    pub unsafe fn default_style(&self, ui: *const UiO) -> UiStyleT {
7083        self.default_style.unwrap()(ui)
7084    }
7085
7086    pub unsafe fn create_truth_types(&self, tt: *mut TheTruthO) {
7087        self.create_truth_types.unwrap()(tt)
7088    }
7089
7090    pub unsafe fn register_control(
7091        &self,
7092        ui: *mut UiO,
7093        role: StrhashT,
7094        title: *const ::std::os::raw::c_char,
7095        rect: RectT,
7096    ) {
7097        self.register_control.unwrap()(ui, role, title, rect)
7098    }
7099
7100    pub unsafe fn find_control(
7101        &self,
7102        ui: *mut UiO,
7103        role: StrhashT,
7104        title: *const ::std::os::raw::c_char,
7105    ) -> RectT {
7106        self.find_control.unwrap()(ui, role, title)
7107    }
7108
7109    pub unsafe fn automation_controls(
7110        &self,
7111        ui: *mut UiO,
7112        ta: *mut TempAllocatorI,
7113    ) -> *mut UiAutomationControlT {
7114        self.automation_controls.unwrap()(ui, ta)
7115    }
7116
7117    pub unsafe fn mouse_move(&self, ui: *mut UiO, pos: Vec2T) {
7118        self.mouse_move.unwrap()(ui, pos)
7119    }
7120
7121    pub unsafe fn mouse_button_state(&self, ui: *mut UiO, mouse_item: u32, down: bool) {
7122        self.mouse_button_state.unwrap()(ui, mouse_item, down)
7123    }
7124
7125    pub unsafe fn keyboard_key_state(&self, ui: *mut UiO, keyboard_item: u32, down: bool) {
7126        self.keyboard_key_state.unwrap()(ui, keyboard_item, down)
7127    }
7128
7129    pub unsafe fn text_input(&self, ui: *mut UiO, text: *const ::std::os::raw::c_char) {
7130        self.text_input.unwrap()(ui, text)
7131    }
7132
7133    pub unsafe fn visualize_flag(&self, ui: *mut UiO, flag: UiVisualizeFlag) -> bool {
7134        self.visualize_flag.unwrap()(ui, flag)
7135    }
7136
7137    pub unsafe fn set_visualize_flag(&self, ui: *mut UiO, flag: UiVisualizeFlag, on: bool) {
7138        self.set_visualize_flag.unwrap()(ui, flag, on)
7139    }
7140
7141    pub unsafe fn visualize(&self, ui: *mut UiO) {
7142        self.visualize.unwrap()(ui)
7143    }
7144}
7145
7146impl crate::Api for UiApi {
7147    const NAME: ConstCStr = const_cstr!("tm_ui_api");
7148    const VERSION: VersionT = VersionT {
7149        major: 1u32,
7150        minor: 0u32,
7151        patch: 0u32,
7152    };
7153}
7154
7155impl UiIconApi {
7156    pub unsafe fn label(
7157        &self,
7158        ui: *mut UiO,
7159        style: *const UiStyleT,
7160        c: *const UiIconLabelT,
7161    ) -> RectT {
7162        self.label.unwrap()(ui, style, c)
7163    }
7164
7165    pub unsafe fn text(
7166        &self,
7167        ui: *mut UiO,
7168        style: *const UiStyleT,
7169        c: *const UiIconTextT,
7170    ) -> RectT {
7171        self.text.unwrap()(ui, style, c)
7172    }
7173
7174    pub unsafe fn metrics(&self, ui: *mut UiO, font_scale: f32, icon: UiIcon) -> RectT {
7175        self.metrics.unwrap()(ui, font_scale, icon)
7176    }
7177
7178    pub unsafe fn codepoint(&self, icon: UiIcon) -> u32 {
7179        self.codepoint.unwrap()(icon)
7180    }
7181
7182    pub unsafe fn glyph(&self, ui: *mut UiO, icon: UiIcon) -> u16 {
7183        self.glyph.unwrap()(ui, icon)
7184    }
7185
7186    pub unsafe fn draw(
7187        &self,
7188        ui: *mut UiO,
7189        style: *const UiStyleT,
7190        color: *mut ColorSrgbT,
7191        pos: Vec2T,
7192        icon: UiIcon,
7193    ) -> f32 {
7194        self.draw.unwrap()(ui, style, color, pos, icon)
7195    }
7196
7197    pub unsafe fn title(&self, icon: UiIcon) -> *const ::std::os::raw::c_char {
7198        self.title.unwrap()(icon)
7199    }
7200}
7201
7202impl crate::Api for UiIconApi {
7203    const NAME: ConstCStr = const_cstr!("tm_ui_icon_api");
7204    const VERSION: VersionT = VersionT {
7205        major: 1u32,
7206        minor: 0u32,
7207        patch: 0u32,
7208    };
7209}
7210
7211impl UiRendererApi {
7212    pub unsafe fn create(
7213        &self,
7214        res_buf: *mut RendererResourceCommandBufferO,
7215        shader_repository: *mut ShaderRepositoryO,
7216        allocator: *mut AllocatorI,
7217        device_affinity: u32,
7218    ) -> *mut UiRendererO {
7219        self.create.unwrap()(res_buf, shader_repository, allocator, device_affinity)
7220    }
7221
7222    pub unsafe fn destroy(
7223        &self,
7224        ui_renderer: *mut UiRendererO,
7225        res_buf: *mut RendererResourceCommandBufferO,
7226    ) {
7227        self.destroy.unwrap()(ui_renderer, res_buf)
7228    }
7229
7230    pub unsafe fn render(
7231        &self,
7232        ui_renderer: *mut UiRendererO,
7233        ui: *mut UiO,
7234        canvas: *const UiCanvasT,
7235        sort_key: u64,
7236        res_buf: *mut RendererResourceCommandBufferO,
7237        cmd_buf: *mut RendererCommandBufferO,
7238        color_space: *const ColorSpaceDescT,
7239    ) {
7240        self.render.unwrap()(
7241            ui_renderer,
7242            ui,
7243            canvas,
7244            sort_key,
7245            res_buf,
7246            cmd_buf,
7247            color_space,
7248        )
7249    }
7250
7251    pub unsafe fn default_font(
7252        &self,
7253        ui_renderer: *mut UiRendererO,
7254        font_size: u32,
7255        window_dpi: f32,
7256        res_buf: *mut RendererResourceCommandBufferO,
7257    ) -> *const FontT {
7258        self.default_font.unwrap()(ui_renderer, font_size, window_dpi, res_buf)
7259    }
7260
7261    pub unsafe fn custom_font(
7262        &self,
7263        ui_renderer: *mut UiRendererO,
7264        font_id: StrhashT,
7265        desc: *const FontDescriptorT,
7266        font_size: u32,
7267        window_dpi: f32,
7268        res_buf: *mut RendererResourceCommandBufferO,
7269    ) -> *const FontT {
7270        self.custom_font.unwrap()(ui_renderer, font_id, desc, font_size, window_dpi, res_buf)
7271    }
7272
7273    pub unsafe fn add_all_font_providers(
7274        &self,
7275        ui_renderer: *mut UiRendererO,
7276        window_dpi: f32,
7277        res_buf: *mut RendererResourceCommandBufferO,
7278        ta: *mut TempAllocatorI,
7279    ) -> *mut AddedFontT {
7280        self.add_all_font_providers.unwrap()(ui_renderer, window_dpi, res_buf, ta)
7281    }
7282
7283    pub unsafe fn allocate_image_slot(&self, ui_renderer: *mut UiRendererO) -> u32 {
7284        self.allocate_image_slot.unwrap()(ui_renderer)
7285    }
7286
7287    pub unsafe fn set_image(
7288        &self,
7289        ui_renderer: *mut UiRendererO,
7290        slot: u32,
7291        image_handle: RendererHandleT,
7292    ) {
7293        self.set_image.unwrap()(ui_renderer, slot, image_handle)
7294    }
7295}
7296
7297impl crate::Api for UiRendererApi {
7298    const NAME: ConstCStr = const_cstr!("tm_ui_renderer_api");
7299    const VERSION: VersionT = VersionT {
7300        major: 1u32,
7301        minor: 0u32,
7302        patch: 0u32,
7303    };
7304}
7305
7306impl UiTreeApi {
7307    pub unsafe fn tree(
7308        &self,
7309        ui: *mut UiO,
7310        uistyle: *const UiStyleT,
7311        tree: *const UiTreeT,
7312        state: *mut UiTreeStateT,
7313    ) {
7314        self.tree.unwrap()(ui, uistyle, tree, state)
7315    }
7316
7317    pub unsafe fn tree_item(
7318        &self,
7319        ui: *mut UiO,
7320        uistyle: *const UiStyleT,
7321        rect: RectT,
7322        state: UiTreeItemStateT,
7323        tree_has_focus: bool,
7324        metrics: *const UiTreeItemMetricsT,
7325        ui_id: u64,
7326    ) -> UiTreeItemResT {
7327        self.tree_item.unwrap()(ui, uistyle, rect, state, tree_has_focus, metrics, ui_id)
7328    }
7329
7330    pub unsafe fn tree_item_with_sets(
7331        &self,
7332        ui: *mut UiO,
7333        uistyle: *const UiStyleT,
7334        rect: RectT,
7335        key: u64,
7336        expanded_set: *mut SetT,
7337        selected_set: *mut SetT,
7338        tree_has_focus: bool,
7339        ui_id: u64,
7340    ) -> UiTreeItemResT {
7341        self.tree_item_with_sets.unwrap()(
7342            ui,
7343            uistyle,
7344            rect,
7345            key,
7346            expanded_set,
7347            selected_set,
7348            tree_has_focus,
7349            ui_id,
7350        )
7351    }
7352
7353    pub unsafe fn tree_item_with_metrics(
7354        &self,
7355        ui: *mut UiO,
7356        uistyle: *const UiStyleT,
7357        rect: RectT,
7358        key: u64,
7359        expanded_set: *mut SetT,
7360        selected_set: *mut SetT,
7361        tree_has_focus: bool,
7362        metrics: *const UiTreeItemMetricsT,
7363        ui_id: u64,
7364    ) -> UiTreeItemResT {
7365        self.tree_item_with_metrics.unwrap()(
7366            ui,
7367            uistyle,
7368            rect,
7369            key,
7370            expanded_set,
7371            selected_set,
7372            tree_has_focus,
7373            metrics,
7374            ui_id,
7375        )
7376    }
7377}
7378
7379impl crate::Api for UiTreeApi {
7380    const NAME: ConstCStr = const_cstr!("tm_ui_tree_api");
7381    const VERSION: VersionT = VersionT {
7382        major: 1u32,
7383        minor: 0u32,
7384        patch: 0u32,
7385    };
7386}
7387
7388pub const TM_TT_TYPE_HASH__CLIPBOARD: StrhashT = StrhashT {
7389    u64_: 11683249507946386256u64,
7390};
7391pub const TM_TT_TYPE_HASH__DOCKING_SETTINGS: StrhashT = StrhashT {
7392    u64_: 13677458105631742768u64,
7393};
7394pub const TM_TT_TYPE_HASH__TABWELL: StrhashT = StrhashT {
7395    u64_: 11643281543487517665u64,
7396};
7397pub const TM_TT_TYPE_HASH__TAB_VIEW: StrhashT = StrhashT {
7398    u64_: 7890642175358502121u64,
7399};
7400pub const TM_TT_TYPE_HASH__SHORTCUTS_ENTRY: StrhashT = StrhashT {
7401    u64_: 14951423256457982727u64,
7402};
7403pub const TM_TT_TYPE_HASH__SHORTCUTS_INDEX: StrhashT = StrhashT {
7404    u64_: 9028192998949932424u64,
7405};
7406pub const TM_TT_TYPE_HASH__TOOLBAR_SETTINGS: StrhashT = StrhashT {
7407    u64_: 16466166788834301889u64,
7408};
7409pub const TM_TT_TYPE_HASH__UI_THEME: StrhashT = StrhashT {
7410    u64_: 2335316840976647572u64,
7411};
7412pub const TM_TT_TYPE_HASH__UI_THEME_COLOR: StrhashT = StrhashT {
7413    u64_: 17779950405567492213u64,
7414};
7415pub const TM_UI_ACTIVE_DATA__TEXTEDIT: StrhashT = StrhashT {
7416    u64_: 5258182182097423975u64,
7417};
7418pub const TM_UI_ACTIVE_DATA__MULTILINE_TEXTEDIT: StrhashT = StrhashT {
7419    u64_: 17663214918397563568u64,
7420};
7421pub const TM_UI_ACTIVE_DATA__MENU: StrhashT = StrhashT {
7422    u64_: 5520113369133148529u64,
7423};
7424pub const TM_UI_ROLE__NONE: StrhashT = StrhashT {
7425    u64_: 8991135776538268156u64,
7426};
7427pub const TM_UI_ROLE__ANY: StrhashT = StrhashT {
7428    u64_: 17914253431124380503u64,
7429};
7430pub const TM_UI_ROLE__BUTTON: StrhashT = StrhashT {
7431    u64_: 2171618341661158550u64,
7432};
7433pub const TM_UI_ROLE__CHECKBOX: StrhashT = StrhashT {
7434    u64_: 9741561056555145438u64,
7435};
7436pub const TM_UI_ROLE__CUSTOM: StrhashT = StrhashT {
7437    u64_: 1210229691100134843u64,
7438};
7439pub const TM_UI_ROLE__DROPDOWN: StrhashT = StrhashT {
7440    u64_: 1646078252726028985u64,
7441};
7442pub const TM_UI_ROLE__DROPDOWN_ITEM: StrhashT = StrhashT {
7443    u64_: 12593592446744835453u64,
7444};
7445pub const TM_UI_ROLE__LINK: StrhashT = StrhashT {
7446    u64_: 2506692502147259529u64,
7447};
7448pub const TM_UI_ROLE__MENU_ITEM: StrhashT = StrhashT {
7449    u64_: 17943940539299394538u64,
7450};
7451pub const TM_UI_ROLE__MENUBAR_ITEM: StrhashT = StrhashT {
7452    u64_: 1888976680707396860u64,
7453};
7454pub const TM_UI_ROLE__PROGRESS_BAR: StrhashT = StrhashT {
7455    u64_: 16229023752359338034u64,
7456};
7457pub const TM_UI_ROLE__PUSHBUTTON: StrhashT = StrhashT {
7458    u64_: 3933447742410737640u64,
7459};
7460pub const TM_UI_ROLE__RADIO: StrhashT = StrhashT {
7461    u64_: 17747375840734793216u64,
7462};
7463pub const TM_UI_ROLE__STATIC_TEXT: StrhashT = StrhashT {
7464    u64_: 4018892029096512244u64,
7465};
7466pub const TM_UI_ROLE__TEXTEDIT: StrhashT = StrhashT {
7467    u64_: 12047848852090713774u64,
7468};
7469pub const TM_FONT__IONICONS: StrhashT = StrhashT {
7470    u64_: 11300213934132052854u64,
7471};
7472pub const TM_FONT_PROVIDER_T_VERSION: VersionT = VersionT {
7473    major: 1u32,
7474    minor: 0u32,
7475    patch: 0u32,
7476};
7477pub const TM_FONT_LIBRARY_API_VERSION: VersionT = VersionT {
7478    major: 1u32,
7479    minor: 1u32,
7480    patch: 0u32,
7481};
7482pub const TM_DOCKING_API_VERSION: VersionT = VersionT {
7483    major: 2u32,
7484    minor: 0u32,
7485    patch: 0u32,
7486};
7487pub const TM_UI_CLIPBOARD_API_VERSION: VersionT = VersionT {
7488    major: 1u32,
7489    minor: 0u32,
7490    patch: 0u32,
7491};
7492pub const TM_TAB_LAYOUT_API_VERSION: VersionT = VersionT {
7493    major: 1u32,
7494    minor: 0u32,
7495    patch: 0u32,
7496};
7497pub const TM_TAB_VT_VERSION: VersionT = VersionT {
7498    major: 3u32,
7499    minor: 0u32,
7500    patch: 0u32,
7501};
7502pub const TM_UI_MODAL_API_VERSION: VersionT = VersionT {
7503    major: 1u32,
7504    minor: 1u32,
7505    patch: 0u32,
7506};
7507pub const TM_FONT_API_VERSION: VersionT = VersionT {
7508    major: 1u32,
7509    minor: 0u32,
7510    patch: 0u32,
7511};
7512pub const TM_UI_DRAG_API_VERSION: VersionT = VersionT {
7513    major: 1u32,
7514    minor: 0u32,
7515    patch: 0u32,
7516};
7517pub const TM_SHAPE3D_API_VERSION: VersionT = VersionT {
7518    major: 1u32,
7519    minor: 0u32,
7520    patch: 0u32,
7521};
7522pub const TM_SHORTCUT_I_VERSION: VersionT = VersionT {
7523    major: 1u32,
7524    minor: 0u32,
7525    patch: 0u32,
7526};
7527pub const TM_TOOLBAR_API_VERSION: VersionT = VersionT {
7528    major: 1u32,
7529    minor: 0u32,
7530    patch: 0u32,
7531};
7532pub const TM_FONT_PROVIDER_F_VERSION: VersionT = VersionT {
7533    major: 1u32,
7534    minor: 0u32,
7535    patch: 0u32,
7536};
7537pub const TM_DRAW2D_API_VERSION: VersionT = VersionT {
7538    major: 1u32,
7539    minor: 0u32,
7540    patch: 0u32,
7541};
7542pub const TM_FONT_REQUEST_GLYPHS_T_VERSION: VersionT = VersionT {
7543    major: 1u32,
7544    minor: 0u32,
7545    patch: 0u32,
7546};
7547pub const TM_UI_RENDERER_API_VERSION: VersionT = VersionT {
7548    major: 1u32,
7549    minor: 0u32,
7550    patch: 0u32,
7551};
7552pub const TM_UI_API_VERSION: VersionT = VersionT {
7553    major: 1u32,
7554    minor: 0u32,
7555    patch: 0u32,
7556};
7557pub const TM_UI_TREE_API_VERSION: VersionT = VersionT {
7558    major: 1u32,
7559    minor: 0u32,
7560    patch: 0u32,
7561};
7562pub const TM_SHORTCUT_MANAGER_API_VERSION: VersionT = VersionT {
7563    major: 1u32,
7564    minor: 0u32,
7565    patch: 0u32,
7566};
7567pub const TM_TTF_BAKER_API_VERSION: VersionT = VersionT {
7568    major: 2u32,
7569    minor: 0u32,
7570    patch: 0u32,
7571};
7572pub const TM_UI_ICON_API_VERSION: VersionT = VersionT {
7573    major: 1u32,
7574    minor: 0u32,
7575    patch: 0u32,
7576};
7577pub const TM_GIZMO_API_VERSION: VersionT = VersionT {
7578    major: 1u32,
7579    minor: 0u32,
7580    patch: 0u32,
7581};