1#![allow(nonstandard_style, clippy::all)]
4
5#[repr(C)]
6#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
7pub struct __BindgenBitfieldUnit<Storage> {
8 storage: Storage,
9}
10impl<Storage> __BindgenBitfieldUnit<Storage> {
11 #[inline]
12 pub const fn new(storage: Storage) -> Self {
13 Self { storage }
14 }
15}
16impl<Storage> __BindgenBitfieldUnit<Storage>
17where
18 Storage: AsRef<[u8]> + AsMut<[u8]>,
19{
20 #[inline]
21 pub fn get_bit(&self, index: usize) -> bool {
22 debug_assert!(index / 8 < self.storage.as_ref().len());
23 let byte_index = index / 8;
24 let byte = self.storage.as_ref()[byte_index];
25 let bit_index = if cfg!(target_endian = "big") {
26 7 - (index % 8)
27 } else {
28 index % 8
29 };
30 let mask = 1 << bit_index;
31 byte & mask == mask
32 }
33 #[inline]
34 pub fn set_bit(&mut self, index: usize, val: bool) {
35 debug_assert!(index / 8 < self.storage.as_ref().len());
36 let byte_index = index / 8;
37 let byte = &mut self.storage.as_mut()[byte_index];
38 let bit_index = if cfg!(target_endian = "big") {
39 7 - (index % 8)
40 } else {
41 index % 8
42 };
43 let mask = 1 << bit_index;
44 if val {
45 *byte |= mask;
46 } else {
47 *byte &= !mask;
48 }
49 }
50 #[inline]
51 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
52 debug_assert!(bit_width <= 64);
53 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
54 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
55 let mut val = 0;
56 for i in 0..(bit_width as usize) {
57 if self.get_bit(i + bit_offset) {
58 let index = if cfg!(target_endian = "big") {
59 bit_width as usize - 1 - i
60 } else {
61 i
62 };
63 val |= 1 << index;
64 }
65 }
66 val
67 }
68 #[inline]
69 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
70 debug_assert!(bit_width <= 64);
71 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
72 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
73 for i in 0..(bit_width as usize) {
74 let mask = 1 << i;
75 let val_bit_is_set = val & mask == mask;
76 let index = if cfg!(target_endian = "big") {
77 bit_width as usize - 1 - i
78 } else {
79 i
80 };
81 self.set_bit(index + bit_offset, val_bit_is_set);
82 }
83 }
84}
85#[repr(C)]
86#[derive(Debug, Copy, Clone)]
87pub struct ImDrawListSharedData {
88 _unused: [u8; 0],
89}
90#[repr(C)]
91#[derive(Debug, Copy, Clone)]
92pub struct ImFontBuilderIO {
93 _unused: [u8; 0],
94}
95#[repr(C)]
96#[derive(Debug, Copy, Clone)]
97pub struct ImGuiContext {
98 _unused: [u8; 0],
99}
100pub type ImGuiCol = cty::c_int;
101pub type ImGuiCond = cty::c_int;
102pub type ImGuiDataType = cty::c_int;
103pub type ImGuiDir = cty::c_int;
104pub type ImGuiMouseButton = cty::c_int;
105pub type ImGuiMouseCursor = cty::c_int;
106pub type ImGuiSortDirection = cty::c_int;
107pub type ImGuiStyleVar = cty::c_int;
108pub type ImGuiTableBgTarget = cty::c_int;
109pub type ImDrawFlags = cty::c_int;
110pub type ImDrawListFlags = cty::c_int;
111pub type ImFontAtlasFlags = cty::c_int;
112pub type ImGuiBackendFlags = cty::c_int;
113pub type ImGuiButtonFlags = cty::c_int;
114pub type ImGuiColorEditFlags = cty::c_int;
115pub type ImGuiConfigFlags = cty::c_int;
116pub type ImGuiComboFlags = cty::c_int;
117pub type ImGuiDragDropFlags = cty::c_int;
118pub type ImGuiFocusedFlags = cty::c_int;
119pub type ImGuiHoveredFlags = cty::c_int;
120pub type ImGuiInputTextFlags = cty::c_int;
121pub type ImGuiKeyChord = cty::c_int;
122pub type ImGuiPopupFlags = cty::c_int;
123pub type ImGuiSelectableFlags = cty::c_int;
124pub type ImGuiSliderFlags = cty::c_int;
125pub type ImGuiTabBarFlags = cty::c_int;
126pub type ImGuiTabItemFlags = cty::c_int;
127pub type ImGuiTableFlags = cty::c_int;
128pub type ImGuiTableColumnFlags = cty::c_int;
129pub type ImGuiTableRowFlags = cty::c_int;
130pub type ImGuiTreeNodeFlags = cty::c_int;
131pub type ImGuiViewportFlags = cty::c_int;
132pub type ImGuiWindowFlags = cty::c_int;
133pub type ImTextureID = *mut cty::c_void;
134pub type ImDrawIdx = cty::c_ushort;
135pub type ImGuiID = cty::c_uint;
136pub type ImS8 = cty::c_schar;
137pub type ImU8 = cty::c_uchar;
138pub type ImS16 = cty::c_short;
139pub type ImU16 = cty::c_ushort;
140pub type ImU32 = cty::c_uint;
141pub type ImWchar16 = cty::c_ushort;
142pub type ImWchar32 = cty::c_uint;
143pub type ImWchar = ImWchar32;
144pub type ImGuiInputTextCallback = ::core::option::Option<
145 unsafe extern "C" fn(data: *mut ImGuiInputTextCallbackData) -> cty::c_int,
146>;
147pub type ImGuiSizeCallback =
148 ::core::option::Option<unsafe extern "C" fn(data: *mut ImGuiSizeCallbackData)>;
149pub type ImGuiMemAllocFunc = ::core::option::Option<
150 unsafe extern "C" fn(sz: usize, user_data: *mut cty::c_void) -> *mut cty::c_void,
151>;
152pub type ImGuiMemFreeFunc = ::core::option::Option<
153 unsafe extern "C" fn(ptr: *mut cty::c_void, user_data: *mut cty::c_void),
154>;
155#[repr(C)]
156#[derive(Debug, Default, Copy, Clone, PartialEq)]
157pub struct ImVec2 {
158 pub x: f32,
159 pub y: f32,
160}
161#[repr(C)]
162#[derive(Debug, Default, Copy, Clone, PartialEq)]
163pub struct ImVec4 {
164 pub x: f32,
165 pub y: f32,
166 pub z: f32,
167 pub w: f32,
168}
169pub const ImGuiWindowFlags_None: ImGuiWindowFlags_ = 0;
170pub const ImGuiWindowFlags_NoTitleBar: ImGuiWindowFlags_ = 1;
171pub const ImGuiWindowFlags_NoResize: ImGuiWindowFlags_ = 2;
172pub const ImGuiWindowFlags_NoMove: ImGuiWindowFlags_ = 4;
173pub const ImGuiWindowFlags_NoScrollbar: ImGuiWindowFlags_ = 8;
174pub const ImGuiWindowFlags_NoScrollWithMouse: ImGuiWindowFlags_ = 16;
175pub const ImGuiWindowFlags_NoCollapse: ImGuiWindowFlags_ = 32;
176pub const ImGuiWindowFlags_AlwaysAutoResize: ImGuiWindowFlags_ = 64;
177pub const ImGuiWindowFlags_NoBackground: ImGuiWindowFlags_ = 128;
178pub const ImGuiWindowFlags_NoSavedSettings: ImGuiWindowFlags_ = 256;
179pub const ImGuiWindowFlags_NoMouseInputs: ImGuiWindowFlags_ = 512;
180pub const ImGuiWindowFlags_MenuBar: ImGuiWindowFlags_ = 1024;
181pub const ImGuiWindowFlags_HorizontalScrollbar: ImGuiWindowFlags_ = 2048;
182pub const ImGuiWindowFlags_NoFocusOnAppearing: ImGuiWindowFlags_ = 4096;
183pub const ImGuiWindowFlags_NoBringToFrontOnFocus: ImGuiWindowFlags_ = 8192;
184pub const ImGuiWindowFlags_AlwaysVerticalScrollbar: ImGuiWindowFlags_ = 16384;
185pub const ImGuiWindowFlags_AlwaysHorizontalScrollbar: ImGuiWindowFlags_ = 32768;
186pub const ImGuiWindowFlags_AlwaysUseWindowPadding: ImGuiWindowFlags_ = 65536;
187pub const ImGuiWindowFlags_NoNavInputs: ImGuiWindowFlags_ = 262144;
188pub const ImGuiWindowFlags_NoNavFocus: ImGuiWindowFlags_ = 524288;
189pub const ImGuiWindowFlags_UnsavedDocument: ImGuiWindowFlags_ = 1048576;
190pub const ImGuiWindowFlags_NoNav: ImGuiWindowFlags_ = 786432;
191pub const ImGuiWindowFlags_NoDecoration: ImGuiWindowFlags_ = 43;
192pub const ImGuiWindowFlags_NoInputs: ImGuiWindowFlags_ = 786944;
193pub const ImGuiWindowFlags_NavFlattened: ImGuiWindowFlags_ = 8388608;
194pub const ImGuiWindowFlags_ChildWindow: ImGuiWindowFlags_ = 16777216;
195pub const ImGuiWindowFlags_Tooltip: ImGuiWindowFlags_ = 33554432;
196pub const ImGuiWindowFlags_Popup: ImGuiWindowFlags_ = 67108864;
197pub const ImGuiWindowFlags_Modal: ImGuiWindowFlags_ = 134217728;
198pub const ImGuiWindowFlags_ChildMenu: ImGuiWindowFlags_ = 268435456;
199pub type ImGuiWindowFlags_ = cty::c_uint;
200pub const ImGuiInputTextFlags_None: ImGuiInputTextFlags_ = 0;
201pub const ImGuiInputTextFlags_CharsDecimal: ImGuiInputTextFlags_ = 1;
202pub const ImGuiInputTextFlags_CharsHexadecimal: ImGuiInputTextFlags_ = 2;
203pub const ImGuiInputTextFlags_CharsUppercase: ImGuiInputTextFlags_ = 4;
204pub const ImGuiInputTextFlags_CharsNoBlank: ImGuiInputTextFlags_ = 8;
205pub const ImGuiInputTextFlags_AutoSelectAll: ImGuiInputTextFlags_ = 16;
206pub const ImGuiInputTextFlags_EnterReturnsTrue: ImGuiInputTextFlags_ = 32;
207pub const ImGuiInputTextFlags_CallbackCompletion: ImGuiInputTextFlags_ = 64;
208pub const ImGuiInputTextFlags_CallbackHistory: ImGuiInputTextFlags_ = 128;
209pub const ImGuiInputTextFlags_CallbackAlways: ImGuiInputTextFlags_ = 256;
210pub const ImGuiInputTextFlags_CallbackCharFilter: ImGuiInputTextFlags_ = 512;
211pub const ImGuiInputTextFlags_AllowTabInput: ImGuiInputTextFlags_ = 1024;
212pub const ImGuiInputTextFlags_CtrlEnterForNewLine: ImGuiInputTextFlags_ = 2048;
213pub const ImGuiInputTextFlags_NoHorizontalScroll: ImGuiInputTextFlags_ = 4096;
214pub const ImGuiInputTextFlags_AlwaysOverwrite: ImGuiInputTextFlags_ = 8192;
215pub const ImGuiInputTextFlags_ReadOnly: ImGuiInputTextFlags_ = 16384;
216pub const ImGuiInputTextFlags_Password: ImGuiInputTextFlags_ = 32768;
217pub const ImGuiInputTextFlags_NoUndoRedo: ImGuiInputTextFlags_ = 65536;
218pub const ImGuiInputTextFlags_CharsScientific: ImGuiInputTextFlags_ = 131072;
219pub const ImGuiInputTextFlags_CallbackResize: ImGuiInputTextFlags_ = 262144;
220pub const ImGuiInputTextFlags_CallbackEdit: ImGuiInputTextFlags_ = 524288;
221pub const ImGuiInputTextFlags_EscapeClearsAll: ImGuiInputTextFlags_ = 1048576;
222pub type ImGuiInputTextFlags_ = cty::c_uint;
223pub const ImGuiTreeNodeFlags_None: ImGuiTreeNodeFlags_ = 0;
224pub const ImGuiTreeNodeFlags_Selected: ImGuiTreeNodeFlags_ = 1;
225pub const ImGuiTreeNodeFlags_Framed: ImGuiTreeNodeFlags_ = 2;
226pub const ImGuiTreeNodeFlags_AllowItemOverlap: ImGuiTreeNodeFlags_ = 4;
227pub const ImGuiTreeNodeFlags_NoTreePushOnOpen: ImGuiTreeNodeFlags_ = 8;
228pub const ImGuiTreeNodeFlags_NoAutoOpenOnLog: ImGuiTreeNodeFlags_ = 16;
229pub const ImGuiTreeNodeFlags_DefaultOpen: ImGuiTreeNodeFlags_ = 32;
230pub const ImGuiTreeNodeFlags_OpenOnDoubleClick: ImGuiTreeNodeFlags_ = 64;
231pub const ImGuiTreeNodeFlags_OpenOnArrow: ImGuiTreeNodeFlags_ = 128;
232pub const ImGuiTreeNodeFlags_Leaf: ImGuiTreeNodeFlags_ = 256;
233pub const ImGuiTreeNodeFlags_Bullet: ImGuiTreeNodeFlags_ = 512;
234pub const ImGuiTreeNodeFlags_FramePadding: ImGuiTreeNodeFlags_ = 1024;
235pub const ImGuiTreeNodeFlags_SpanAvailWidth: ImGuiTreeNodeFlags_ = 2048;
236pub const ImGuiTreeNodeFlags_SpanFullWidth: ImGuiTreeNodeFlags_ = 4096;
237pub const ImGuiTreeNodeFlags_NavLeftJumpsBackHere: ImGuiTreeNodeFlags_ = 8192;
238pub const ImGuiTreeNodeFlags_CollapsingHeader: ImGuiTreeNodeFlags_ = 26;
239pub type ImGuiTreeNodeFlags_ = cty::c_uint;
240pub const ImGuiPopupFlags_None: ImGuiPopupFlags_ = 0;
241pub const ImGuiPopupFlags_MouseButtonLeft: ImGuiPopupFlags_ = 0;
242pub const ImGuiPopupFlags_MouseButtonRight: ImGuiPopupFlags_ = 1;
243pub const ImGuiPopupFlags_MouseButtonMiddle: ImGuiPopupFlags_ = 2;
244pub const ImGuiPopupFlags_MouseButtonMask_: ImGuiPopupFlags_ = 31;
245pub const ImGuiPopupFlags_MouseButtonDefault_: ImGuiPopupFlags_ = 1;
246pub const ImGuiPopupFlags_NoOpenOverExistingPopup: ImGuiPopupFlags_ = 32;
247pub const ImGuiPopupFlags_NoOpenOverItems: ImGuiPopupFlags_ = 64;
248pub const ImGuiPopupFlags_AnyPopupId: ImGuiPopupFlags_ = 128;
249pub const ImGuiPopupFlags_AnyPopupLevel: ImGuiPopupFlags_ = 256;
250pub const ImGuiPopupFlags_AnyPopup: ImGuiPopupFlags_ = 384;
251pub type ImGuiPopupFlags_ = cty::c_uint;
252pub const ImGuiSelectableFlags_None: ImGuiSelectableFlags_ = 0;
253pub const ImGuiSelectableFlags_DontClosePopups: ImGuiSelectableFlags_ = 1;
254pub const ImGuiSelectableFlags_SpanAllColumns: ImGuiSelectableFlags_ = 2;
255pub const ImGuiSelectableFlags_AllowDoubleClick: ImGuiSelectableFlags_ = 4;
256pub const ImGuiSelectableFlags_Disabled: ImGuiSelectableFlags_ = 8;
257pub const ImGuiSelectableFlags_AllowItemOverlap: ImGuiSelectableFlags_ = 16;
258pub type ImGuiSelectableFlags_ = cty::c_uint;
259pub const ImGuiComboFlags_None: ImGuiComboFlags_ = 0;
260pub const ImGuiComboFlags_PopupAlignLeft: ImGuiComboFlags_ = 1;
261pub const ImGuiComboFlags_HeightSmall: ImGuiComboFlags_ = 2;
262pub const ImGuiComboFlags_HeightRegular: ImGuiComboFlags_ = 4;
263pub const ImGuiComboFlags_HeightLarge: ImGuiComboFlags_ = 8;
264pub const ImGuiComboFlags_HeightLargest: ImGuiComboFlags_ = 16;
265pub const ImGuiComboFlags_NoArrowButton: ImGuiComboFlags_ = 32;
266pub const ImGuiComboFlags_NoPreview: ImGuiComboFlags_ = 64;
267pub const ImGuiComboFlags_HeightMask_: ImGuiComboFlags_ = 30;
268pub type ImGuiComboFlags_ = cty::c_uint;
269pub const ImGuiTabBarFlags_None: ImGuiTabBarFlags_ = 0;
270pub const ImGuiTabBarFlags_Reorderable: ImGuiTabBarFlags_ = 1;
271pub const ImGuiTabBarFlags_AutoSelectNewTabs: ImGuiTabBarFlags_ = 2;
272pub const ImGuiTabBarFlags_TabListPopupButton: ImGuiTabBarFlags_ = 4;
273pub const ImGuiTabBarFlags_NoCloseWithMiddleMouseButton: ImGuiTabBarFlags_ = 8;
274pub const ImGuiTabBarFlags_NoTabListScrollingButtons: ImGuiTabBarFlags_ = 16;
275pub const ImGuiTabBarFlags_NoTooltip: ImGuiTabBarFlags_ = 32;
276pub const ImGuiTabBarFlags_FittingPolicyResizeDown: ImGuiTabBarFlags_ = 64;
277pub const ImGuiTabBarFlags_FittingPolicyScroll: ImGuiTabBarFlags_ = 128;
278pub const ImGuiTabBarFlags_FittingPolicyMask_: ImGuiTabBarFlags_ = 192;
279pub const ImGuiTabBarFlags_FittingPolicyDefault_: ImGuiTabBarFlags_ = 64;
280pub type ImGuiTabBarFlags_ = cty::c_uint;
281pub const ImGuiTabItemFlags_None: ImGuiTabItemFlags_ = 0;
282pub const ImGuiTabItemFlags_UnsavedDocument: ImGuiTabItemFlags_ = 1;
283pub const ImGuiTabItemFlags_SetSelected: ImGuiTabItemFlags_ = 2;
284pub const ImGuiTabItemFlags_NoCloseWithMiddleMouseButton: ImGuiTabItemFlags_ = 4;
285pub const ImGuiTabItemFlags_NoPushId: ImGuiTabItemFlags_ = 8;
286pub const ImGuiTabItemFlags_NoTooltip: ImGuiTabItemFlags_ = 16;
287pub const ImGuiTabItemFlags_NoReorder: ImGuiTabItemFlags_ = 32;
288pub const ImGuiTabItemFlags_Leading: ImGuiTabItemFlags_ = 64;
289pub const ImGuiTabItemFlags_Trailing: ImGuiTabItemFlags_ = 128;
290pub type ImGuiTabItemFlags_ = cty::c_uint;
291pub const ImGuiTableFlags_None: ImGuiTableFlags_ = 0;
292pub const ImGuiTableFlags_Resizable: ImGuiTableFlags_ = 1;
293pub const ImGuiTableFlags_Reorderable: ImGuiTableFlags_ = 2;
294pub const ImGuiTableFlags_Hideable: ImGuiTableFlags_ = 4;
295pub const ImGuiTableFlags_Sortable: ImGuiTableFlags_ = 8;
296pub const ImGuiTableFlags_NoSavedSettings: ImGuiTableFlags_ = 16;
297pub const ImGuiTableFlags_ContextMenuInBody: ImGuiTableFlags_ = 32;
298pub const ImGuiTableFlags_RowBg: ImGuiTableFlags_ = 64;
299pub const ImGuiTableFlags_BordersInnerH: ImGuiTableFlags_ = 128;
300pub const ImGuiTableFlags_BordersOuterH: ImGuiTableFlags_ = 256;
301pub const ImGuiTableFlags_BordersInnerV: ImGuiTableFlags_ = 512;
302pub const ImGuiTableFlags_BordersOuterV: ImGuiTableFlags_ = 1024;
303pub const ImGuiTableFlags_BordersH: ImGuiTableFlags_ = 384;
304pub const ImGuiTableFlags_BordersV: ImGuiTableFlags_ = 1536;
305pub const ImGuiTableFlags_BordersInner: ImGuiTableFlags_ = 640;
306pub const ImGuiTableFlags_BordersOuter: ImGuiTableFlags_ = 1280;
307pub const ImGuiTableFlags_Borders: ImGuiTableFlags_ = 1920;
308pub const ImGuiTableFlags_NoBordersInBody: ImGuiTableFlags_ = 2048;
309pub const ImGuiTableFlags_NoBordersInBodyUntilResize: ImGuiTableFlags_ = 4096;
310pub const ImGuiTableFlags_SizingFixedFit: ImGuiTableFlags_ = 8192;
311pub const ImGuiTableFlags_SizingFixedSame: ImGuiTableFlags_ = 16384;
312pub const ImGuiTableFlags_SizingStretchProp: ImGuiTableFlags_ = 24576;
313pub const ImGuiTableFlags_SizingStretchSame: ImGuiTableFlags_ = 32768;
314pub const ImGuiTableFlags_NoHostExtendX: ImGuiTableFlags_ = 65536;
315pub const ImGuiTableFlags_NoHostExtendY: ImGuiTableFlags_ = 131072;
316pub const ImGuiTableFlags_NoKeepColumnsVisible: ImGuiTableFlags_ = 262144;
317pub const ImGuiTableFlags_PreciseWidths: ImGuiTableFlags_ = 524288;
318pub const ImGuiTableFlags_NoClip: ImGuiTableFlags_ = 1048576;
319pub const ImGuiTableFlags_PadOuterX: ImGuiTableFlags_ = 2097152;
320pub const ImGuiTableFlags_NoPadOuterX: ImGuiTableFlags_ = 4194304;
321pub const ImGuiTableFlags_NoPadInnerX: ImGuiTableFlags_ = 8388608;
322pub const ImGuiTableFlags_ScrollX: ImGuiTableFlags_ = 16777216;
323pub const ImGuiTableFlags_ScrollY: ImGuiTableFlags_ = 33554432;
324pub const ImGuiTableFlags_SortMulti: ImGuiTableFlags_ = 67108864;
325pub const ImGuiTableFlags_SortTristate: ImGuiTableFlags_ = 134217728;
326pub const ImGuiTableFlags_SizingMask_: ImGuiTableFlags_ = 57344;
327pub type ImGuiTableFlags_ = cty::c_uint;
328pub const ImGuiTableColumnFlags_None: ImGuiTableColumnFlags_ = 0;
329pub const ImGuiTableColumnFlags_Disabled: ImGuiTableColumnFlags_ = 1;
330pub const ImGuiTableColumnFlags_DefaultHide: ImGuiTableColumnFlags_ = 2;
331pub const ImGuiTableColumnFlags_DefaultSort: ImGuiTableColumnFlags_ = 4;
332pub const ImGuiTableColumnFlags_WidthStretch: ImGuiTableColumnFlags_ = 8;
333pub const ImGuiTableColumnFlags_WidthFixed: ImGuiTableColumnFlags_ = 16;
334pub const ImGuiTableColumnFlags_NoResize: ImGuiTableColumnFlags_ = 32;
335pub const ImGuiTableColumnFlags_NoReorder: ImGuiTableColumnFlags_ = 64;
336pub const ImGuiTableColumnFlags_NoHide: ImGuiTableColumnFlags_ = 128;
337pub const ImGuiTableColumnFlags_NoClip: ImGuiTableColumnFlags_ = 256;
338pub const ImGuiTableColumnFlags_NoSort: ImGuiTableColumnFlags_ = 512;
339pub const ImGuiTableColumnFlags_NoSortAscending: ImGuiTableColumnFlags_ = 1024;
340pub const ImGuiTableColumnFlags_NoSortDescending: ImGuiTableColumnFlags_ = 2048;
341pub const ImGuiTableColumnFlags_NoHeaderLabel: ImGuiTableColumnFlags_ = 4096;
342pub const ImGuiTableColumnFlags_NoHeaderWidth: ImGuiTableColumnFlags_ = 8192;
343pub const ImGuiTableColumnFlags_PreferSortAscending: ImGuiTableColumnFlags_ = 16384;
344pub const ImGuiTableColumnFlags_PreferSortDescending: ImGuiTableColumnFlags_ = 32768;
345pub const ImGuiTableColumnFlags_IndentEnable: ImGuiTableColumnFlags_ = 65536;
346pub const ImGuiTableColumnFlags_IndentDisable: ImGuiTableColumnFlags_ = 131072;
347pub const ImGuiTableColumnFlags_IsEnabled: ImGuiTableColumnFlags_ = 16777216;
348pub const ImGuiTableColumnFlags_IsVisible: ImGuiTableColumnFlags_ = 33554432;
349pub const ImGuiTableColumnFlags_IsSorted: ImGuiTableColumnFlags_ = 67108864;
350pub const ImGuiTableColumnFlags_IsHovered: ImGuiTableColumnFlags_ = 134217728;
351pub const ImGuiTableColumnFlags_WidthMask_: ImGuiTableColumnFlags_ = 24;
352pub const ImGuiTableColumnFlags_IndentMask_: ImGuiTableColumnFlags_ = 196608;
353pub const ImGuiTableColumnFlags_StatusMask_: ImGuiTableColumnFlags_ = 251658240;
354pub const ImGuiTableColumnFlags_NoDirectResize_: ImGuiTableColumnFlags_ = 1073741824;
355pub type ImGuiTableColumnFlags_ = cty::c_uint;
356pub const ImGuiTableRowFlags_None: ImGuiTableRowFlags_ = 0;
357pub const ImGuiTableRowFlags_Headers: ImGuiTableRowFlags_ = 1;
358pub type ImGuiTableRowFlags_ = cty::c_uint;
359pub const ImGuiTableBgTarget_None: ImGuiTableBgTarget_ = 0;
360pub const ImGuiTableBgTarget_RowBg0: ImGuiTableBgTarget_ = 1;
361pub const ImGuiTableBgTarget_RowBg1: ImGuiTableBgTarget_ = 2;
362pub const ImGuiTableBgTarget_CellBg: ImGuiTableBgTarget_ = 3;
363pub type ImGuiTableBgTarget_ = cty::c_uint;
364pub const ImGuiFocusedFlags_None: ImGuiFocusedFlags_ = 0;
365pub const ImGuiFocusedFlags_ChildWindows: ImGuiFocusedFlags_ = 1;
366pub const ImGuiFocusedFlags_RootWindow: ImGuiFocusedFlags_ = 2;
367pub const ImGuiFocusedFlags_AnyWindow: ImGuiFocusedFlags_ = 4;
368pub const ImGuiFocusedFlags_NoPopupHierarchy: ImGuiFocusedFlags_ = 8;
369pub const ImGuiFocusedFlags_RootAndChildWindows: ImGuiFocusedFlags_ = 3;
370pub type ImGuiFocusedFlags_ = cty::c_uint;
371pub const ImGuiHoveredFlags_None: ImGuiHoveredFlags_ = 0;
372pub const ImGuiHoveredFlags_ChildWindows: ImGuiHoveredFlags_ = 1;
373pub const ImGuiHoveredFlags_RootWindow: ImGuiHoveredFlags_ = 2;
374pub const ImGuiHoveredFlags_AnyWindow: ImGuiHoveredFlags_ = 4;
375pub const ImGuiHoveredFlags_NoPopupHierarchy: ImGuiHoveredFlags_ = 8;
376pub const ImGuiHoveredFlags_AllowWhenBlockedByPopup: ImGuiHoveredFlags_ = 32;
377pub const ImGuiHoveredFlags_AllowWhenBlockedByActiveItem: ImGuiHoveredFlags_ = 128;
378pub const ImGuiHoveredFlags_AllowWhenOverlapped: ImGuiHoveredFlags_ = 256;
379pub const ImGuiHoveredFlags_AllowWhenDisabled: ImGuiHoveredFlags_ = 512;
380pub const ImGuiHoveredFlags_NoNavOverride: ImGuiHoveredFlags_ = 1024;
381pub const ImGuiHoveredFlags_RectOnly: ImGuiHoveredFlags_ = 416;
382pub const ImGuiHoveredFlags_RootAndChildWindows: ImGuiHoveredFlags_ = 3;
383pub const ImGuiHoveredFlags_DelayNormal: ImGuiHoveredFlags_ = 2048;
384pub const ImGuiHoveredFlags_DelayShort: ImGuiHoveredFlags_ = 4096;
385pub const ImGuiHoveredFlags_NoSharedDelay: ImGuiHoveredFlags_ = 8192;
386pub type ImGuiHoveredFlags_ = cty::c_uint;
387pub const ImGuiDragDropFlags_None: ImGuiDragDropFlags_ = 0;
388pub const ImGuiDragDropFlags_SourceNoPreviewTooltip: ImGuiDragDropFlags_ = 1;
389pub const ImGuiDragDropFlags_SourceNoDisableHover: ImGuiDragDropFlags_ = 2;
390pub const ImGuiDragDropFlags_SourceNoHoldToOpenOthers: ImGuiDragDropFlags_ = 4;
391pub const ImGuiDragDropFlags_SourceAllowNullID: ImGuiDragDropFlags_ = 8;
392pub const ImGuiDragDropFlags_SourceExtern: ImGuiDragDropFlags_ = 16;
393pub const ImGuiDragDropFlags_SourceAutoExpirePayload: ImGuiDragDropFlags_ = 32;
394pub const ImGuiDragDropFlags_AcceptBeforeDelivery: ImGuiDragDropFlags_ = 1024;
395pub const ImGuiDragDropFlags_AcceptNoDrawDefaultRect: ImGuiDragDropFlags_ = 2048;
396pub const ImGuiDragDropFlags_AcceptNoPreviewTooltip: ImGuiDragDropFlags_ = 4096;
397pub const ImGuiDragDropFlags_AcceptPeekOnly: ImGuiDragDropFlags_ = 3072;
398pub type ImGuiDragDropFlags_ = cty::c_uint;
399pub const ImGuiDataType_S8: ImGuiDataType_ = 0;
400pub const ImGuiDataType_U8: ImGuiDataType_ = 1;
401pub const ImGuiDataType_S16: ImGuiDataType_ = 2;
402pub const ImGuiDataType_U16: ImGuiDataType_ = 3;
403pub const ImGuiDataType_S32: ImGuiDataType_ = 4;
404pub const ImGuiDataType_U32: ImGuiDataType_ = 5;
405pub const ImGuiDataType_S64: ImGuiDataType_ = 6;
406pub const ImGuiDataType_U64: ImGuiDataType_ = 7;
407pub const ImGuiDataType_Float: ImGuiDataType_ = 8;
408pub const ImGuiDataType_Double: ImGuiDataType_ = 9;
409pub const ImGuiDataType_COUNT: ImGuiDataType_ = 10;
410pub type ImGuiDataType_ = cty::c_uint;
411pub const ImGuiDir_None: ImGuiDir_ = -1;
412pub const ImGuiDir_Left: ImGuiDir_ = 0;
413pub const ImGuiDir_Right: ImGuiDir_ = 1;
414pub const ImGuiDir_Up: ImGuiDir_ = 2;
415pub const ImGuiDir_Down: ImGuiDir_ = 3;
416pub const ImGuiDir_COUNT: ImGuiDir_ = 4;
417pub type ImGuiDir_ = cty::c_int;
418pub const ImGuiSortDirection_None: ImGuiSortDirection_ = 0;
419pub const ImGuiSortDirection_Ascending: ImGuiSortDirection_ = 1;
420pub const ImGuiSortDirection_Descending: ImGuiSortDirection_ = 2;
421pub type ImGuiSortDirection_ = cty::c_uint;
422pub const ImGuiKey_None: ImGuiKey = 0;
423pub const ImGuiKey_Tab: ImGuiKey = 512;
424pub const ImGuiKey_LeftArrow: ImGuiKey = 513;
425pub const ImGuiKey_RightArrow: ImGuiKey = 514;
426pub const ImGuiKey_UpArrow: ImGuiKey = 515;
427pub const ImGuiKey_DownArrow: ImGuiKey = 516;
428pub const ImGuiKey_PageUp: ImGuiKey = 517;
429pub const ImGuiKey_PageDown: ImGuiKey = 518;
430pub const ImGuiKey_Home: ImGuiKey = 519;
431pub const ImGuiKey_End: ImGuiKey = 520;
432pub const ImGuiKey_Insert: ImGuiKey = 521;
433pub const ImGuiKey_Delete: ImGuiKey = 522;
434pub const ImGuiKey_Backspace: ImGuiKey = 523;
435pub const ImGuiKey_Space: ImGuiKey = 524;
436pub const ImGuiKey_Enter: ImGuiKey = 525;
437pub const ImGuiKey_Escape: ImGuiKey = 526;
438pub const ImGuiKey_LeftCtrl: ImGuiKey = 527;
439pub const ImGuiKey_LeftShift: ImGuiKey = 528;
440pub const ImGuiKey_LeftAlt: ImGuiKey = 529;
441pub const ImGuiKey_LeftSuper: ImGuiKey = 530;
442pub const ImGuiKey_RightCtrl: ImGuiKey = 531;
443pub const ImGuiKey_RightShift: ImGuiKey = 532;
444pub const ImGuiKey_RightAlt: ImGuiKey = 533;
445pub const ImGuiKey_RightSuper: ImGuiKey = 534;
446pub const ImGuiKey_Menu: ImGuiKey = 535;
447pub const ImGuiKey_0: ImGuiKey = 536;
448pub const ImGuiKey_1: ImGuiKey = 537;
449pub const ImGuiKey_2: ImGuiKey = 538;
450pub const ImGuiKey_3: ImGuiKey = 539;
451pub const ImGuiKey_4: ImGuiKey = 540;
452pub const ImGuiKey_5: ImGuiKey = 541;
453pub const ImGuiKey_6: ImGuiKey = 542;
454pub const ImGuiKey_7: ImGuiKey = 543;
455pub const ImGuiKey_8: ImGuiKey = 544;
456pub const ImGuiKey_9: ImGuiKey = 545;
457pub const ImGuiKey_A: ImGuiKey = 546;
458pub const ImGuiKey_B: ImGuiKey = 547;
459pub const ImGuiKey_C: ImGuiKey = 548;
460pub const ImGuiKey_D: ImGuiKey = 549;
461pub const ImGuiKey_E: ImGuiKey = 550;
462pub const ImGuiKey_F: ImGuiKey = 551;
463pub const ImGuiKey_G: ImGuiKey = 552;
464pub const ImGuiKey_H: ImGuiKey = 553;
465pub const ImGuiKey_I: ImGuiKey = 554;
466pub const ImGuiKey_J: ImGuiKey = 555;
467pub const ImGuiKey_K: ImGuiKey = 556;
468pub const ImGuiKey_L: ImGuiKey = 557;
469pub const ImGuiKey_M: ImGuiKey = 558;
470pub const ImGuiKey_N: ImGuiKey = 559;
471pub const ImGuiKey_O: ImGuiKey = 560;
472pub const ImGuiKey_P: ImGuiKey = 561;
473pub const ImGuiKey_Q: ImGuiKey = 562;
474pub const ImGuiKey_R: ImGuiKey = 563;
475pub const ImGuiKey_S: ImGuiKey = 564;
476pub const ImGuiKey_T: ImGuiKey = 565;
477pub const ImGuiKey_U: ImGuiKey = 566;
478pub const ImGuiKey_V: ImGuiKey = 567;
479pub const ImGuiKey_W: ImGuiKey = 568;
480pub const ImGuiKey_X: ImGuiKey = 569;
481pub const ImGuiKey_Y: ImGuiKey = 570;
482pub const ImGuiKey_Z: ImGuiKey = 571;
483pub const ImGuiKey_F1: ImGuiKey = 572;
484pub const ImGuiKey_F2: ImGuiKey = 573;
485pub const ImGuiKey_F3: ImGuiKey = 574;
486pub const ImGuiKey_F4: ImGuiKey = 575;
487pub const ImGuiKey_F5: ImGuiKey = 576;
488pub const ImGuiKey_F6: ImGuiKey = 577;
489pub const ImGuiKey_F7: ImGuiKey = 578;
490pub const ImGuiKey_F8: ImGuiKey = 579;
491pub const ImGuiKey_F9: ImGuiKey = 580;
492pub const ImGuiKey_F10: ImGuiKey = 581;
493pub const ImGuiKey_F11: ImGuiKey = 582;
494pub const ImGuiKey_F12: ImGuiKey = 583;
495pub const ImGuiKey_Apostrophe: ImGuiKey = 584;
496pub const ImGuiKey_Comma: ImGuiKey = 585;
497pub const ImGuiKey_Minus: ImGuiKey = 586;
498pub const ImGuiKey_Period: ImGuiKey = 587;
499pub const ImGuiKey_Slash: ImGuiKey = 588;
500pub const ImGuiKey_Semicolon: ImGuiKey = 589;
501pub const ImGuiKey_Equal: ImGuiKey = 590;
502pub const ImGuiKey_LeftBracket: ImGuiKey = 591;
503pub const ImGuiKey_Backslash: ImGuiKey = 592;
504pub const ImGuiKey_RightBracket: ImGuiKey = 593;
505pub const ImGuiKey_GraveAccent: ImGuiKey = 594;
506pub const ImGuiKey_CapsLock: ImGuiKey = 595;
507pub const ImGuiKey_ScrollLock: ImGuiKey = 596;
508pub const ImGuiKey_NumLock: ImGuiKey = 597;
509pub const ImGuiKey_PrintScreen: ImGuiKey = 598;
510pub const ImGuiKey_Pause: ImGuiKey = 599;
511pub const ImGuiKey_Keypad0: ImGuiKey = 600;
512pub const ImGuiKey_Keypad1: ImGuiKey = 601;
513pub const ImGuiKey_Keypad2: ImGuiKey = 602;
514pub const ImGuiKey_Keypad3: ImGuiKey = 603;
515pub const ImGuiKey_Keypad4: ImGuiKey = 604;
516pub const ImGuiKey_Keypad5: ImGuiKey = 605;
517pub const ImGuiKey_Keypad6: ImGuiKey = 606;
518pub const ImGuiKey_Keypad7: ImGuiKey = 607;
519pub const ImGuiKey_Keypad8: ImGuiKey = 608;
520pub const ImGuiKey_Keypad9: ImGuiKey = 609;
521pub const ImGuiKey_KeypadDecimal: ImGuiKey = 610;
522pub const ImGuiKey_KeypadDivide: ImGuiKey = 611;
523pub const ImGuiKey_KeypadMultiply: ImGuiKey = 612;
524pub const ImGuiKey_KeypadSubtract: ImGuiKey = 613;
525pub const ImGuiKey_KeypadAdd: ImGuiKey = 614;
526pub const ImGuiKey_KeypadEnter: ImGuiKey = 615;
527pub const ImGuiKey_KeypadEqual: ImGuiKey = 616;
528pub const ImGuiKey_GamepadStart: ImGuiKey = 617;
529pub const ImGuiKey_GamepadBack: ImGuiKey = 618;
530pub const ImGuiKey_GamepadFaceLeft: ImGuiKey = 619;
531pub const ImGuiKey_GamepadFaceRight: ImGuiKey = 620;
532pub const ImGuiKey_GamepadFaceUp: ImGuiKey = 621;
533pub const ImGuiKey_GamepadFaceDown: ImGuiKey = 622;
534pub const ImGuiKey_GamepadDpadLeft: ImGuiKey = 623;
535pub const ImGuiKey_GamepadDpadRight: ImGuiKey = 624;
536pub const ImGuiKey_GamepadDpadUp: ImGuiKey = 625;
537pub const ImGuiKey_GamepadDpadDown: ImGuiKey = 626;
538pub const ImGuiKey_GamepadL1: ImGuiKey = 627;
539pub const ImGuiKey_GamepadR1: ImGuiKey = 628;
540pub const ImGuiKey_GamepadL2: ImGuiKey = 629;
541pub const ImGuiKey_GamepadR2: ImGuiKey = 630;
542pub const ImGuiKey_GamepadL3: ImGuiKey = 631;
543pub const ImGuiKey_GamepadR3: ImGuiKey = 632;
544pub const ImGuiKey_GamepadLStickLeft: ImGuiKey = 633;
545pub const ImGuiKey_GamepadLStickRight: ImGuiKey = 634;
546pub const ImGuiKey_GamepadLStickUp: ImGuiKey = 635;
547pub const ImGuiKey_GamepadLStickDown: ImGuiKey = 636;
548pub const ImGuiKey_GamepadRStickLeft: ImGuiKey = 637;
549pub const ImGuiKey_GamepadRStickRight: ImGuiKey = 638;
550pub const ImGuiKey_GamepadRStickUp: ImGuiKey = 639;
551pub const ImGuiKey_GamepadRStickDown: ImGuiKey = 640;
552pub const ImGuiKey_MouseLeft: ImGuiKey = 641;
553pub const ImGuiKey_MouseRight: ImGuiKey = 642;
554pub const ImGuiKey_MouseMiddle: ImGuiKey = 643;
555pub const ImGuiKey_MouseX1: ImGuiKey = 644;
556pub const ImGuiKey_MouseX2: ImGuiKey = 645;
557pub const ImGuiKey_MouseWheelX: ImGuiKey = 646;
558pub const ImGuiKey_MouseWheelY: ImGuiKey = 647;
559pub const ImGuiKey_ReservedForModCtrl: ImGuiKey = 648;
560pub const ImGuiKey_ReservedForModShift: ImGuiKey = 649;
561pub const ImGuiKey_ReservedForModAlt: ImGuiKey = 650;
562pub const ImGuiKey_ReservedForModSuper: ImGuiKey = 651;
563pub const ImGuiKey_COUNT: ImGuiKey = 652;
564pub const ImGuiMod_None: ImGuiKey = 0;
565pub const ImGuiMod_Ctrl: ImGuiKey = 4096;
566pub const ImGuiMod_Shift: ImGuiKey = 8192;
567pub const ImGuiMod_Alt: ImGuiKey = 16384;
568pub const ImGuiMod_Super: ImGuiKey = 32768;
569pub const ImGuiMod_Shortcut: ImGuiKey = 2048;
570pub const ImGuiMod_Mask_: ImGuiKey = 63488;
571pub const ImGuiKey_NamedKey_BEGIN: ImGuiKey = 512;
572pub const ImGuiKey_NamedKey_END: ImGuiKey = 652;
573pub const ImGuiKey_NamedKey_COUNT: ImGuiKey = 140;
574pub const ImGuiKey_KeysData_SIZE: ImGuiKey = 652;
575pub const ImGuiKey_KeysData_OFFSET: ImGuiKey = 0;
576pub type ImGuiKey = cty::c_uint;
577pub const ImGuiNavInput_Activate: ImGuiNavInput = 0;
578pub const ImGuiNavInput_Cancel: ImGuiNavInput = 1;
579pub const ImGuiNavInput_Input: ImGuiNavInput = 2;
580pub const ImGuiNavInput_Menu: ImGuiNavInput = 3;
581pub const ImGuiNavInput_DpadLeft: ImGuiNavInput = 4;
582pub const ImGuiNavInput_DpadRight: ImGuiNavInput = 5;
583pub const ImGuiNavInput_DpadUp: ImGuiNavInput = 6;
584pub const ImGuiNavInput_DpadDown: ImGuiNavInput = 7;
585pub const ImGuiNavInput_LStickLeft: ImGuiNavInput = 8;
586pub const ImGuiNavInput_LStickRight: ImGuiNavInput = 9;
587pub const ImGuiNavInput_LStickUp: ImGuiNavInput = 10;
588pub const ImGuiNavInput_LStickDown: ImGuiNavInput = 11;
589pub const ImGuiNavInput_FocusPrev: ImGuiNavInput = 12;
590pub const ImGuiNavInput_FocusNext: ImGuiNavInput = 13;
591pub const ImGuiNavInput_TweakSlow: ImGuiNavInput = 14;
592pub const ImGuiNavInput_TweakFast: ImGuiNavInput = 15;
593pub const ImGuiNavInput_COUNT: ImGuiNavInput = 16;
594pub type ImGuiNavInput = cty::c_uint;
595pub const ImGuiConfigFlags_None: ImGuiConfigFlags_ = 0;
596pub const ImGuiConfigFlags_NavEnableKeyboard: ImGuiConfigFlags_ = 1;
597pub const ImGuiConfigFlags_NavEnableGamepad: ImGuiConfigFlags_ = 2;
598pub const ImGuiConfigFlags_NavEnableSetMousePos: ImGuiConfigFlags_ = 4;
599pub const ImGuiConfigFlags_NavNoCaptureKeyboard: ImGuiConfigFlags_ = 8;
600pub const ImGuiConfigFlags_NoMouse: ImGuiConfigFlags_ = 16;
601pub const ImGuiConfigFlags_NoMouseCursorChange: ImGuiConfigFlags_ = 32;
602pub const ImGuiConfigFlags_IsSRGB: ImGuiConfigFlags_ = 1048576;
603pub const ImGuiConfigFlags_IsTouchScreen: ImGuiConfigFlags_ = 2097152;
604pub type ImGuiConfigFlags_ = cty::c_uint;
605pub const ImGuiBackendFlags_None: ImGuiBackendFlags_ = 0;
606pub const ImGuiBackendFlags_HasGamepad: ImGuiBackendFlags_ = 1;
607pub const ImGuiBackendFlags_HasMouseCursors: ImGuiBackendFlags_ = 2;
608pub const ImGuiBackendFlags_HasSetMousePos: ImGuiBackendFlags_ = 4;
609pub const ImGuiBackendFlags_RendererHasVtxOffset: ImGuiBackendFlags_ = 8;
610pub type ImGuiBackendFlags_ = cty::c_uint;
611pub const ImGuiCol_Text: ImGuiCol_ = 0;
612pub const ImGuiCol_TextDisabled: ImGuiCol_ = 1;
613pub const ImGuiCol_WindowBg: ImGuiCol_ = 2;
614pub const ImGuiCol_ChildBg: ImGuiCol_ = 3;
615pub const ImGuiCol_PopupBg: ImGuiCol_ = 4;
616pub const ImGuiCol_Border: ImGuiCol_ = 5;
617pub const ImGuiCol_BorderShadow: ImGuiCol_ = 6;
618pub const ImGuiCol_FrameBg: ImGuiCol_ = 7;
619pub const ImGuiCol_FrameBgHovered: ImGuiCol_ = 8;
620pub const ImGuiCol_FrameBgActive: ImGuiCol_ = 9;
621pub const ImGuiCol_TitleBg: ImGuiCol_ = 10;
622pub const ImGuiCol_TitleBgActive: ImGuiCol_ = 11;
623pub const ImGuiCol_TitleBgCollapsed: ImGuiCol_ = 12;
624pub const ImGuiCol_MenuBarBg: ImGuiCol_ = 13;
625pub const ImGuiCol_ScrollbarBg: ImGuiCol_ = 14;
626pub const ImGuiCol_ScrollbarGrab: ImGuiCol_ = 15;
627pub const ImGuiCol_ScrollbarGrabHovered: ImGuiCol_ = 16;
628pub const ImGuiCol_ScrollbarGrabActive: ImGuiCol_ = 17;
629pub const ImGuiCol_CheckMark: ImGuiCol_ = 18;
630pub const ImGuiCol_SliderGrab: ImGuiCol_ = 19;
631pub const ImGuiCol_SliderGrabActive: ImGuiCol_ = 20;
632pub const ImGuiCol_Button: ImGuiCol_ = 21;
633pub const ImGuiCol_ButtonHovered: ImGuiCol_ = 22;
634pub const ImGuiCol_ButtonActive: ImGuiCol_ = 23;
635pub const ImGuiCol_Header: ImGuiCol_ = 24;
636pub const ImGuiCol_HeaderHovered: ImGuiCol_ = 25;
637pub const ImGuiCol_HeaderActive: ImGuiCol_ = 26;
638pub const ImGuiCol_Separator: ImGuiCol_ = 27;
639pub const ImGuiCol_SeparatorHovered: ImGuiCol_ = 28;
640pub const ImGuiCol_SeparatorActive: ImGuiCol_ = 29;
641pub const ImGuiCol_ResizeGrip: ImGuiCol_ = 30;
642pub const ImGuiCol_ResizeGripHovered: ImGuiCol_ = 31;
643pub const ImGuiCol_ResizeGripActive: ImGuiCol_ = 32;
644pub const ImGuiCol_Tab: ImGuiCol_ = 33;
645pub const ImGuiCol_TabHovered: ImGuiCol_ = 34;
646pub const ImGuiCol_TabActive: ImGuiCol_ = 35;
647pub const ImGuiCol_TabUnfocused: ImGuiCol_ = 36;
648pub const ImGuiCol_TabUnfocusedActive: ImGuiCol_ = 37;
649pub const ImGuiCol_PlotLines: ImGuiCol_ = 38;
650pub const ImGuiCol_PlotLinesHovered: ImGuiCol_ = 39;
651pub const ImGuiCol_PlotHistogram: ImGuiCol_ = 40;
652pub const ImGuiCol_PlotHistogramHovered: ImGuiCol_ = 41;
653pub const ImGuiCol_TableHeaderBg: ImGuiCol_ = 42;
654pub const ImGuiCol_TableBorderStrong: ImGuiCol_ = 43;
655pub const ImGuiCol_TableBorderLight: ImGuiCol_ = 44;
656pub const ImGuiCol_TableRowBg: ImGuiCol_ = 45;
657pub const ImGuiCol_TableRowBgAlt: ImGuiCol_ = 46;
658pub const ImGuiCol_TextSelectedBg: ImGuiCol_ = 47;
659pub const ImGuiCol_DragDropTarget: ImGuiCol_ = 48;
660pub const ImGuiCol_NavHighlight: ImGuiCol_ = 49;
661pub const ImGuiCol_NavWindowingHighlight: ImGuiCol_ = 50;
662pub const ImGuiCol_NavWindowingDimBg: ImGuiCol_ = 51;
663pub const ImGuiCol_ModalWindowDimBg: ImGuiCol_ = 52;
664pub const ImGuiCol_COUNT: ImGuiCol_ = 53;
665pub type ImGuiCol_ = cty::c_uint;
666pub const ImGuiStyleVar_Alpha: ImGuiStyleVar_ = 0;
667pub const ImGuiStyleVar_DisabledAlpha: ImGuiStyleVar_ = 1;
668pub const ImGuiStyleVar_WindowPadding: ImGuiStyleVar_ = 2;
669pub const ImGuiStyleVar_WindowRounding: ImGuiStyleVar_ = 3;
670pub const ImGuiStyleVar_WindowBorderSize: ImGuiStyleVar_ = 4;
671pub const ImGuiStyleVar_WindowMinSize: ImGuiStyleVar_ = 5;
672pub const ImGuiStyleVar_WindowTitleAlign: ImGuiStyleVar_ = 6;
673pub const ImGuiStyleVar_ChildRounding: ImGuiStyleVar_ = 7;
674pub const ImGuiStyleVar_ChildBorderSize: ImGuiStyleVar_ = 8;
675pub const ImGuiStyleVar_PopupRounding: ImGuiStyleVar_ = 9;
676pub const ImGuiStyleVar_PopupBorderSize: ImGuiStyleVar_ = 10;
677pub const ImGuiStyleVar_FramePadding: ImGuiStyleVar_ = 11;
678pub const ImGuiStyleVar_FrameRounding: ImGuiStyleVar_ = 12;
679pub const ImGuiStyleVar_FrameBorderSize: ImGuiStyleVar_ = 13;
680pub const ImGuiStyleVar_ItemSpacing: ImGuiStyleVar_ = 14;
681pub const ImGuiStyleVar_ItemInnerSpacing: ImGuiStyleVar_ = 15;
682pub const ImGuiStyleVar_IndentSpacing: ImGuiStyleVar_ = 16;
683pub const ImGuiStyleVar_CellPadding: ImGuiStyleVar_ = 17;
684pub const ImGuiStyleVar_ScrollbarSize: ImGuiStyleVar_ = 18;
685pub const ImGuiStyleVar_ScrollbarRounding: ImGuiStyleVar_ = 19;
686pub const ImGuiStyleVar_GrabMinSize: ImGuiStyleVar_ = 20;
687pub const ImGuiStyleVar_GrabRounding: ImGuiStyleVar_ = 21;
688pub const ImGuiStyleVar_TabRounding: ImGuiStyleVar_ = 22;
689pub const ImGuiStyleVar_ButtonTextAlign: ImGuiStyleVar_ = 23;
690pub const ImGuiStyleVar_SelectableTextAlign: ImGuiStyleVar_ = 24;
691pub const ImGuiStyleVar_COUNT: ImGuiStyleVar_ = 25;
692pub type ImGuiStyleVar_ = cty::c_uint;
693pub const ImGuiButtonFlags_None: ImGuiButtonFlags_ = 0;
694pub const ImGuiButtonFlags_MouseButtonLeft: ImGuiButtonFlags_ = 1;
695pub const ImGuiButtonFlags_MouseButtonRight: ImGuiButtonFlags_ = 2;
696pub const ImGuiButtonFlags_MouseButtonMiddle: ImGuiButtonFlags_ = 4;
697pub const ImGuiButtonFlags_MouseButtonMask_: ImGuiButtonFlags_ = 7;
698pub const ImGuiButtonFlags_MouseButtonDefault_: ImGuiButtonFlags_ = 1;
699pub type ImGuiButtonFlags_ = cty::c_uint;
700pub const ImGuiColorEditFlags_None: ImGuiColorEditFlags_ = 0;
701pub const ImGuiColorEditFlags_NoAlpha: ImGuiColorEditFlags_ = 2;
702pub const ImGuiColorEditFlags_NoPicker: ImGuiColorEditFlags_ = 4;
703pub const ImGuiColorEditFlags_NoOptions: ImGuiColorEditFlags_ = 8;
704pub const ImGuiColorEditFlags_NoSmallPreview: ImGuiColorEditFlags_ = 16;
705pub const ImGuiColorEditFlags_NoInputs: ImGuiColorEditFlags_ = 32;
706pub const ImGuiColorEditFlags_NoTooltip: ImGuiColorEditFlags_ = 64;
707pub const ImGuiColorEditFlags_NoLabel: ImGuiColorEditFlags_ = 128;
708pub const ImGuiColorEditFlags_NoSidePreview: ImGuiColorEditFlags_ = 256;
709pub const ImGuiColorEditFlags_NoDragDrop: ImGuiColorEditFlags_ = 512;
710pub const ImGuiColorEditFlags_NoBorder: ImGuiColorEditFlags_ = 1024;
711pub const ImGuiColorEditFlags_AlphaBar: ImGuiColorEditFlags_ = 65536;
712pub const ImGuiColorEditFlags_AlphaPreview: ImGuiColorEditFlags_ = 131072;
713pub const ImGuiColorEditFlags_AlphaPreviewHalf: ImGuiColorEditFlags_ = 262144;
714pub const ImGuiColorEditFlags_HDR: ImGuiColorEditFlags_ = 524288;
715pub const ImGuiColorEditFlags_DisplayRGB: ImGuiColorEditFlags_ = 1048576;
716pub const ImGuiColorEditFlags_DisplayHSV: ImGuiColorEditFlags_ = 2097152;
717pub const ImGuiColorEditFlags_DisplayHex: ImGuiColorEditFlags_ = 4194304;
718pub const ImGuiColorEditFlags_Uint8: ImGuiColorEditFlags_ = 8388608;
719pub const ImGuiColorEditFlags_Float: ImGuiColorEditFlags_ = 16777216;
720pub const ImGuiColorEditFlags_PickerHueBar: ImGuiColorEditFlags_ = 33554432;
721pub const ImGuiColorEditFlags_PickerHueWheel: ImGuiColorEditFlags_ = 67108864;
722pub const ImGuiColorEditFlags_InputRGB: ImGuiColorEditFlags_ = 134217728;
723pub const ImGuiColorEditFlags_InputHSV: ImGuiColorEditFlags_ = 268435456;
724pub const ImGuiColorEditFlags_DefaultOptions_: ImGuiColorEditFlags_ = 177209344;
725pub const ImGuiColorEditFlags_DisplayMask_: ImGuiColorEditFlags_ = 7340032;
726pub const ImGuiColorEditFlags_DataTypeMask_: ImGuiColorEditFlags_ = 25165824;
727pub const ImGuiColorEditFlags_PickerMask_: ImGuiColorEditFlags_ = 100663296;
728pub const ImGuiColorEditFlags_InputMask_: ImGuiColorEditFlags_ = 402653184;
729pub type ImGuiColorEditFlags_ = cty::c_uint;
730pub const ImGuiSliderFlags_None: ImGuiSliderFlags_ = 0;
731pub const ImGuiSliderFlags_AlwaysClamp: ImGuiSliderFlags_ = 16;
732pub const ImGuiSliderFlags_Logarithmic: ImGuiSliderFlags_ = 32;
733pub const ImGuiSliderFlags_NoRoundToFormat: ImGuiSliderFlags_ = 64;
734pub const ImGuiSliderFlags_NoInput: ImGuiSliderFlags_ = 128;
735pub const ImGuiSliderFlags_InvalidMask_: ImGuiSliderFlags_ = 1879048207;
736pub type ImGuiSliderFlags_ = cty::c_uint;
737pub const ImGuiMouseButton_Left: ImGuiMouseButton_ = 0;
738pub const ImGuiMouseButton_Right: ImGuiMouseButton_ = 1;
739pub const ImGuiMouseButton_Middle: ImGuiMouseButton_ = 2;
740pub const ImGuiMouseButton_COUNT: ImGuiMouseButton_ = 5;
741pub type ImGuiMouseButton_ = cty::c_uint;
742pub const ImGuiMouseCursor_None: ImGuiMouseCursor_ = -1;
743pub const ImGuiMouseCursor_Arrow: ImGuiMouseCursor_ = 0;
744pub const ImGuiMouseCursor_TextInput: ImGuiMouseCursor_ = 1;
745pub const ImGuiMouseCursor_ResizeAll: ImGuiMouseCursor_ = 2;
746pub const ImGuiMouseCursor_ResizeNS: ImGuiMouseCursor_ = 3;
747pub const ImGuiMouseCursor_ResizeEW: ImGuiMouseCursor_ = 4;
748pub const ImGuiMouseCursor_ResizeNESW: ImGuiMouseCursor_ = 5;
749pub const ImGuiMouseCursor_ResizeNWSE: ImGuiMouseCursor_ = 6;
750pub const ImGuiMouseCursor_Hand: ImGuiMouseCursor_ = 7;
751pub const ImGuiMouseCursor_NotAllowed: ImGuiMouseCursor_ = 8;
752pub const ImGuiMouseCursor_COUNT: ImGuiMouseCursor_ = 9;
753pub type ImGuiMouseCursor_ = cty::c_int;
754pub const ImGuiCond_None: ImGuiCond_ = 0;
755pub const ImGuiCond_Always: ImGuiCond_ = 1;
756pub const ImGuiCond_Once: ImGuiCond_ = 2;
757pub const ImGuiCond_FirstUseEver: ImGuiCond_ = 4;
758pub const ImGuiCond_Appearing: ImGuiCond_ = 8;
759pub type ImGuiCond_ = cty::c_uint;
760#[repr(C)]
761#[derive(Debug, Copy, Clone, PartialEq)]
762pub struct ImGuiStyle {
763 pub Alpha: f32,
764 pub DisabledAlpha: f32,
765 pub WindowPadding: ImVec2,
766 pub WindowRounding: f32,
767 pub WindowBorderSize: f32,
768 pub WindowMinSize: ImVec2,
769 pub WindowTitleAlign: ImVec2,
770 pub WindowMenuButtonPosition: ImGuiDir,
771 pub ChildRounding: f32,
772 pub ChildBorderSize: f32,
773 pub PopupRounding: f32,
774 pub PopupBorderSize: f32,
775 pub FramePadding: ImVec2,
776 pub FrameRounding: f32,
777 pub FrameBorderSize: f32,
778 pub ItemSpacing: ImVec2,
779 pub ItemInnerSpacing: ImVec2,
780 pub CellPadding: ImVec2,
781 pub TouchExtraPadding: ImVec2,
782 pub IndentSpacing: f32,
783 pub ColumnsMinSpacing: f32,
784 pub ScrollbarSize: f32,
785 pub ScrollbarRounding: f32,
786 pub GrabMinSize: f32,
787 pub GrabRounding: f32,
788 pub LogSliderDeadzone: f32,
789 pub TabRounding: f32,
790 pub TabBorderSize: f32,
791 pub TabMinWidthForCloseButton: f32,
792 pub ColorButtonPosition: ImGuiDir,
793 pub ButtonTextAlign: ImVec2,
794 pub SelectableTextAlign: ImVec2,
795 pub DisplayWindowPadding: ImVec2,
796 pub DisplaySafeAreaPadding: ImVec2,
797 pub MouseCursorScale: f32,
798 pub AntiAliasedLines: bool,
799 pub AntiAliasedLinesUseTex: bool,
800 pub AntiAliasedFill: bool,
801 pub CurveTessellationTol: f32,
802 pub CircleTessellationMaxError: f32,
803 pub Colors: [ImVec4; 53usize],
804}
805impl Default for ImGuiStyle {
806 fn default() -> Self {
807 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
808 unsafe {
809 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
810 s.assume_init()
811 }
812 }
813}
814#[repr(C)]
815#[derive(Debug, Default, Copy, Clone, PartialEq)]
816pub struct ImGuiKeyData {
817 pub Down: bool,
818 pub DownDuration: f32,
819 pub DownDurationPrev: f32,
820 pub AnalogValue: f32,
821}
822#[repr(C)]
823#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
824pub struct ImVector_ImWchar {
825 pub Size: cty::c_int,
826 pub Capacity: cty::c_int,
827 pub Data: *mut ImWchar,
828}
829impl Default for ImVector_ImWchar {
830 fn default() -> Self {
831 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
832 unsafe {
833 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
834 s.assume_init()
835 }
836 }
837}
838#[repr(C)]
839#[derive(Debug, Copy, Clone, PartialEq)]
840pub struct ImGuiIO {
841 pub ConfigFlags: ImGuiConfigFlags,
842 pub BackendFlags: ImGuiBackendFlags,
843 pub DisplaySize: ImVec2,
844 pub DeltaTime: f32,
845 pub IniSavingRate: f32,
846 pub IniFilename: *const cty::c_char,
847 pub LogFilename: *const cty::c_char,
848 pub MouseDoubleClickTime: f32,
849 pub MouseDoubleClickMaxDist: f32,
850 pub MouseDragThreshold: f32,
851 pub KeyRepeatDelay: f32,
852 pub KeyRepeatRate: f32,
853 pub HoverDelayNormal: f32,
854 pub HoverDelayShort: f32,
855 pub UserData: *mut cty::c_void,
856 pub Fonts: *mut ImFontAtlas,
857 pub FontGlobalScale: f32,
858 pub FontAllowUserScaling: bool,
859 pub FontDefault: *mut ImFont,
860 pub DisplayFramebufferScale: ImVec2,
861 pub MouseDrawCursor: bool,
862 pub ConfigMacOSXBehaviors: bool,
863 pub ConfigInputTrickleEventQueue: bool,
864 pub ConfigInputTextCursorBlink: bool,
865 pub ConfigInputTextEnterKeepActive: bool,
866 pub ConfigDragClickToInputText: bool,
867 pub ConfigWindowsResizeFromEdges: bool,
868 pub ConfigWindowsMoveFromTitleBarOnly: bool,
869 pub ConfigMemoryCompactTimer: f32,
870 pub BackendPlatformName: *const cty::c_char,
871 pub BackendRendererName: *const cty::c_char,
872 pub BackendPlatformUserData: *mut cty::c_void,
873 pub BackendRendererUserData: *mut cty::c_void,
874 pub BackendLanguageUserData: *mut cty::c_void,
875 pub GetClipboardTextFn: ::core::option::Option<
876 unsafe extern "C" fn(user_data: *mut cty::c_void) -> *const cty::c_char,
877 >,
878 pub SetClipboardTextFn: ::core::option::Option<
879 unsafe extern "C" fn(user_data: *mut cty::c_void, text: *const cty::c_char),
880 >,
881 pub ClipboardUserData: *mut cty::c_void,
882 pub SetPlatformImeDataFn: ::core::option::Option<
883 unsafe extern "C" fn(viewport: *mut ImGuiViewport, data: *mut ImGuiPlatformImeData),
884 >,
885 pub _UnusedPadding: *mut cty::c_void,
886 pub WantCaptureMouse: bool,
887 pub WantCaptureKeyboard: bool,
888 pub WantTextInput: bool,
889 pub WantSetMousePos: bool,
890 pub WantSaveIniSettings: bool,
891 pub NavActive: bool,
892 pub NavVisible: bool,
893 pub Framerate: f32,
894 pub MetricsRenderVertices: cty::c_int,
895 pub MetricsRenderIndices: cty::c_int,
896 pub MetricsRenderWindows: cty::c_int,
897 pub MetricsActiveWindows: cty::c_int,
898 pub MetricsActiveAllocations: cty::c_int,
899 pub MouseDelta: ImVec2,
900 pub KeyMap: [cty::c_int; 652usize],
901 pub KeysDown: [bool; 652usize],
902 pub NavInputs: [f32; 16usize],
903 pub MousePos: ImVec2,
904 pub MouseDown: [bool; 5usize],
905 pub MouseWheel: f32,
906 pub MouseWheelH: f32,
907 pub KeyCtrl: bool,
908 pub KeyShift: bool,
909 pub KeyAlt: bool,
910 pub KeySuper: bool,
911 pub KeyMods: ImGuiKeyChord,
912 pub KeysData: [ImGuiKeyData; 652usize],
913 pub WantCaptureMouseUnlessPopupClose: bool,
914 pub MousePosPrev: ImVec2,
915 pub MouseClickedPos: [ImVec2; 5usize],
916 pub MouseClickedTime: [f64; 5usize],
917 pub MouseClicked: [bool; 5usize],
918 pub MouseDoubleClicked: [bool; 5usize],
919 pub MouseClickedCount: [ImU16; 5usize],
920 pub MouseClickedLastCount: [ImU16; 5usize],
921 pub MouseReleased: [bool; 5usize],
922 pub MouseDownOwned: [bool; 5usize],
923 pub MouseDownOwnedUnlessPopupClose: [bool; 5usize],
924 pub MouseDownDuration: [f32; 5usize],
925 pub MouseDownDurationPrev: [f32; 5usize],
926 pub MouseDragMaxDistanceSqr: [f32; 5usize],
927 pub PenPressure: f32,
928 pub AppFocusLost: bool,
929 pub AppAcceptingEvents: bool,
930 pub BackendUsingLegacyKeyArrays: ImS8,
931 pub BackendUsingLegacyNavInputArray: bool,
932 pub InputQueueSurrogate: ImWchar16,
933 pub InputQueueCharacters: ImVector_ImWchar,
934}
935impl Default for ImGuiIO {
936 fn default() -> Self {
937 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
938 unsafe {
939 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
940 s.assume_init()
941 }
942 }
943}
944#[repr(C)]
945#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
946pub struct ImGuiInputTextCallbackData {
947 pub EventFlag: ImGuiInputTextFlags,
948 pub Flags: ImGuiInputTextFlags,
949 pub UserData: *mut cty::c_void,
950 pub EventChar: ImWchar,
951 pub EventKey: ImGuiKey,
952 pub Buf: *mut cty::c_char,
953 pub BufTextLen: cty::c_int,
954 pub BufSize: cty::c_int,
955 pub BufDirty: bool,
956 pub CursorPos: cty::c_int,
957 pub SelectionStart: cty::c_int,
958 pub SelectionEnd: cty::c_int,
959}
960impl Default for ImGuiInputTextCallbackData {
961 fn default() -> Self {
962 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
963 unsafe {
964 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
965 s.assume_init()
966 }
967 }
968}
969#[repr(C)]
970#[derive(Debug, Copy, Clone, PartialEq)]
971pub struct ImGuiSizeCallbackData {
972 pub UserData: *mut cty::c_void,
973 pub Pos: ImVec2,
974 pub CurrentSize: ImVec2,
975 pub DesiredSize: ImVec2,
976}
977impl Default for ImGuiSizeCallbackData {
978 fn default() -> Self {
979 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
980 unsafe {
981 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
982 s.assume_init()
983 }
984 }
985}
986#[repr(C)]
987#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
988pub struct ImGuiPayload {
989 pub Data: *mut cty::c_void,
990 pub DataSize: cty::c_int,
991 pub SourceId: ImGuiID,
992 pub SourceParentId: ImGuiID,
993 pub DataFrameCount: cty::c_int,
994 pub DataType: [cty::c_char; 33usize],
995 pub Preview: bool,
996 pub Delivery: bool,
997}
998impl Default for ImGuiPayload {
999 fn default() -> Self {
1000 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1001 unsafe {
1002 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1003 s.assume_init()
1004 }
1005 }
1006}
1007#[repr(C)]
1008#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1009pub struct ImGuiTableColumnSortSpecs {
1010 pub ColumnUserID: ImGuiID,
1011 pub ColumnIndex: ImS16,
1012 pub SortOrder: ImS16,
1013 pub _bitfield_align_1: [u8; 0],
1014 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
1015 pub __bindgen_padding_0: [u8; 3usize],
1016}
1017impl ImGuiTableColumnSortSpecs {
1018 #[inline]
1019 pub fn SortDirection(&self) -> ImGuiSortDirection {
1020 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
1021 }
1022 #[inline]
1023 pub fn set_SortDirection(&mut self, val: ImGuiSortDirection) {
1024 unsafe {
1025 let val: u32 = ::core::mem::transmute(val);
1026 self._bitfield_1.set(0usize, 8u8, val as u64)
1027 }
1028 }
1029 #[inline]
1030 pub fn new_bitfield_1(
1031 SortDirection: ImGuiSortDirection,
1032 ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
1033 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
1034 __bindgen_bitfield_unit.set(0usize, 8u8, {
1035 let SortDirection: u32 = unsafe { ::core::mem::transmute(SortDirection) };
1036 SortDirection as u64
1037 });
1038 __bindgen_bitfield_unit
1039 }
1040}
1041#[repr(C)]
1042#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1043pub struct ImGuiTableSortSpecs {
1044 pub Specs: *const ImGuiTableColumnSortSpecs,
1045 pub SpecsCount: cty::c_int,
1046 pub SpecsDirty: bool,
1047}
1048impl Default for ImGuiTableSortSpecs {
1049 fn default() -> Self {
1050 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1051 unsafe {
1052 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1053 s.assume_init()
1054 }
1055 }
1056}
1057#[repr(C)]
1058#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1059pub struct ImGuiOnceUponAFrame {
1060 pub RefFrame: cty::c_int,
1061}
1062#[repr(C)]
1063#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1064pub struct ImGuiTextRange {
1065 pub b: *const cty::c_char,
1066 pub e: *const cty::c_char,
1067}
1068impl Default for ImGuiTextRange {
1069 fn default() -> Self {
1070 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1071 unsafe {
1072 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1073 s.assume_init()
1074 }
1075 }
1076}
1077#[repr(C)]
1078#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1079pub struct ImVector_ImGuiTextRange {
1080 pub Size: cty::c_int,
1081 pub Capacity: cty::c_int,
1082 pub Data: *mut ImGuiTextRange,
1083}
1084impl Default for ImVector_ImGuiTextRange {
1085 fn default() -> Self {
1086 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1087 unsafe {
1088 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1089 s.assume_init()
1090 }
1091 }
1092}
1093#[repr(C)]
1094#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1095pub struct ImGuiTextFilter {
1096 pub InputBuf: [cty::c_char; 256usize],
1097 pub Filters: ImVector_ImGuiTextRange,
1098 pub CountGrep: cty::c_int,
1099}
1100impl Default for ImGuiTextFilter {
1101 fn default() -> Self {
1102 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1103 unsafe {
1104 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1105 s.assume_init()
1106 }
1107 }
1108}
1109#[repr(C)]
1110#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1111pub struct ImVector_char {
1112 pub Size: cty::c_int,
1113 pub Capacity: cty::c_int,
1114 pub Data: *mut cty::c_char,
1115}
1116impl Default for ImVector_char {
1117 fn default() -> Self {
1118 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1119 unsafe {
1120 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1121 s.assume_init()
1122 }
1123 }
1124}
1125#[repr(C)]
1126#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1127pub struct ImGuiTextBuffer {
1128 pub Buf: ImVector_char,
1129}
1130impl Default for ImGuiTextBuffer {
1131 fn default() -> Self {
1132 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1133 unsafe {
1134 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1135 s.assume_init()
1136 }
1137 }
1138}
1139#[repr(C)]
1140#[derive(Copy, Clone)]
1141pub struct ImGuiStoragePair {
1142 pub key: ImGuiID,
1143 pub __bindgen_anon_1: ImGuiStoragePair__bindgen_ty_1,
1144}
1145#[repr(C)]
1146#[derive(Copy, Clone)]
1147pub union ImGuiStoragePair__bindgen_ty_1 {
1148 pub val_i: cty::c_int,
1149 pub val_f: f32,
1150 pub val_p: *mut cty::c_void,
1151}
1152impl Default for ImGuiStoragePair__bindgen_ty_1 {
1153 fn default() -> Self {
1154 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1155 unsafe {
1156 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1157 s.assume_init()
1158 }
1159 }
1160}
1161impl ::core::fmt::Debug for ImGuiStoragePair__bindgen_ty_1 {
1162 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1163 write!(f, "ImGuiStoragePair__bindgen_ty_1 {{ union }}")
1164 }
1165}
1166impl Default for ImGuiStoragePair {
1167 fn default() -> Self {
1168 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1169 unsafe {
1170 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1171 s.assume_init()
1172 }
1173 }
1174}
1175impl ::core::fmt::Debug for ImGuiStoragePair {
1176 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1177 write!(
1178 f,
1179 "ImGuiStoragePair {{ key: {:?}, __bindgen_anon_1: {:?} }}",
1180 self.key, self.__bindgen_anon_1
1181 )
1182 }
1183}
1184#[repr(C)]
1185#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1186pub struct ImVector_ImGuiStoragePair {
1187 pub Size: cty::c_int,
1188 pub Capacity: cty::c_int,
1189 pub Data: *mut ImGuiStoragePair,
1190}
1191impl Default for ImVector_ImGuiStoragePair {
1192 fn default() -> Self {
1193 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1194 unsafe {
1195 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1196 s.assume_init()
1197 }
1198 }
1199}
1200#[repr(C)]
1201#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1202pub struct ImGuiStorage {
1203 pub Data: ImVector_ImGuiStoragePair,
1204}
1205impl Default for ImGuiStorage {
1206 fn default() -> Self {
1207 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1208 unsafe {
1209 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1210 s.assume_init()
1211 }
1212 }
1213}
1214#[repr(C)]
1215#[derive(Debug, Copy, Clone, PartialEq)]
1216pub struct ImGuiListClipper {
1217 pub DisplayStart: cty::c_int,
1218 pub DisplayEnd: cty::c_int,
1219 pub ItemsCount: cty::c_int,
1220 pub ItemsHeight: f32,
1221 pub StartPosY: f32,
1222 pub TempData: *mut cty::c_void,
1223}
1224impl Default for ImGuiListClipper {
1225 fn default() -> Self {
1226 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1227 unsafe {
1228 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1229 s.assume_init()
1230 }
1231 }
1232}
1233#[repr(C)]
1234#[derive(Debug, Default, Copy, Clone, PartialEq)]
1235pub struct ImColor {
1236 pub Value: ImVec4,
1237}
1238pub type ImDrawCallback = ::core::option::Option<
1239 unsafe extern "C" fn(parent_list: *const ImDrawList, cmd: *const ImDrawCmd),
1240>;
1241#[repr(C)]
1242#[derive(Debug, Copy, Clone, PartialEq)]
1243pub struct ImDrawCmd {
1244 pub ClipRect: ImVec4,
1245 pub TextureId: ImTextureID,
1246 pub VtxOffset: cty::c_uint,
1247 pub IdxOffset: cty::c_uint,
1248 pub ElemCount: cty::c_uint,
1249 pub UserCallback: ImDrawCallback,
1250 pub UserCallbackData: *mut cty::c_void,
1251}
1252impl Default for ImDrawCmd {
1253 fn default() -> Self {
1254 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1255 unsafe {
1256 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1257 s.assume_init()
1258 }
1259 }
1260}
1261#[repr(C)]
1262#[derive(Debug, Default, Copy, Clone, PartialEq)]
1263pub struct ImDrawVert {
1264 pub pos: ImVec2,
1265 pub uv: ImVec2,
1266 pub col: ImU32,
1267}
1268#[repr(C)]
1269#[derive(Debug, Copy, Clone, PartialEq)]
1270pub struct ImDrawCmdHeader {
1271 pub ClipRect: ImVec4,
1272 pub TextureId: ImTextureID,
1273 pub VtxOffset: cty::c_uint,
1274}
1275impl Default for ImDrawCmdHeader {
1276 fn default() -> Self {
1277 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1278 unsafe {
1279 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1280 s.assume_init()
1281 }
1282 }
1283}
1284#[repr(C)]
1285#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1286pub struct ImVector_ImDrawCmd {
1287 pub Size: cty::c_int,
1288 pub Capacity: cty::c_int,
1289 pub Data: *mut ImDrawCmd,
1290}
1291impl Default for ImVector_ImDrawCmd {
1292 fn default() -> Self {
1293 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1294 unsafe {
1295 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1296 s.assume_init()
1297 }
1298 }
1299}
1300#[repr(C)]
1301#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1302pub struct ImVector_ImDrawIdx {
1303 pub Size: cty::c_int,
1304 pub Capacity: cty::c_int,
1305 pub Data: *mut ImDrawIdx,
1306}
1307impl Default for ImVector_ImDrawIdx {
1308 fn default() -> Self {
1309 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1310 unsafe {
1311 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1312 s.assume_init()
1313 }
1314 }
1315}
1316#[repr(C)]
1317#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1318pub struct ImDrawChannel {
1319 pub _CmdBuffer: ImVector_ImDrawCmd,
1320 pub _IdxBuffer: ImVector_ImDrawIdx,
1321}
1322impl Default for ImDrawChannel {
1323 fn default() -> Self {
1324 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1325 unsafe {
1326 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1327 s.assume_init()
1328 }
1329 }
1330}
1331#[repr(C)]
1332#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1333pub struct ImVector_ImDrawChannel {
1334 pub Size: cty::c_int,
1335 pub Capacity: cty::c_int,
1336 pub Data: *mut ImDrawChannel,
1337}
1338impl Default for ImVector_ImDrawChannel {
1339 fn default() -> Self {
1340 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1341 unsafe {
1342 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1343 s.assume_init()
1344 }
1345 }
1346}
1347#[repr(C)]
1348#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1349pub struct ImDrawListSplitter {
1350 pub _Current: cty::c_int,
1351 pub _Count: cty::c_int,
1352 pub _Channels: ImVector_ImDrawChannel,
1353}
1354impl Default for ImDrawListSplitter {
1355 fn default() -> Self {
1356 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1357 unsafe {
1358 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1359 s.assume_init()
1360 }
1361 }
1362}
1363pub const ImDrawFlags_None: ImDrawFlags_ = 0;
1364pub const ImDrawFlags_Closed: ImDrawFlags_ = 1;
1365pub const ImDrawFlags_RoundCornersTopLeft: ImDrawFlags_ = 16;
1366pub const ImDrawFlags_RoundCornersTopRight: ImDrawFlags_ = 32;
1367pub const ImDrawFlags_RoundCornersBottomLeft: ImDrawFlags_ = 64;
1368pub const ImDrawFlags_RoundCornersBottomRight: ImDrawFlags_ = 128;
1369pub const ImDrawFlags_RoundCornersNone: ImDrawFlags_ = 256;
1370pub const ImDrawFlags_RoundCornersTop: ImDrawFlags_ = 48;
1371pub const ImDrawFlags_RoundCornersBottom: ImDrawFlags_ = 192;
1372pub const ImDrawFlags_RoundCornersLeft: ImDrawFlags_ = 80;
1373pub const ImDrawFlags_RoundCornersRight: ImDrawFlags_ = 160;
1374pub const ImDrawFlags_RoundCornersAll: ImDrawFlags_ = 240;
1375pub const ImDrawFlags_RoundCornersDefault_: ImDrawFlags_ = 240;
1376pub const ImDrawFlags_RoundCornersMask_: ImDrawFlags_ = 496;
1377pub type ImDrawFlags_ = cty::c_uint;
1378pub const ImDrawListFlags_None: ImDrawListFlags_ = 0;
1379pub const ImDrawListFlags_AntiAliasedLines: ImDrawListFlags_ = 1;
1380pub const ImDrawListFlags_AntiAliasedLinesUseTex: ImDrawListFlags_ = 2;
1381pub const ImDrawListFlags_AntiAliasedFill: ImDrawListFlags_ = 4;
1382pub const ImDrawListFlags_AllowVtxOffset: ImDrawListFlags_ = 8;
1383pub type ImDrawListFlags_ = cty::c_uint;
1384#[repr(C)]
1385#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1386pub struct ImVector_ImDrawVert {
1387 pub Size: cty::c_int,
1388 pub Capacity: cty::c_int,
1389 pub Data: *mut ImDrawVert,
1390}
1391impl Default for ImVector_ImDrawVert {
1392 fn default() -> Self {
1393 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1394 unsafe {
1395 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1396 s.assume_init()
1397 }
1398 }
1399}
1400#[repr(C)]
1401#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1402pub struct ImVector_ImVec4 {
1403 pub Size: cty::c_int,
1404 pub Capacity: cty::c_int,
1405 pub Data: *mut ImVec4,
1406}
1407impl Default for ImVector_ImVec4 {
1408 fn default() -> Self {
1409 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1410 unsafe {
1411 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1412 s.assume_init()
1413 }
1414 }
1415}
1416#[repr(C)]
1417#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1418pub struct ImVector_ImTextureID {
1419 pub Size: cty::c_int,
1420 pub Capacity: cty::c_int,
1421 pub Data: *mut ImTextureID,
1422}
1423impl Default for ImVector_ImTextureID {
1424 fn default() -> Self {
1425 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1426 unsafe {
1427 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1428 s.assume_init()
1429 }
1430 }
1431}
1432#[repr(C)]
1433#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1434pub struct ImVector_ImVec2 {
1435 pub Size: cty::c_int,
1436 pub Capacity: cty::c_int,
1437 pub Data: *mut ImVec2,
1438}
1439impl Default for ImVector_ImVec2 {
1440 fn default() -> Self {
1441 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1442 unsafe {
1443 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1444 s.assume_init()
1445 }
1446 }
1447}
1448#[repr(C)]
1449#[derive(Debug, Copy, Clone, PartialEq)]
1450pub struct ImDrawList {
1451 pub CmdBuffer: ImVector_ImDrawCmd,
1452 pub IdxBuffer: ImVector_ImDrawIdx,
1453 pub VtxBuffer: ImVector_ImDrawVert,
1454 pub Flags: ImDrawListFlags,
1455 pub _VtxCurrentIdx: cty::c_uint,
1456 pub _Data: *mut ImDrawListSharedData,
1457 pub _OwnerName: *const cty::c_char,
1458 pub _VtxWritePtr: *mut ImDrawVert,
1459 pub _IdxWritePtr: *mut ImDrawIdx,
1460 pub _ClipRectStack: ImVector_ImVec4,
1461 pub _TextureIdStack: ImVector_ImTextureID,
1462 pub _Path: ImVector_ImVec2,
1463 pub _CmdHeader: ImDrawCmdHeader,
1464 pub _Splitter: ImDrawListSplitter,
1465 pub _FringeScale: f32,
1466}
1467impl Default for ImDrawList {
1468 fn default() -> Self {
1469 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1470 unsafe {
1471 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1472 s.assume_init()
1473 }
1474 }
1475}
1476#[repr(C)]
1477#[derive(Debug, Copy, Clone, PartialEq)]
1478pub struct ImDrawData {
1479 pub Valid: bool,
1480 pub CmdListsCount: cty::c_int,
1481 pub TotalIdxCount: cty::c_int,
1482 pub TotalVtxCount: cty::c_int,
1483 pub CmdLists: *mut *mut ImDrawList,
1484 pub DisplayPos: ImVec2,
1485 pub DisplaySize: ImVec2,
1486 pub FramebufferScale: ImVec2,
1487}
1488impl Default for ImDrawData {
1489 fn default() -> Self {
1490 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1491 unsafe {
1492 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1493 s.assume_init()
1494 }
1495 }
1496}
1497#[repr(C)]
1498#[derive(Debug, Copy, Clone, PartialEq)]
1499pub struct ImFontConfig {
1500 pub FontData: *mut cty::c_void,
1501 pub FontDataSize: cty::c_int,
1502 pub FontDataOwnedByAtlas: bool,
1503 pub FontNo: cty::c_int,
1504 pub SizePixels: f32,
1505 pub OversampleH: cty::c_int,
1506 pub OversampleV: cty::c_int,
1507 pub PixelSnapH: bool,
1508 pub GlyphExtraSpacing: ImVec2,
1509 pub GlyphOffset: ImVec2,
1510 pub GlyphRanges: *const ImWchar,
1511 pub GlyphMinAdvanceX: f32,
1512 pub GlyphMaxAdvanceX: f32,
1513 pub MergeMode: bool,
1514 pub FontBuilderFlags: cty::c_uint,
1515 pub RasterizerMultiply: f32,
1516 pub EllipsisChar: ImWchar,
1517 pub Name: [cty::c_char; 40usize],
1518 pub DstFont: *mut ImFont,
1519}
1520impl Default for ImFontConfig {
1521 fn default() -> Self {
1522 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1523 unsafe {
1524 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1525 s.assume_init()
1526 }
1527 }
1528}
1529#[repr(C)]
1530#[derive(Debug, Default, Copy, Clone, PartialEq)]
1531pub struct ImFontGlyph {
1532 pub _bitfield_align_1: [u32; 0],
1533 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
1534 pub AdvanceX: f32,
1535 pub X0: f32,
1536 pub Y0: f32,
1537 pub X1: f32,
1538 pub Y1: f32,
1539 pub U0: f32,
1540 pub V0: f32,
1541 pub U1: f32,
1542 pub V1: f32,
1543}
1544impl ImFontGlyph {
1545 #[inline]
1546 pub fn Colored(&self) -> cty::c_uint {
1547 unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1548 }
1549 #[inline]
1550 pub fn set_Colored(&mut self, val: cty::c_uint) {
1551 unsafe {
1552 let val: u32 = ::core::mem::transmute(val);
1553 self._bitfield_1.set(0usize, 1u8, val as u64)
1554 }
1555 }
1556 #[inline]
1557 pub fn Visible(&self) -> cty::c_uint {
1558 unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
1559 }
1560 #[inline]
1561 pub fn set_Visible(&mut self, val: cty::c_uint) {
1562 unsafe {
1563 let val: u32 = ::core::mem::transmute(val);
1564 self._bitfield_1.set(1usize, 1u8, val as u64)
1565 }
1566 }
1567 #[inline]
1568 pub fn Codepoint(&self) -> cty::c_uint {
1569 unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
1570 }
1571 #[inline]
1572 pub fn set_Codepoint(&mut self, val: cty::c_uint) {
1573 unsafe {
1574 let val: u32 = ::core::mem::transmute(val);
1575 self._bitfield_1.set(2usize, 30u8, val as u64)
1576 }
1577 }
1578 #[inline]
1579 pub fn new_bitfield_1(
1580 Colored: cty::c_uint,
1581 Visible: cty::c_uint,
1582 Codepoint: cty::c_uint,
1583 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1584 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1585 __bindgen_bitfield_unit.set(0usize, 1u8, {
1586 let Colored: u32 = unsafe { ::core::mem::transmute(Colored) };
1587 Colored as u64
1588 });
1589 __bindgen_bitfield_unit.set(1usize, 1u8, {
1590 let Visible: u32 = unsafe { ::core::mem::transmute(Visible) };
1591 Visible as u64
1592 });
1593 __bindgen_bitfield_unit.set(2usize, 30u8, {
1594 let Codepoint: u32 = unsafe { ::core::mem::transmute(Codepoint) };
1595 Codepoint as u64
1596 });
1597 __bindgen_bitfield_unit
1598 }
1599}
1600#[repr(C)]
1601#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1602pub struct ImVector_ImU32 {
1603 pub Size: cty::c_int,
1604 pub Capacity: cty::c_int,
1605 pub Data: *mut ImU32,
1606}
1607impl Default for ImVector_ImU32 {
1608 fn default() -> Self {
1609 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1610 unsafe {
1611 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1612 s.assume_init()
1613 }
1614 }
1615}
1616#[repr(C)]
1617#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1618pub struct ImFontGlyphRangesBuilder {
1619 pub UsedChars: ImVector_ImU32,
1620}
1621impl Default for ImFontGlyphRangesBuilder {
1622 fn default() -> Self {
1623 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1624 unsafe {
1625 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1626 s.assume_init()
1627 }
1628 }
1629}
1630#[repr(C)]
1631#[derive(Debug, Copy, Clone, PartialEq)]
1632pub struct ImFontAtlasCustomRect {
1633 pub Width: cty::c_ushort,
1634 pub Height: cty::c_ushort,
1635 pub X: cty::c_ushort,
1636 pub Y: cty::c_ushort,
1637 pub GlyphID: cty::c_uint,
1638 pub GlyphAdvanceX: f32,
1639 pub GlyphOffset: ImVec2,
1640 pub Font: *mut ImFont,
1641}
1642impl Default for ImFontAtlasCustomRect {
1643 fn default() -> Self {
1644 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1645 unsafe {
1646 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1647 s.assume_init()
1648 }
1649 }
1650}
1651pub const ImFontAtlasFlags_None: ImFontAtlasFlags_ = 0;
1652pub const ImFontAtlasFlags_NoPowerOfTwoHeight: ImFontAtlasFlags_ = 1;
1653pub const ImFontAtlasFlags_NoMouseCursors: ImFontAtlasFlags_ = 2;
1654pub const ImFontAtlasFlags_NoBakedLines: ImFontAtlasFlags_ = 4;
1655pub type ImFontAtlasFlags_ = cty::c_uint;
1656#[repr(C)]
1657#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1658pub struct ImVector_ImFontPtr {
1659 pub Size: cty::c_int,
1660 pub Capacity: cty::c_int,
1661 pub Data: *mut *mut ImFont,
1662}
1663impl Default for ImVector_ImFontPtr {
1664 fn default() -> Self {
1665 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1666 unsafe {
1667 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1668 s.assume_init()
1669 }
1670 }
1671}
1672#[repr(C)]
1673#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1674pub struct ImVector_ImFontAtlasCustomRect {
1675 pub Size: cty::c_int,
1676 pub Capacity: cty::c_int,
1677 pub Data: *mut ImFontAtlasCustomRect,
1678}
1679impl Default for ImVector_ImFontAtlasCustomRect {
1680 fn default() -> Self {
1681 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1682 unsafe {
1683 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1684 s.assume_init()
1685 }
1686 }
1687}
1688#[repr(C)]
1689#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1690pub struct ImVector_ImFontConfig {
1691 pub Size: cty::c_int,
1692 pub Capacity: cty::c_int,
1693 pub Data: *mut ImFontConfig,
1694}
1695impl Default for ImVector_ImFontConfig {
1696 fn default() -> Self {
1697 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1698 unsafe {
1699 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1700 s.assume_init()
1701 }
1702 }
1703}
1704#[repr(C)]
1705#[derive(Debug, Copy, Clone, PartialEq)]
1706pub struct ImFontAtlas {
1707 pub Flags: ImFontAtlasFlags,
1708 pub TexID: ImTextureID,
1709 pub TexDesiredWidth: cty::c_int,
1710 pub TexGlyphPadding: cty::c_int,
1711 pub Locked: bool,
1712 pub UserData: *mut cty::c_void,
1713 pub TexReady: bool,
1714 pub TexPixelsUseColors: bool,
1715 pub TexPixelsAlpha8: *mut cty::c_uchar,
1716 pub TexPixelsRGBA32: *mut cty::c_uint,
1717 pub TexWidth: cty::c_int,
1718 pub TexHeight: cty::c_int,
1719 pub TexUvScale: ImVec2,
1720 pub TexUvWhitePixel: ImVec2,
1721 pub Fonts: ImVector_ImFontPtr,
1722 pub CustomRects: ImVector_ImFontAtlasCustomRect,
1723 pub ConfigData: ImVector_ImFontConfig,
1724 pub TexUvLines: [ImVec4; 64usize],
1725 pub FontBuilderIO: *const ImFontBuilderIO,
1726 pub FontBuilderFlags: cty::c_uint,
1727 pub PackIdMouseCursors: cty::c_int,
1728 pub PackIdLines: cty::c_int,
1729}
1730impl Default for ImFontAtlas {
1731 fn default() -> Self {
1732 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1733 unsafe {
1734 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1735 s.assume_init()
1736 }
1737 }
1738}
1739#[repr(C)]
1740#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1741pub struct ImVector_float {
1742 pub Size: cty::c_int,
1743 pub Capacity: cty::c_int,
1744 pub Data: *mut f32,
1745}
1746impl Default for ImVector_float {
1747 fn default() -> Self {
1748 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1749 unsafe {
1750 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1751 s.assume_init()
1752 }
1753 }
1754}
1755#[repr(C)]
1756#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1757pub struct ImVector_ImFontGlyph {
1758 pub Size: cty::c_int,
1759 pub Capacity: cty::c_int,
1760 pub Data: *mut ImFontGlyph,
1761}
1762impl Default for ImVector_ImFontGlyph {
1763 fn default() -> Self {
1764 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1765 unsafe {
1766 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1767 s.assume_init()
1768 }
1769 }
1770}
1771#[repr(C)]
1772#[derive(Debug, Copy, Clone, PartialEq)]
1773pub struct ImFont {
1774 pub IndexAdvanceX: ImVector_float,
1775 pub FallbackAdvanceX: f32,
1776 pub FontSize: f32,
1777 pub IndexLookup: ImVector_ImWchar,
1778 pub Glyphs: ImVector_ImFontGlyph,
1779 pub FallbackGlyph: *const ImFontGlyph,
1780 pub ContainerAtlas: *mut ImFontAtlas,
1781 pub ConfigData: *const ImFontConfig,
1782 pub ConfigDataCount: cty::c_short,
1783 pub FallbackChar: ImWchar,
1784 pub EllipsisChar: ImWchar,
1785 pub DotChar: ImWchar,
1786 pub DirtyLookupTables: bool,
1787 pub Scale: f32,
1788 pub Ascent: f32,
1789 pub Descent: f32,
1790 pub MetricsTotalSurface: cty::c_int,
1791 pub Used4kPagesMap: [ImU8; 34usize],
1792}
1793impl Default for ImFont {
1794 fn default() -> Self {
1795 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1796 unsafe {
1797 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1798 s.assume_init()
1799 }
1800 }
1801}
1802pub const ImGuiViewportFlags_None: ImGuiViewportFlags_ = 0;
1803pub const ImGuiViewportFlags_IsPlatformWindow: ImGuiViewportFlags_ = 1;
1804pub const ImGuiViewportFlags_IsPlatformMonitor: ImGuiViewportFlags_ = 2;
1805pub const ImGuiViewportFlags_OwnedByApp: ImGuiViewportFlags_ = 4;
1806pub type ImGuiViewportFlags_ = cty::c_uint;
1807#[repr(C)]
1808#[derive(Debug, Copy, Clone, PartialEq)]
1809pub struct ImGuiViewport {
1810 pub Flags: ImGuiViewportFlags,
1811 pub Pos: ImVec2,
1812 pub Size: ImVec2,
1813 pub WorkPos: ImVec2,
1814 pub WorkSize: ImVec2,
1815 pub PlatformHandleRaw: *mut cty::c_void,
1816}
1817impl Default for ImGuiViewport {
1818 fn default() -> Self {
1819 let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
1820 unsafe {
1821 ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1822 s.assume_init()
1823 }
1824 }
1825}
1826#[repr(C)]
1827#[derive(Debug, Default, Copy, Clone, PartialEq)]
1828pub struct ImGuiPlatformImeData {
1829 pub WantVisible: bool,
1830 pub InputPos: ImVec2,
1831 pub InputLineHeight: f32,
1832}
1833extern "C" {
1834 pub fn ImVec2_ImVec2_Nil() -> *mut ImVec2;
1835}
1836extern "C" {
1837 pub fn ImVec2_destroy(self_: *mut ImVec2);
1838}
1839extern "C" {
1840 pub fn ImVec2_ImVec2_Float(_x: f32, _y: f32) -> *mut ImVec2;
1841}
1842extern "C" {
1843 pub fn ImVec4_ImVec4_Nil() -> *mut ImVec4;
1844}
1845extern "C" {
1846 pub fn ImVec4_destroy(self_: *mut ImVec4);
1847}
1848extern "C" {
1849 pub fn ImVec4_ImVec4_Float(_x: f32, _y: f32, _z: f32, _w: f32) -> *mut ImVec4;
1850}
1851extern "C" {
1852 pub fn igCreateContext(shared_font_atlas: *mut ImFontAtlas) -> *mut ImGuiContext;
1853}
1854extern "C" {
1855 pub fn igDestroyContext(ctx: *mut ImGuiContext);
1856}
1857extern "C" {
1858 pub fn igGetCurrentContext() -> *mut ImGuiContext;
1859}
1860extern "C" {
1861 pub fn igSetCurrentContext(ctx: *mut ImGuiContext);
1862}
1863extern "C" {
1864 pub fn igGetIO() -> *mut ImGuiIO;
1865}
1866extern "C" {
1867 pub fn igGetStyle() -> *mut ImGuiStyle;
1868}
1869extern "C" {
1870 pub fn igNewFrame();
1871}
1872extern "C" {
1873 pub fn igEndFrame();
1874}
1875extern "C" {
1876 pub fn igRender();
1877}
1878extern "C" {
1879 pub fn igGetDrawData() -> *mut ImDrawData;
1880}
1881extern "C" {
1882 pub fn igShowDemoWindow(p_open: *mut bool);
1883}
1884extern "C" {
1885 pub fn igShowMetricsWindow(p_open: *mut bool);
1886}
1887extern "C" {
1888 pub fn igShowDebugLogWindow(p_open: *mut bool);
1889}
1890extern "C" {
1891 pub fn igShowStackToolWindow(p_open: *mut bool);
1892}
1893extern "C" {
1894 pub fn igShowAboutWindow(p_open: *mut bool);
1895}
1896extern "C" {
1897 pub fn igShowStyleEditor(ref_: *mut ImGuiStyle);
1898}
1899extern "C" {
1900 pub fn igShowStyleSelector(label: *const cty::c_char) -> bool;
1901}
1902extern "C" {
1903 pub fn igShowFontSelector(label: *const cty::c_char);
1904}
1905extern "C" {
1906 pub fn igShowUserGuide();
1907}
1908extern "C" {
1909 pub fn igGetVersion() -> *const cty::c_char;
1910}
1911extern "C" {
1912 pub fn igStyleColorsDark(dst: *mut ImGuiStyle);
1913}
1914extern "C" {
1915 pub fn igStyleColorsLight(dst: *mut ImGuiStyle);
1916}
1917extern "C" {
1918 pub fn igStyleColorsClassic(dst: *mut ImGuiStyle);
1919}
1920extern "C" {
1921 pub fn igBegin(name: *const cty::c_char, p_open: *mut bool, flags: ImGuiWindowFlags) -> bool;
1922}
1923extern "C" {
1924 pub fn igEnd();
1925}
1926extern "C" {
1927 pub fn igBeginChild_Str(
1928 str_id: *const cty::c_char,
1929 size: ImVec2,
1930 border: bool,
1931 flags: ImGuiWindowFlags,
1932 ) -> bool;
1933}
1934extern "C" {
1935 pub fn igBeginChild_ID(
1936 id: ImGuiID,
1937 size: ImVec2,
1938 border: bool,
1939 flags: ImGuiWindowFlags,
1940 ) -> bool;
1941}
1942extern "C" {
1943 pub fn igEndChild();
1944}
1945extern "C" {
1946 pub fn igIsWindowAppearing() -> bool;
1947}
1948extern "C" {
1949 pub fn igIsWindowCollapsed() -> bool;
1950}
1951extern "C" {
1952 pub fn igIsWindowFocused(flags: ImGuiFocusedFlags) -> bool;
1953}
1954extern "C" {
1955 pub fn igIsWindowHovered(flags: ImGuiHoveredFlags) -> bool;
1956}
1957extern "C" {
1958 pub fn igGetWindowDrawList() -> *mut ImDrawList;
1959}
1960extern "C" {
1961 pub fn igGetWindowPos(pOut: *mut ImVec2);
1962}
1963extern "C" {
1964 pub fn igGetWindowSize(pOut: *mut ImVec2);
1965}
1966extern "C" {
1967 pub fn igGetWindowWidth() -> f32;
1968}
1969extern "C" {
1970 pub fn igGetWindowHeight() -> f32;
1971}
1972extern "C" {
1973 pub fn igSetNextWindowPos(pos: ImVec2, cond: ImGuiCond, pivot: ImVec2);
1974}
1975extern "C" {
1976 pub fn igSetNextWindowSize(size: ImVec2, cond: ImGuiCond);
1977}
1978extern "C" {
1979 pub fn igSetNextWindowSizeConstraints(
1980 size_min: ImVec2,
1981 size_max: ImVec2,
1982 custom_callback: ImGuiSizeCallback,
1983 custom_callback_data: *mut cty::c_void,
1984 );
1985}
1986extern "C" {
1987 pub fn igSetNextWindowContentSize(size: ImVec2);
1988}
1989extern "C" {
1990 pub fn igSetNextWindowCollapsed(collapsed: bool, cond: ImGuiCond);
1991}
1992extern "C" {
1993 pub fn igSetNextWindowFocus();
1994}
1995extern "C" {
1996 pub fn igSetNextWindowScroll(scroll: ImVec2);
1997}
1998extern "C" {
1999 pub fn igSetNextWindowBgAlpha(alpha: f32);
2000}
2001extern "C" {
2002 pub fn igSetWindowPos_Vec2(pos: ImVec2, cond: ImGuiCond);
2003}
2004extern "C" {
2005 pub fn igSetWindowSize_Vec2(size: ImVec2, cond: ImGuiCond);
2006}
2007extern "C" {
2008 pub fn igSetWindowCollapsed_Bool(collapsed: bool, cond: ImGuiCond);
2009}
2010extern "C" {
2011 pub fn igSetWindowFocus_Nil();
2012}
2013extern "C" {
2014 pub fn igSetWindowFontScale(scale: f32);
2015}
2016extern "C" {
2017 pub fn igSetWindowPos_Str(name: *const cty::c_char, pos: ImVec2, cond: ImGuiCond);
2018}
2019extern "C" {
2020 pub fn igSetWindowSize_Str(name: *const cty::c_char, size: ImVec2, cond: ImGuiCond);
2021}
2022extern "C" {
2023 pub fn igSetWindowCollapsed_Str(name: *const cty::c_char, collapsed: bool, cond: ImGuiCond);
2024}
2025extern "C" {
2026 pub fn igSetWindowFocus_Str(name: *const cty::c_char);
2027}
2028extern "C" {
2029 pub fn igGetContentRegionAvail(pOut: *mut ImVec2);
2030}
2031extern "C" {
2032 pub fn igGetContentRegionMax(pOut: *mut ImVec2);
2033}
2034extern "C" {
2035 pub fn igGetWindowContentRegionMin(pOut: *mut ImVec2);
2036}
2037extern "C" {
2038 pub fn igGetWindowContentRegionMax(pOut: *mut ImVec2);
2039}
2040extern "C" {
2041 pub fn igGetScrollX() -> f32;
2042}
2043extern "C" {
2044 pub fn igGetScrollY() -> f32;
2045}
2046extern "C" {
2047 pub fn igSetScrollX(scroll_x: f32);
2048}
2049extern "C" {
2050 pub fn igSetScrollY(scroll_y: f32);
2051}
2052extern "C" {
2053 pub fn igGetScrollMaxX() -> f32;
2054}
2055extern "C" {
2056 pub fn igGetScrollMaxY() -> f32;
2057}
2058extern "C" {
2059 pub fn igSetScrollHereX(center_x_ratio: f32);
2060}
2061extern "C" {
2062 pub fn igSetScrollHereY(center_y_ratio: f32);
2063}
2064extern "C" {
2065 pub fn igSetScrollFromPosX(local_x: f32, center_x_ratio: f32);
2066}
2067extern "C" {
2068 pub fn igSetScrollFromPosY(local_y: f32, center_y_ratio: f32);
2069}
2070extern "C" {
2071 pub fn igPushFont(font: *mut ImFont);
2072}
2073extern "C" {
2074 pub fn igPopFont();
2075}
2076extern "C" {
2077 pub fn igPushStyleColor_U32(idx: ImGuiCol, col: ImU32);
2078}
2079extern "C" {
2080 pub fn igPushStyleColor_Vec4(idx: ImGuiCol, col: ImVec4);
2081}
2082extern "C" {
2083 pub fn igPopStyleColor(count: cty::c_int);
2084}
2085extern "C" {
2086 pub fn igPushStyleVar_Float(idx: ImGuiStyleVar, val: f32);
2087}
2088extern "C" {
2089 pub fn igPushStyleVar_Vec2(idx: ImGuiStyleVar, val: ImVec2);
2090}
2091extern "C" {
2092 pub fn igPopStyleVar(count: cty::c_int);
2093}
2094extern "C" {
2095 pub fn igPushAllowKeyboardFocus(allow_keyboard_focus: bool);
2096}
2097extern "C" {
2098 pub fn igPopAllowKeyboardFocus();
2099}
2100extern "C" {
2101 pub fn igPushButtonRepeat(repeat: bool);
2102}
2103extern "C" {
2104 pub fn igPopButtonRepeat();
2105}
2106extern "C" {
2107 pub fn igPushItemWidth(item_width: f32);
2108}
2109extern "C" {
2110 pub fn igPopItemWidth();
2111}
2112extern "C" {
2113 pub fn igSetNextItemWidth(item_width: f32);
2114}
2115extern "C" {
2116 pub fn igCalcItemWidth() -> f32;
2117}
2118extern "C" {
2119 pub fn igPushTextWrapPos(wrap_local_pos_x: f32);
2120}
2121extern "C" {
2122 pub fn igPopTextWrapPos();
2123}
2124extern "C" {
2125 pub fn igGetFont() -> *mut ImFont;
2126}
2127extern "C" {
2128 pub fn igGetFontSize() -> f32;
2129}
2130extern "C" {
2131 pub fn igGetFontTexUvWhitePixel(pOut: *mut ImVec2);
2132}
2133extern "C" {
2134 pub fn igGetColorU32_Col(idx: ImGuiCol, alpha_mul: f32) -> ImU32;
2135}
2136extern "C" {
2137 pub fn igGetColorU32_Vec4(col: ImVec4) -> ImU32;
2138}
2139extern "C" {
2140 pub fn igGetColorU32_U32(col: ImU32) -> ImU32;
2141}
2142extern "C" {
2143 pub fn igGetStyleColorVec4(idx: ImGuiCol) -> *const ImVec4;
2144}
2145extern "C" {
2146 pub fn igSeparator();
2147}
2148extern "C" {
2149 pub fn igSameLine(offset_from_start_x: f32, spacing: f32);
2150}
2151extern "C" {
2152 pub fn igNewLine();
2153}
2154extern "C" {
2155 pub fn igSpacing();
2156}
2157extern "C" {
2158 pub fn igDummy(size: ImVec2);
2159}
2160extern "C" {
2161 pub fn igIndent(indent_w: f32);
2162}
2163extern "C" {
2164 pub fn igUnindent(indent_w: f32);
2165}
2166extern "C" {
2167 pub fn igBeginGroup();
2168}
2169extern "C" {
2170 pub fn igEndGroup();
2171}
2172extern "C" {
2173 pub fn igGetCursorPos(pOut: *mut ImVec2);
2174}
2175extern "C" {
2176 pub fn igGetCursorPosX() -> f32;
2177}
2178extern "C" {
2179 pub fn igGetCursorPosY() -> f32;
2180}
2181extern "C" {
2182 pub fn igSetCursorPos(local_pos: ImVec2);
2183}
2184extern "C" {
2185 pub fn igSetCursorPosX(local_x: f32);
2186}
2187extern "C" {
2188 pub fn igSetCursorPosY(local_y: f32);
2189}
2190extern "C" {
2191 pub fn igGetCursorStartPos(pOut: *mut ImVec2);
2192}
2193extern "C" {
2194 pub fn igGetCursorScreenPos(pOut: *mut ImVec2);
2195}
2196extern "C" {
2197 pub fn igSetCursorScreenPos(pos: ImVec2);
2198}
2199extern "C" {
2200 pub fn igAlignTextToFramePadding();
2201}
2202extern "C" {
2203 pub fn igGetTextLineHeight() -> f32;
2204}
2205extern "C" {
2206 pub fn igGetTextLineHeightWithSpacing() -> f32;
2207}
2208extern "C" {
2209 pub fn igGetFrameHeight() -> f32;
2210}
2211extern "C" {
2212 pub fn igGetFrameHeightWithSpacing() -> f32;
2213}
2214extern "C" {
2215 pub fn igPushID_Str(str_id: *const cty::c_char);
2216}
2217extern "C" {
2218 pub fn igPushID_StrStr(str_id_begin: *const cty::c_char, str_id_end: *const cty::c_char);
2219}
2220extern "C" {
2221 pub fn igPushID_Ptr(ptr_id: *const cty::c_void);
2222}
2223extern "C" {
2224 pub fn igPushID_Int(int_id: cty::c_int);
2225}
2226extern "C" {
2227 pub fn igPopID();
2228}
2229extern "C" {
2230 pub fn igGetID_Str(str_id: *const cty::c_char) -> ImGuiID;
2231}
2232extern "C" {
2233 pub fn igGetID_StrStr(
2234 str_id_begin: *const cty::c_char,
2235 str_id_end: *const cty::c_char,
2236 ) -> ImGuiID;
2237}
2238extern "C" {
2239 pub fn igGetID_Ptr(ptr_id: *const cty::c_void) -> ImGuiID;
2240}
2241extern "C" {
2242 pub fn igTextUnformatted(text: *const cty::c_char, text_end: *const cty::c_char);
2243}
2244extern "C" {
2245 pub fn igText(fmt: *const cty::c_char, ...);
2246}
2247extern "C" {
2248 pub fn igTextColored(col: ImVec4, fmt: *const cty::c_char, ...);
2249}
2250extern "C" {
2251 pub fn igTextDisabled(fmt: *const cty::c_char, ...);
2252}
2253extern "C" {
2254 pub fn igTextWrapped(fmt: *const cty::c_char, ...);
2255}
2256extern "C" {
2257 pub fn igLabelText(label: *const cty::c_char, fmt: *const cty::c_char, ...);
2258}
2259extern "C" {
2260 pub fn igBulletText(fmt: *const cty::c_char, ...);
2261}
2262extern "C" {
2263 pub fn igButton(label: *const cty::c_char, size: ImVec2) -> bool;
2264}
2265extern "C" {
2266 pub fn igSmallButton(label: *const cty::c_char) -> bool;
2267}
2268extern "C" {
2269 pub fn igInvisibleButton(
2270 str_id: *const cty::c_char,
2271 size: ImVec2,
2272 flags: ImGuiButtonFlags,
2273 ) -> bool;
2274}
2275extern "C" {
2276 pub fn igArrowButton(str_id: *const cty::c_char, dir: ImGuiDir) -> bool;
2277}
2278extern "C" {
2279 pub fn igCheckbox(label: *const cty::c_char, v: *mut bool) -> bool;
2280}
2281extern "C" {
2282 pub fn igCheckboxFlags_IntPtr(
2283 label: *const cty::c_char,
2284 flags: *mut cty::c_int,
2285 flags_value: cty::c_int,
2286 ) -> bool;
2287}
2288extern "C" {
2289 pub fn igCheckboxFlags_UintPtr(
2290 label: *const cty::c_char,
2291 flags: *mut cty::c_uint,
2292 flags_value: cty::c_uint,
2293 ) -> bool;
2294}
2295extern "C" {
2296 pub fn igRadioButton_Bool(label: *const cty::c_char, active: bool) -> bool;
2297}
2298extern "C" {
2299 pub fn igRadioButton_IntPtr(
2300 label: *const cty::c_char,
2301 v: *mut cty::c_int,
2302 v_button: cty::c_int,
2303 ) -> bool;
2304}
2305extern "C" {
2306 pub fn igProgressBar(fraction: f32, size_arg: ImVec2, overlay: *const cty::c_char);
2307}
2308extern "C" {
2309 pub fn igBullet();
2310}
2311extern "C" {
2312 pub fn igImage(
2313 user_texture_id: ImTextureID,
2314 size: ImVec2,
2315 uv0: ImVec2,
2316 uv1: ImVec2,
2317 tint_col: ImVec4,
2318 border_col: ImVec4,
2319 );
2320}
2321extern "C" {
2322 pub fn igImageButton(
2323 str_id: *const cty::c_char,
2324 user_texture_id: ImTextureID,
2325 size: ImVec2,
2326 uv0: ImVec2,
2327 uv1: ImVec2,
2328 bg_col: ImVec4,
2329 tint_col: ImVec4,
2330 ) -> bool;
2331}
2332extern "C" {
2333 pub fn igBeginCombo(
2334 label: *const cty::c_char,
2335 preview_value: *const cty::c_char,
2336 flags: ImGuiComboFlags,
2337 ) -> bool;
2338}
2339extern "C" {
2340 pub fn igEndCombo();
2341}
2342extern "C" {
2343 pub fn igCombo_Str_arr(
2344 label: *const cty::c_char,
2345 current_item: *mut cty::c_int,
2346 items: *const *const cty::c_char,
2347 items_count: cty::c_int,
2348 popup_max_height_in_items: cty::c_int,
2349 ) -> bool;
2350}
2351extern "C" {
2352 pub fn igCombo_Str(
2353 label: *const cty::c_char,
2354 current_item: *mut cty::c_int,
2355 items_separated_by_zeros: *const cty::c_char,
2356 popup_max_height_in_items: cty::c_int,
2357 ) -> bool;
2358}
2359extern "C" {
2360 pub fn igCombo_FnBoolPtr(
2361 label: *const cty::c_char,
2362 current_item: *mut cty::c_int,
2363 items_getter: ::core::option::Option<
2364 unsafe extern "C" fn(
2365 data: *mut cty::c_void,
2366 idx: cty::c_int,
2367 out_text: *mut *const cty::c_char,
2368 ) -> bool,
2369 >,
2370 data: *mut cty::c_void,
2371 items_count: cty::c_int,
2372 popup_max_height_in_items: cty::c_int,
2373 ) -> bool;
2374}
2375extern "C" {
2376 pub fn igDragFloat(
2377 label: *const cty::c_char,
2378 v: *mut f32,
2379 v_speed: f32,
2380 v_min: f32,
2381 v_max: f32,
2382 format: *const cty::c_char,
2383 flags: ImGuiSliderFlags,
2384 ) -> bool;
2385}
2386extern "C" {
2387 pub fn igDragFloat2(
2388 label: *const cty::c_char,
2389 v: *mut f32,
2390 v_speed: f32,
2391 v_min: f32,
2392 v_max: f32,
2393 format: *const cty::c_char,
2394 flags: ImGuiSliderFlags,
2395 ) -> bool;
2396}
2397extern "C" {
2398 pub fn igDragFloat3(
2399 label: *const cty::c_char,
2400 v: *mut f32,
2401 v_speed: f32,
2402 v_min: f32,
2403 v_max: f32,
2404 format: *const cty::c_char,
2405 flags: ImGuiSliderFlags,
2406 ) -> bool;
2407}
2408extern "C" {
2409 pub fn igDragFloat4(
2410 label: *const cty::c_char,
2411 v: *mut f32,
2412 v_speed: f32,
2413 v_min: f32,
2414 v_max: f32,
2415 format: *const cty::c_char,
2416 flags: ImGuiSliderFlags,
2417 ) -> bool;
2418}
2419extern "C" {
2420 pub fn igDragFloatRange2(
2421 label: *const cty::c_char,
2422 v_current_min: *mut f32,
2423 v_current_max: *mut f32,
2424 v_speed: f32,
2425 v_min: f32,
2426 v_max: f32,
2427 format: *const cty::c_char,
2428 format_max: *const cty::c_char,
2429 flags: ImGuiSliderFlags,
2430 ) -> bool;
2431}
2432extern "C" {
2433 pub fn igDragInt(
2434 label: *const cty::c_char,
2435 v: *mut cty::c_int,
2436 v_speed: f32,
2437 v_min: cty::c_int,
2438 v_max: cty::c_int,
2439 format: *const cty::c_char,
2440 flags: ImGuiSliderFlags,
2441 ) -> bool;
2442}
2443extern "C" {
2444 pub fn igDragInt2(
2445 label: *const cty::c_char,
2446 v: *mut cty::c_int,
2447 v_speed: f32,
2448 v_min: cty::c_int,
2449 v_max: cty::c_int,
2450 format: *const cty::c_char,
2451 flags: ImGuiSliderFlags,
2452 ) -> bool;
2453}
2454extern "C" {
2455 pub fn igDragInt3(
2456 label: *const cty::c_char,
2457 v: *mut cty::c_int,
2458 v_speed: f32,
2459 v_min: cty::c_int,
2460 v_max: cty::c_int,
2461 format: *const cty::c_char,
2462 flags: ImGuiSliderFlags,
2463 ) -> bool;
2464}
2465extern "C" {
2466 pub fn igDragInt4(
2467 label: *const cty::c_char,
2468 v: *mut cty::c_int,
2469 v_speed: f32,
2470 v_min: cty::c_int,
2471 v_max: cty::c_int,
2472 format: *const cty::c_char,
2473 flags: ImGuiSliderFlags,
2474 ) -> bool;
2475}
2476extern "C" {
2477 pub fn igDragIntRange2(
2478 label: *const cty::c_char,
2479 v_current_min: *mut cty::c_int,
2480 v_current_max: *mut cty::c_int,
2481 v_speed: f32,
2482 v_min: cty::c_int,
2483 v_max: cty::c_int,
2484 format: *const cty::c_char,
2485 format_max: *const cty::c_char,
2486 flags: ImGuiSliderFlags,
2487 ) -> bool;
2488}
2489extern "C" {
2490 pub fn igDragScalar(
2491 label: *const cty::c_char,
2492 data_type: ImGuiDataType,
2493 p_data: *mut cty::c_void,
2494 v_speed: f32,
2495 p_min: *const cty::c_void,
2496 p_max: *const cty::c_void,
2497 format: *const cty::c_char,
2498 flags: ImGuiSliderFlags,
2499 ) -> bool;
2500}
2501extern "C" {
2502 pub fn igDragScalarN(
2503 label: *const cty::c_char,
2504 data_type: ImGuiDataType,
2505 p_data: *mut cty::c_void,
2506 components: cty::c_int,
2507 v_speed: f32,
2508 p_min: *const cty::c_void,
2509 p_max: *const cty::c_void,
2510 format: *const cty::c_char,
2511 flags: ImGuiSliderFlags,
2512 ) -> bool;
2513}
2514extern "C" {
2515 pub fn igSliderFloat(
2516 label: *const cty::c_char,
2517 v: *mut f32,
2518 v_min: f32,
2519 v_max: f32,
2520 format: *const cty::c_char,
2521 flags: ImGuiSliderFlags,
2522 ) -> bool;
2523}
2524extern "C" {
2525 pub fn igSliderFloat2(
2526 label: *const cty::c_char,
2527 v: *mut f32,
2528 v_min: f32,
2529 v_max: f32,
2530 format: *const cty::c_char,
2531 flags: ImGuiSliderFlags,
2532 ) -> bool;
2533}
2534extern "C" {
2535 pub fn igSliderFloat3(
2536 label: *const cty::c_char,
2537 v: *mut f32,
2538 v_min: f32,
2539 v_max: f32,
2540 format: *const cty::c_char,
2541 flags: ImGuiSliderFlags,
2542 ) -> bool;
2543}
2544extern "C" {
2545 pub fn igSliderFloat4(
2546 label: *const cty::c_char,
2547 v: *mut f32,
2548 v_min: f32,
2549 v_max: f32,
2550 format: *const cty::c_char,
2551 flags: ImGuiSliderFlags,
2552 ) -> bool;
2553}
2554extern "C" {
2555 pub fn igSliderAngle(
2556 label: *const cty::c_char,
2557 v_rad: *mut f32,
2558 v_degrees_min: f32,
2559 v_degrees_max: f32,
2560 format: *const cty::c_char,
2561 flags: ImGuiSliderFlags,
2562 ) -> bool;
2563}
2564extern "C" {
2565 pub fn igSliderInt(
2566 label: *const cty::c_char,
2567 v: *mut cty::c_int,
2568 v_min: cty::c_int,
2569 v_max: cty::c_int,
2570 format: *const cty::c_char,
2571 flags: ImGuiSliderFlags,
2572 ) -> bool;
2573}
2574extern "C" {
2575 pub fn igSliderInt2(
2576 label: *const cty::c_char,
2577 v: *mut cty::c_int,
2578 v_min: cty::c_int,
2579 v_max: cty::c_int,
2580 format: *const cty::c_char,
2581 flags: ImGuiSliderFlags,
2582 ) -> bool;
2583}
2584extern "C" {
2585 pub fn igSliderInt3(
2586 label: *const cty::c_char,
2587 v: *mut cty::c_int,
2588 v_min: cty::c_int,
2589 v_max: cty::c_int,
2590 format: *const cty::c_char,
2591 flags: ImGuiSliderFlags,
2592 ) -> bool;
2593}
2594extern "C" {
2595 pub fn igSliderInt4(
2596 label: *const cty::c_char,
2597 v: *mut cty::c_int,
2598 v_min: cty::c_int,
2599 v_max: cty::c_int,
2600 format: *const cty::c_char,
2601 flags: ImGuiSliderFlags,
2602 ) -> bool;
2603}
2604extern "C" {
2605 pub fn igSliderScalar(
2606 label: *const cty::c_char,
2607 data_type: ImGuiDataType,
2608 p_data: *mut cty::c_void,
2609 p_min: *const cty::c_void,
2610 p_max: *const cty::c_void,
2611 format: *const cty::c_char,
2612 flags: ImGuiSliderFlags,
2613 ) -> bool;
2614}
2615extern "C" {
2616 pub fn igSliderScalarN(
2617 label: *const cty::c_char,
2618 data_type: ImGuiDataType,
2619 p_data: *mut cty::c_void,
2620 components: cty::c_int,
2621 p_min: *const cty::c_void,
2622 p_max: *const cty::c_void,
2623 format: *const cty::c_char,
2624 flags: ImGuiSliderFlags,
2625 ) -> bool;
2626}
2627extern "C" {
2628 pub fn igVSliderFloat(
2629 label: *const cty::c_char,
2630 size: ImVec2,
2631 v: *mut f32,
2632 v_min: f32,
2633 v_max: f32,
2634 format: *const cty::c_char,
2635 flags: ImGuiSliderFlags,
2636 ) -> bool;
2637}
2638extern "C" {
2639 pub fn igVSliderInt(
2640 label: *const cty::c_char,
2641 size: ImVec2,
2642 v: *mut cty::c_int,
2643 v_min: cty::c_int,
2644 v_max: cty::c_int,
2645 format: *const cty::c_char,
2646 flags: ImGuiSliderFlags,
2647 ) -> bool;
2648}
2649extern "C" {
2650 pub fn igVSliderScalar(
2651 label: *const cty::c_char,
2652 size: ImVec2,
2653 data_type: ImGuiDataType,
2654 p_data: *mut cty::c_void,
2655 p_min: *const cty::c_void,
2656 p_max: *const cty::c_void,
2657 format: *const cty::c_char,
2658 flags: ImGuiSliderFlags,
2659 ) -> bool;
2660}
2661extern "C" {
2662 pub fn igInputText(
2663 label: *const cty::c_char,
2664 buf: *mut cty::c_char,
2665 buf_size: usize,
2666 flags: ImGuiInputTextFlags,
2667 callback: ImGuiInputTextCallback,
2668 user_data: *mut cty::c_void,
2669 ) -> bool;
2670}
2671extern "C" {
2672 pub fn igInputTextMultiline(
2673 label: *const cty::c_char,
2674 buf: *mut cty::c_char,
2675 buf_size: usize,
2676 size: ImVec2,
2677 flags: ImGuiInputTextFlags,
2678 callback: ImGuiInputTextCallback,
2679 user_data: *mut cty::c_void,
2680 ) -> bool;
2681}
2682extern "C" {
2683 pub fn igInputTextWithHint(
2684 label: *const cty::c_char,
2685 hint: *const cty::c_char,
2686 buf: *mut cty::c_char,
2687 buf_size: usize,
2688 flags: ImGuiInputTextFlags,
2689 callback: ImGuiInputTextCallback,
2690 user_data: *mut cty::c_void,
2691 ) -> bool;
2692}
2693extern "C" {
2694 pub fn igInputFloat(
2695 label: *const cty::c_char,
2696 v: *mut f32,
2697 step: f32,
2698 step_fast: f32,
2699 format: *const cty::c_char,
2700 flags: ImGuiInputTextFlags,
2701 ) -> bool;
2702}
2703extern "C" {
2704 pub fn igInputFloat2(
2705 label: *const cty::c_char,
2706 v: *mut f32,
2707 format: *const cty::c_char,
2708 flags: ImGuiInputTextFlags,
2709 ) -> bool;
2710}
2711extern "C" {
2712 pub fn igInputFloat3(
2713 label: *const cty::c_char,
2714 v: *mut f32,
2715 format: *const cty::c_char,
2716 flags: ImGuiInputTextFlags,
2717 ) -> bool;
2718}
2719extern "C" {
2720 pub fn igInputFloat4(
2721 label: *const cty::c_char,
2722 v: *mut f32,
2723 format: *const cty::c_char,
2724 flags: ImGuiInputTextFlags,
2725 ) -> bool;
2726}
2727extern "C" {
2728 pub fn igInputInt(
2729 label: *const cty::c_char,
2730 v: *mut cty::c_int,
2731 step: cty::c_int,
2732 step_fast: cty::c_int,
2733 flags: ImGuiInputTextFlags,
2734 ) -> bool;
2735}
2736extern "C" {
2737 pub fn igInputInt2(
2738 label: *const cty::c_char,
2739 v: *mut cty::c_int,
2740 flags: ImGuiInputTextFlags,
2741 ) -> bool;
2742}
2743extern "C" {
2744 pub fn igInputInt3(
2745 label: *const cty::c_char,
2746 v: *mut cty::c_int,
2747 flags: ImGuiInputTextFlags,
2748 ) -> bool;
2749}
2750extern "C" {
2751 pub fn igInputInt4(
2752 label: *const cty::c_char,
2753 v: *mut cty::c_int,
2754 flags: ImGuiInputTextFlags,
2755 ) -> bool;
2756}
2757extern "C" {
2758 pub fn igInputDouble(
2759 label: *const cty::c_char,
2760 v: *mut f64,
2761 step: f64,
2762 step_fast: f64,
2763 format: *const cty::c_char,
2764 flags: ImGuiInputTextFlags,
2765 ) -> bool;
2766}
2767extern "C" {
2768 pub fn igInputScalar(
2769 label: *const cty::c_char,
2770 data_type: ImGuiDataType,
2771 p_data: *mut cty::c_void,
2772 p_step: *const cty::c_void,
2773 p_step_fast: *const cty::c_void,
2774 format: *const cty::c_char,
2775 flags: ImGuiInputTextFlags,
2776 ) -> bool;
2777}
2778extern "C" {
2779 pub fn igInputScalarN(
2780 label: *const cty::c_char,
2781 data_type: ImGuiDataType,
2782 p_data: *mut cty::c_void,
2783 components: cty::c_int,
2784 p_step: *const cty::c_void,
2785 p_step_fast: *const cty::c_void,
2786 format: *const cty::c_char,
2787 flags: ImGuiInputTextFlags,
2788 ) -> bool;
2789}
2790extern "C" {
2791 pub fn igColorEdit3(
2792 label: *const cty::c_char,
2793 col: *mut f32,
2794 flags: ImGuiColorEditFlags,
2795 ) -> bool;
2796}
2797extern "C" {
2798 pub fn igColorEdit4(
2799 label: *const cty::c_char,
2800 col: *mut f32,
2801 flags: ImGuiColorEditFlags,
2802 ) -> bool;
2803}
2804extern "C" {
2805 pub fn igColorPicker3(
2806 label: *const cty::c_char,
2807 col: *mut f32,
2808 flags: ImGuiColorEditFlags,
2809 ) -> bool;
2810}
2811extern "C" {
2812 pub fn igColorPicker4(
2813 label: *const cty::c_char,
2814 col: *mut f32,
2815 flags: ImGuiColorEditFlags,
2816 ref_col: *const f32,
2817 ) -> bool;
2818}
2819extern "C" {
2820 pub fn igColorButton(
2821 desc_id: *const cty::c_char,
2822 col: ImVec4,
2823 flags: ImGuiColorEditFlags,
2824 size: ImVec2,
2825 ) -> bool;
2826}
2827extern "C" {
2828 pub fn igSetColorEditOptions(flags: ImGuiColorEditFlags);
2829}
2830extern "C" {
2831 pub fn igTreeNode_Str(label: *const cty::c_char) -> bool;
2832}
2833extern "C" {
2834 pub fn igTreeNode_StrStr(str_id: *const cty::c_char, fmt: *const cty::c_char, ...) -> bool;
2835}
2836extern "C" {
2837 pub fn igTreeNode_Ptr(ptr_id: *const cty::c_void, fmt: *const cty::c_char, ...) -> bool;
2838}
2839extern "C" {
2840 pub fn igTreeNodeEx_Str(label: *const cty::c_char, flags: ImGuiTreeNodeFlags) -> bool;
2841}
2842extern "C" {
2843 pub fn igTreeNodeEx_StrStr(
2844 str_id: *const cty::c_char,
2845 flags: ImGuiTreeNodeFlags,
2846 fmt: *const cty::c_char,
2847 ...
2848 ) -> bool;
2849}
2850extern "C" {
2851 pub fn igTreeNodeEx_Ptr(
2852 ptr_id: *const cty::c_void,
2853 flags: ImGuiTreeNodeFlags,
2854 fmt: *const cty::c_char,
2855 ...
2856 ) -> bool;
2857}
2858extern "C" {
2859 pub fn igTreePush_Str(str_id: *const cty::c_char);
2860}
2861extern "C" {
2862 pub fn igTreePush_Ptr(ptr_id: *const cty::c_void);
2863}
2864extern "C" {
2865 pub fn igTreePop();
2866}
2867extern "C" {
2868 pub fn igGetTreeNodeToLabelSpacing() -> f32;
2869}
2870extern "C" {
2871 pub fn igCollapsingHeader_TreeNodeFlags(
2872 label: *const cty::c_char,
2873 flags: ImGuiTreeNodeFlags,
2874 ) -> bool;
2875}
2876extern "C" {
2877 pub fn igCollapsingHeader_BoolPtr(
2878 label: *const cty::c_char,
2879 p_visible: *mut bool,
2880 flags: ImGuiTreeNodeFlags,
2881 ) -> bool;
2882}
2883extern "C" {
2884 pub fn igSetNextItemOpen(is_open: bool, cond: ImGuiCond);
2885}
2886extern "C" {
2887 pub fn igSelectable_Bool(
2888 label: *const cty::c_char,
2889 selected: bool,
2890 flags: ImGuiSelectableFlags,
2891 size: ImVec2,
2892 ) -> bool;
2893}
2894extern "C" {
2895 pub fn igSelectable_BoolPtr(
2896 label: *const cty::c_char,
2897 p_selected: *mut bool,
2898 flags: ImGuiSelectableFlags,
2899 size: ImVec2,
2900 ) -> bool;
2901}
2902extern "C" {
2903 pub fn igBeginListBox(label: *const cty::c_char, size: ImVec2) -> bool;
2904}
2905extern "C" {
2906 pub fn igEndListBox();
2907}
2908extern "C" {
2909 pub fn igListBox_Str_arr(
2910 label: *const cty::c_char,
2911 current_item: *mut cty::c_int,
2912 items: *const *const cty::c_char,
2913 items_count: cty::c_int,
2914 height_in_items: cty::c_int,
2915 ) -> bool;
2916}
2917extern "C" {
2918 pub fn igListBox_FnBoolPtr(
2919 label: *const cty::c_char,
2920 current_item: *mut cty::c_int,
2921 items_getter: ::core::option::Option<
2922 unsafe extern "C" fn(
2923 data: *mut cty::c_void,
2924 idx: cty::c_int,
2925 out_text: *mut *const cty::c_char,
2926 ) -> bool,
2927 >,
2928 data: *mut cty::c_void,
2929 items_count: cty::c_int,
2930 height_in_items: cty::c_int,
2931 ) -> bool;
2932}
2933extern "C" {
2934 pub fn igPlotLines_FloatPtr(
2935 label: *const cty::c_char,
2936 values: *const f32,
2937 values_count: cty::c_int,
2938 values_offset: cty::c_int,
2939 overlay_text: *const cty::c_char,
2940 scale_min: f32,
2941 scale_max: f32,
2942 graph_size: ImVec2,
2943 stride: cty::c_int,
2944 );
2945}
2946extern "C" {
2947 pub fn igPlotLines_FnFloatPtr(
2948 label: *const cty::c_char,
2949 values_getter: ::core::option::Option<
2950 unsafe extern "C" fn(data: *mut cty::c_void, idx: cty::c_int) -> f32,
2951 >,
2952 data: *mut cty::c_void,
2953 values_count: cty::c_int,
2954 values_offset: cty::c_int,
2955 overlay_text: *const cty::c_char,
2956 scale_min: f32,
2957 scale_max: f32,
2958 graph_size: ImVec2,
2959 );
2960}
2961extern "C" {
2962 pub fn igPlotHistogram_FloatPtr(
2963 label: *const cty::c_char,
2964 values: *const f32,
2965 values_count: cty::c_int,
2966 values_offset: cty::c_int,
2967 overlay_text: *const cty::c_char,
2968 scale_min: f32,
2969 scale_max: f32,
2970 graph_size: ImVec2,
2971 stride: cty::c_int,
2972 );
2973}
2974extern "C" {
2975 pub fn igPlotHistogram_FnFloatPtr(
2976 label: *const cty::c_char,
2977 values_getter: ::core::option::Option<
2978 unsafe extern "C" fn(data: *mut cty::c_void, idx: cty::c_int) -> f32,
2979 >,
2980 data: *mut cty::c_void,
2981 values_count: cty::c_int,
2982 values_offset: cty::c_int,
2983 overlay_text: *const cty::c_char,
2984 scale_min: f32,
2985 scale_max: f32,
2986 graph_size: ImVec2,
2987 );
2988}
2989extern "C" {
2990 pub fn igValue_Bool(prefix: *const cty::c_char, b: bool);
2991}
2992extern "C" {
2993 pub fn igValue_Int(prefix: *const cty::c_char, v: cty::c_int);
2994}
2995extern "C" {
2996 pub fn igValue_Uint(prefix: *const cty::c_char, v: cty::c_uint);
2997}
2998extern "C" {
2999 pub fn igValue_Float(prefix: *const cty::c_char, v: f32, float_format: *const cty::c_char);
3000}
3001extern "C" {
3002 pub fn igBeginMenuBar() -> bool;
3003}
3004extern "C" {
3005 pub fn igEndMenuBar();
3006}
3007extern "C" {
3008 pub fn igBeginMainMenuBar() -> bool;
3009}
3010extern "C" {
3011 pub fn igEndMainMenuBar();
3012}
3013extern "C" {
3014 pub fn igBeginMenu(label: *const cty::c_char, enabled: bool) -> bool;
3015}
3016extern "C" {
3017 pub fn igEndMenu();
3018}
3019extern "C" {
3020 pub fn igMenuItem_Bool(
3021 label: *const cty::c_char,
3022 shortcut: *const cty::c_char,
3023 selected: bool,
3024 enabled: bool,
3025 ) -> bool;
3026}
3027extern "C" {
3028 pub fn igMenuItem_BoolPtr(
3029 label: *const cty::c_char,
3030 shortcut: *const cty::c_char,
3031 p_selected: *mut bool,
3032 enabled: bool,
3033 ) -> bool;
3034}
3035extern "C" {
3036 pub fn igBeginTooltip();
3037}
3038extern "C" {
3039 pub fn igEndTooltip();
3040}
3041extern "C" {
3042 pub fn igSetTooltip(fmt: *const cty::c_char, ...);
3043}
3044extern "C" {
3045 pub fn igBeginPopup(str_id: *const cty::c_char, flags: ImGuiWindowFlags) -> bool;
3046}
3047extern "C" {
3048 pub fn igBeginPopupModal(
3049 name: *const cty::c_char,
3050 p_open: *mut bool,
3051 flags: ImGuiWindowFlags,
3052 ) -> bool;
3053}
3054extern "C" {
3055 pub fn igEndPopup();
3056}
3057extern "C" {
3058 pub fn igOpenPopup_Str(str_id: *const cty::c_char, popup_flags: ImGuiPopupFlags);
3059}
3060extern "C" {
3061 pub fn igOpenPopup_ID(id: ImGuiID, popup_flags: ImGuiPopupFlags);
3062}
3063extern "C" {
3064 pub fn igOpenPopupOnItemClick(str_id: *const cty::c_char, popup_flags: ImGuiPopupFlags);
3065}
3066extern "C" {
3067 pub fn igCloseCurrentPopup();
3068}
3069extern "C" {
3070 pub fn igBeginPopupContextItem(
3071 str_id: *const cty::c_char,
3072 popup_flags: ImGuiPopupFlags,
3073 ) -> bool;
3074}
3075extern "C" {
3076 pub fn igBeginPopupContextWindow(
3077 str_id: *const cty::c_char,
3078 popup_flags: ImGuiPopupFlags,
3079 ) -> bool;
3080}
3081extern "C" {
3082 pub fn igBeginPopupContextVoid(
3083 str_id: *const cty::c_char,
3084 popup_flags: ImGuiPopupFlags,
3085 ) -> bool;
3086}
3087extern "C" {
3088 pub fn igIsPopupOpen(str_id: *const cty::c_char, flags: ImGuiPopupFlags) -> bool;
3089}
3090extern "C" {
3091 pub fn igBeginTable(
3092 str_id: *const cty::c_char,
3093 column: cty::c_int,
3094 flags: ImGuiTableFlags,
3095 outer_size: ImVec2,
3096 inner_width: f32,
3097 ) -> bool;
3098}
3099extern "C" {
3100 pub fn igEndTable();
3101}
3102extern "C" {
3103 pub fn igTableNextRow(row_flags: ImGuiTableRowFlags, min_row_height: f32);
3104}
3105extern "C" {
3106 pub fn igTableNextColumn() -> bool;
3107}
3108extern "C" {
3109 pub fn igTableSetColumnIndex(column_n: cty::c_int) -> bool;
3110}
3111extern "C" {
3112 pub fn igTableSetupColumn(
3113 label: *const cty::c_char,
3114 flags: ImGuiTableColumnFlags,
3115 init_width_or_weight: f32,
3116 user_id: ImGuiID,
3117 );
3118}
3119extern "C" {
3120 pub fn igTableSetupScrollFreeze(cols: cty::c_int, rows: cty::c_int);
3121}
3122extern "C" {
3123 pub fn igTableHeadersRow();
3124}
3125extern "C" {
3126 pub fn igTableHeader(label: *const cty::c_char);
3127}
3128extern "C" {
3129 pub fn igTableGetSortSpecs() -> *mut ImGuiTableSortSpecs;
3130}
3131extern "C" {
3132 pub fn igTableGetColumnCount() -> cty::c_int;
3133}
3134extern "C" {
3135 pub fn igTableGetColumnIndex() -> cty::c_int;
3136}
3137extern "C" {
3138 pub fn igTableGetRowIndex() -> cty::c_int;
3139}
3140extern "C" {
3141 pub fn igTableGetColumnName(column_n: cty::c_int) -> *const cty::c_char;
3142}
3143extern "C" {
3144 pub fn igTableGetColumnFlags(column_n: cty::c_int) -> ImGuiTableColumnFlags;
3145}
3146extern "C" {
3147 pub fn igTableSetColumnEnabled(column_n: cty::c_int, v: bool);
3148}
3149extern "C" {
3150 pub fn igTableSetBgColor(target: ImGuiTableBgTarget, color: ImU32, column_n: cty::c_int);
3151}
3152extern "C" {
3153 pub fn igColumns(count: cty::c_int, id: *const cty::c_char, border: bool);
3154}
3155extern "C" {
3156 pub fn igNextColumn();
3157}
3158extern "C" {
3159 pub fn igGetColumnIndex() -> cty::c_int;
3160}
3161extern "C" {
3162 pub fn igGetColumnWidth(column_index: cty::c_int) -> f32;
3163}
3164extern "C" {
3165 pub fn igSetColumnWidth(column_index: cty::c_int, width: f32);
3166}
3167extern "C" {
3168 pub fn igGetColumnOffset(column_index: cty::c_int) -> f32;
3169}
3170extern "C" {
3171 pub fn igSetColumnOffset(column_index: cty::c_int, offset_x: f32);
3172}
3173extern "C" {
3174 pub fn igGetColumnsCount() -> cty::c_int;
3175}
3176extern "C" {
3177 pub fn igBeginTabBar(str_id: *const cty::c_char, flags: ImGuiTabBarFlags) -> bool;
3178}
3179extern "C" {
3180 pub fn igEndTabBar();
3181}
3182extern "C" {
3183 pub fn igBeginTabItem(
3184 label: *const cty::c_char,
3185 p_open: *mut bool,
3186 flags: ImGuiTabItemFlags,
3187 ) -> bool;
3188}
3189extern "C" {
3190 pub fn igEndTabItem();
3191}
3192extern "C" {
3193 pub fn igTabItemButton(label: *const cty::c_char, flags: ImGuiTabItemFlags) -> bool;
3194}
3195extern "C" {
3196 pub fn igSetTabItemClosed(tab_or_docked_window_label: *const cty::c_char);
3197}
3198extern "C" {
3199 pub fn igLogToTTY(auto_open_depth: cty::c_int);
3200}
3201extern "C" {
3202 pub fn igLogToFile(auto_open_depth: cty::c_int, filename: *const cty::c_char);
3203}
3204extern "C" {
3205 pub fn igLogToClipboard(auto_open_depth: cty::c_int);
3206}
3207extern "C" {
3208 pub fn igLogFinish();
3209}
3210extern "C" {
3211 pub fn igLogButtons();
3212}
3213extern "C" {
3214 pub fn igBeginDragDropSource(flags: ImGuiDragDropFlags) -> bool;
3215}
3216extern "C" {
3217 pub fn igSetDragDropPayload(
3218 type_: *const cty::c_char,
3219 data: *const cty::c_void,
3220 sz: usize,
3221 cond: ImGuiCond,
3222 ) -> bool;
3223}
3224extern "C" {
3225 pub fn igEndDragDropSource();
3226}
3227extern "C" {
3228 pub fn igBeginDragDropTarget() -> bool;
3229}
3230extern "C" {
3231 pub fn igAcceptDragDropPayload(
3232 type_: *const cty::c_char,
3233 flags: ImGuiDragDropFlags,
3234 ) -> *const ImGuiPayload;
3235}
3236extern "C" {
3237 pub fn igEndDragDropTarget();
3238}
3239extern "C" {
3240 pub fn igGetDragDropPayload() -> *const ImGuiPayload;
3241}
3242extern "C" {
3243 pub fn igBeginDisabled(disabled: bool);
3244}
3245extern "C" {
3246 pub fn igEndDisabled();
3247}
3248extern "C" {
3249 pub fn igPushClipRect(
3250 clip_rect_min: ImVec2,
3251 clip_rect_max: ImVec2,
3252 intersect_with_current_clip_rect: bool,
3253 );
3254}
3255extern "C" {
3256 pub fn igPopClipRect();
3257}
3258extern "C" {
3259 pub fn igSetItemDefaultFocus();
3260}
3261extern "C" {
3262 pub fn igSetKeyboardFocusHere(offset: cty::c_int);
3263}
3264extern "C" {
3265 pub fn igIsItemHovered(flags: ImGuiHoveredFlags) -> bool;
3266}
3267extern "C" {
3268 pub fn igIsItemActive() -> bool;
3269}
3270extern "C" {
3271 pub fn igIsItemFocused() -> bool;
3272}
3273extern "C" {
3274 pub fn igIsItemClicked(mouse_button: ImGuiMouseButton) -> bool;
3275}
3276extern "C" {
3277 pub fn igIsItemVisible() -> bool;
3278}
3279extern "C" {
3280 pub fn igIsItemEdited() -> bool;
3281}
3282extern "C" {
3283 pub fn igIsItemActivated() -> bool;
3284}
3285extern "C" {
3286 pub fn igIsItemDeactivated() -> bool;
3287}
3288extern "C" {
3289 pub fn igIsItemDeactivatedAfterEdit() -> bool;
3290}
3291extern "C" {
3292 pub fn igIsItemToggledOpen() -> bool;
3293}
3294extern "C" {
3295 pub fn igIsAnyItemHovered() -> bool;
3296}
3297extern "C" {
3298 pub fn igIsAnyItemActive() -> bool;
3299}
3300extern "C" {
3301 pub fn igIsAnyItemFocused() -> bool;
3302}
3303extern "C" {
3304 pub fn igGetItemID() -> ImGuiID;
3305}
3306extern "C" {
3307 pub fn igGetItemRectMin(pOut: *mut ImVec2);
3308}
3309extern "C" {
3310 pub fn igGetItemRectMax(pOut: *mut ImVec2);
3311}
3312extern "C" {
3313 pub fn igGetItemRectSize(pOut: *mut ImVec2);
3314}
3315extern "C" {
3316 pub fn igSetItemAllowOverlap();
3317}
3318extern "C" {
3319 pub fn igGetMainViewport() -> *mut ImGuiViewport;
3320}
3321extern "C" {
3322 pub fn igGetBackgroundDrawList() -> *mut ImDrawList;
3323}
3324extern "C" {
3325 pub fn igGetForegroundDrawList() -> *mut ImDrawList;
3326}
3327extern "C" {
3328 pub fn igIsRectVisible_Nil(size: ImVec2) -> bool;
3329}
3330extern "C" {
3331 pub fn igIsRectVisible_Vec2(rect_min: ImVec2, rect_max: ImVec2) -> bool;
3332}
3333extern "C" {
3334 pub fn igGetTime() -> f64;
3335}
3336extern "C" {
3337 pub fn igGetFrameCount() -> cty::c_int;
3338}
3339extern "C" {
3340 pub fn igGetDrawListSharedData() -> *mut ImDrawListSharedData;
3341}
3342extern "C" {
3343 pub fn igGetStyleColorName(idx: ImGuiCol) -> *const cty::c_char;
3344}
3345extern "C" {
3346 pub fn igSetStateStorage(storage: *mut ImGuiStorage);
3347}
3348extern "C" {
3349 pub fn igGetStateStorage() -> *mut ImGuiStorage;
3350}
3351extern "C" {
3352 pub fn igBeginChildFrame(id: ImGuiID, size: ImVec2, flags: ImGuiWindowFlags) -> bool;
3353}
3354extern "C" {
3355 pub fn igEndChildFrame();
3356}
3357extern "C" {
3358 pub fn igCalcTextSize(
3359 pOut: *mut ImVec2,
3360 text: *const cty::c_char,
3361 text_end: *const cty::c_char,
3362 hide_text_after_double_hash: bool,
3363 wrap_width: f32,
3364 );
3365}
3366extern "C" {
3367 pub fn igColorConvertU32ToFloat4(pOut: *mut ImVec4, in_: ImU32);
3368}
3369extern "C" {
3370 pub fn igColorConvertFloat4ToU32(in_: ImVec4) -> ImU32;
3371}
3372extern "C" {
3373 pub fn igColorConvertRGBtoHSV(
3374 r: f32,
3375 g: f32,
3376 b: f32,
3377 out_h: *mut f32,
3378 out_s: *mut f32,
3379 out_v: *mut f32,
3380 );
3381}
3382extern "C" {
3383 pub fn igColorConvertHSVtoRGB(
3384 h: f32,
3385 s: f32,
3386 v: f32,
3387 out_r: *mut f32,
3388 out_g: *mut f32,
3389 out_b: *mut f32,
3390 );
3391}
3392extern "C" {
3393 pub fn igIsKeyDown(key: ImGuiKey) -> bool;
3394}
3395extern "C" {
3396 pub fn igIsKeyPressed(key: ImGuiKey, repeat: bool) -> bool;
3397}
3398extern "C" {
3399 pub fn igIsKeyReleased(key: ImGuiKey) -> bool;
3400}
3401extern "C" {
3402 pub fn igGetKeyPressedAmount(key: ImGuiKey, repeat_delay: f32, rate: f32) -> cty::c_int;
3403}
3404extern "C" {
3405 pub fn igGetKeyName(key: ImGuiKey) -> *const cty::c_char;
3406}
3407extern "C" {
3408 pub fn igSetNextFrameWantCaptureKeyboard(want_capture_keyboard: bool);
3409}
3410extern "C" {
3411 pub fn igIsMouseDown(button: ImGuiMouseButton) -> bool;
3412}
3413extern "C" {
3414 pub fn igIsMouseClicked(button: ImGuiMouseButton, repeat: bool) -> bool;
3415}
3416extern "C" {
3417 pub fn igIsMouseReleased(button: ImGuiMouseButton) -> bool;
3418}
3419extern "C" {
3420 pub fn igIsMouseDoubleClicked(button: ImGuiMouseButton) -> bool;
3421}
3422extern "C" {
3423 pub fn igGetMouseClickedCount(button: ImGuiMouseButton) -> cty::c_int;
3424}
3425extern "C" {
3426 pub fn igIsMouseHoveringRect(r_min: ImVec2, r_max: ImVec2, clip: bool) -> bool;
3427}
3428extern "C" {
3429 pub fn igIsMousePosValid(mouse_pos: *const ImVec2) -> bool;
3430}
3431extern "C" {
3432 pub fn igIsAnyMouseDown() -> bool;
3433}
3434extern "C" {
3435 pub fn igGetMousePos(pOut: *mut ImVec2);
3436}
3437extern "C" {
3438 pub fn igGetMousePosOnOpeningCurrentPopup(pOut: *mut ImVec2);
3439}
3440extern "C" {
3441 pub fn igIsMouseDragging(button: ImGuiMouseButton, lock_threshold: f32) -> bool;
3442}
3443extern "C" {
3444 pub fn igGetMouseDragDelta(pOut: *mut ImVec2, button: ImGuiMouseButton, lock_threshold: f32);
3445}
3446extern "C" {
3447 pub fn igResetMouseDragDelta(button: ImGuiMouseButton);
3448}
3449extern "C" {
3450 pub fn igGetMouseCursor() -> ImGuiMouseCursor;
3451}
3452extern "C" {
3453 pub fn igSetMouseCursor(cursor_type: ImGuiMouseCursor);
3454}
3455extern "C" {
3456 pub fn igSetNextFrameWantCaptureMouse(want_capture_mouse: bool);
3457}
3458extern "C" {
3459 pub fn igGetClipboardText() -> *const cty::c_char;
3460}
3461extern "C" {
3462 pub fn igSetClipboardText(text: *const cty::c_char);
3463}
3464extern "C" {
3465 pub fn igLoadIniSettingsFromDisk(ini_filename: *const cty::c_char);
3466}
3467extern "C" {
3468 pub fn igLoadIniSettingsFromMemory(ini_data: *const cty::c_char, ini_size: usize);
3469}
3470extern "C" {
3471 pub fn igSaveIniSettingsToDisk(ini_filename: *const cty::c_char);
3472}
3473extern "C" {
3474 pub fn igSaveIniSettingsToMemory(out_ini_size: *mut usize) -> *const cty::c_char;
3475}
3476extern "C" {
3477 pub fn igDebugTextEncoding(text: *const cty::c_char);
3478}
3479extern "C" {
3480 pub fn igDebugCheckVersionAndDataLayout(
3481 version_str: *const cty::c_char,
3482 sz_io: usize,
3483 sz_style: usize,
3484 sz_vec2: usize,
3485 sz_vec4: usize,
3486 sz_drawvert: usize,
3487 sz_drawidx: usize,
3488 ) -> bool;
3489}
3490extern "C" {
3491 pub fn igSetAllocatorFunctions(
3492 alloc_func: ImGuiMemAllocFunc,
3493 free_func: ImGuiMemFreeFunc,
3494 user_data: *mut cty::c_void,
3495 );
3496}
3497extern "C" {
3498 pub fn igGetAllocatorFunctions(
3499 p_alloc_func: *mut ImGuiMemAllocFunc,
3500 p_free_func: *mut ImGuiMemFreeFunc,
3501 p_user_data: *mut *mut cty::c_void,
3502 );
3503}
3504extern "C" {
3505 pub fn igMemAlloc(size: usize) -> *mut cty::c_void;
3506}
3507extern "C" {
3508 pub fn igMemFree(ptr: *mut cty::c_void);
3509}
3510extern "C" {
3511 pub fn ImGuiStyle_ImGuiStyle() -> *mut ImGuiStyle;
3512}
3513extern "C" {
3514 pub fn ImGuiStyle_destroy(self_: *mut ImGuiStyle);
3515}
3516extern "C" {
3517 pub fn ImGuiStyle_ScaleAllSizes(self_: *mut ImGuiStyle, scale_factor: f32);
3518}
3519extern "C" {
3520 pub fn ImGuiIO_AddKeyEvent(self_: *mut ImGuiIO, key: ImGuiKey, down: bool);
3521}
3522extern "C" {
3523 pub fn ImGuiIO_AddKeyAnalogEvent(self_: *mut ImGuiIO, key: ImGuiKey, down: bool, v: f32);
3524}
3525extern "C" {
3526 pub fn ImGuiIO_AddMousePosEvent(self_: *mut ImGuiIO, x: f32, y: f32);
3527}
3528extern "C" {
3529 pub fn ImGuiIO_AddMouseButtonEvent(self_: *mut ImGuiIO, button: cty::c_int, down: bool);
3530}
3531extern "C" {
3532 pub fn ImGuiIO_AddMouseWheelEvent(self_: *mut ImGuiIO, wh_x: f32, wh_y: f32);
3533}
3534extern "C" {
3535 pub fn ImGuiIO_AddFocusEvent(self_: *mut ImGuiIO, focused: bool);
3536}
3537extern "C" {
3538 pub fn ImGuiIO_AddInputCharacter(self_: *mut ImGuiIO, c: cty::c_uint);
3539}
3540extern "C" {
3541 pub fn ImGuiIO_AddInputCharacterUTF16(self_: *mut ImGuiIO, c: ImWchar16);
3542}
3543extern "C" {
3544 pub fn ImGuiIO_AddInputCharactersUTF8(self_: *mut ImGuiIO, str_: *const cty::c_char);
3545}
3546extern "C" {
3547 pub fn ImGuiIO_SetKeyEventNativeData(
3548 self_: *mut ImGuiIO,
3549 key: ImGuiKey,
3550 native_keycode: cty::c_int,
3551 native_scancode: cty::c_int,
3552 native_legacy_index: cty::c_int,
3553 );
3554}
3555extern "C" {
3556 pub fn ImGuiIO_SetAppAcceptingEvents(self_: *mut ImGuiIO, accepting_events: bool);
3557}
3558extern "C" {
3559 pub fn ImGuiIO_ClearInputCharacters(self_: *mut ImGuiIO);
3560}
3561extern "C" {
3562 pub fn ImGuiIO_ClearInputKeys(self_: *mut ImGuiIO);
3563}
3564extern "C" {
3565 pub fn ImGuiIO_ImGuiIO() -> *mut ImGuiIO;
3566}
3567extern "C" {
3568 pub fn ImGuiIO_destroy(self_: *mut ImGuiIO);
3569}
3570extern "C" {
3571 pub fn ImGuiInputTextCallbackData_ImGuiInputTextCallbackData() -> *mut ImGuiInputTextCallbackData;
3572}
3573extern "C" {
3574 pub fn ImGuiInputTextCallbackData_destroy(self_: *mut ImGuiInputTextCallbackData);
3575}
3576extern "C" {
3577 pub fn ImGuiInputTextCallbackData_DeleteChars(
3578 self_: *mut ImGuiInputTextCallbackData,
3579 pos: cty::c_int,
3580 bytes_count: cty::c_int,
3581 );
3582}
3583extern "C" {
3584 pub fn ImGuiInputTextCallbackData_InsertChars(
3585 self_: *mut ImGuiInputTextCallbackData,
3586 pos: cty::c_int,
3587 text: *const cty::c_char,
3588 text_end: *const cty::c_char,
3589 );
3590}
3591extern "C" {
3592 pub fn ImGuiInputTextCallbackData_SelectAll(self_: *mut ImGuiInputTextCallbackData);
3593}
3594extern "C" {
3595 pub fn ImGuiInputTextCallbackData_ClearSelection(self_: *mut ImGuiInputTextCallbackData);
3596}
3597extern "C" {
3598 pub fn ImGuiInputTextCallbackData_HasSelection(self_: *mut ImGuiInputTextCallbackData) -> bool;
3599}
3600extern "C" {
3601 pub fn ImGuiPayload_ImGuiPayload() -> *mut ImGuiPayload;
3602}
3603extern "C" {
3604 pub fn ImGuiPayload_destroy(self_: *mut ImGuiPayload);
3605}
3606extern "C" {
3607 pub fn ImGuiPayload_Clear(self_: *mut ImGuiPayload);
3608}
3609extern "C" {
3610 pub fn ImGuiPayload_IsDataType(self_: *mut ImGuiPayload, type_: *const cty::c_char) -> bool;
3611}
3612extern "C" {
3613 pub fn ImGuiPayload_IsPreview(self_: *mut ImGuiPayload) -> bool;
3614}
3615extern "C" {
3616 pub fn ImGuiPayload_IsDelivery(self_: *mut ImGuiPayload) -> bool;
3617}
3618extern "C" {
3619 pub fn ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs() -> *mut ImGuiTableColumnSortSpecs;
3620}
3621extern "C" {
3622 pub fn ImGuiTableColumnSortSpecs_destroy(self_: *mut ImGuiTableColumnSortSpecs);
3623}
3624extern "C" {
3625 pub fn ImGuiTableSortSpecs_ImGuiTableSortSpecs() -> *mut ImGuiTableSortSpecs;
3626}
3627extern "C" {
3628 pub fn ImGuiTableSortSpecs_destroy(self_: *mut ImGuiTableSortSpecs);
3629}
3630extern "C" {
3631 pub fn ImGuiOnceUponAFrame_ImGuiOnceUponAFrame() -> *mut ImGuiOnceUponAFrame;
3632}
3633extern "C" {
3634 pub fn ImGuiOnceUponAFrame_destroy(self_: *mut ImGuiOnceUponAFrame);
3635}
3636extern "C" {
3637 pub fn ImGuiTextFilter_ImGuiTextFilter(
3638 default_filter: *const cty::c_char,
3639 ) -> *mut ImGuiTextFilter;
3640}
3641extern "C" {
3642 pub fn ImGuiTextFilter_destroy(self_: *mut ImGuiTextFilter);
3643}
3644extern "C" {
3645 pub fn ImGuiTextFilter_Draw(
3646 self_: *mut ImGuiTextFilter,
3647 label: *const cty::c_char,
3648 width: f32,
3649 ) -> bool;
3650}
3651extern "C" {
3652 pub fn ImGuiTextFilter_PassFilter(
3653 self_: *mut ImGuiTextFilter,
3654 text: *const cty::c_char,
3655 text_end: *const cty::c_char,
3656 ) -> bool;
3657}
3658extern "C" {
3659 pub fn ImGuiTextFilter_Build(self_: *mut ImGuiTextFilter);
3660}
3661extern "C" {
3662 pub fn ImGuiTextFilter_Clear(self_: *mut ImGuiTextFilter);
3663}
3664extern "C" {
3665 pub fn ImGuiTextFilter_IsActive(self_: *mut ImGuiTextFilter) -> bool;
3666}
3667extern "C" {
3668 pub fn ImGuiTextRange_ImGuiTextRange_Nil() -> *mut ImGuiTextRange;
3669}
3670extern "C" {
3671 pub fn ImGuiTextRange_destroy(self_: *mut ImGuiTextRange);
3672}
3673extern "C" {
3674 pub fn ImGuiTextRange_ImGuiTextRange_Str(
3675 _b: *const cty::c_char,
3676 _e: *const cty::c_char,
3677 ) -> *mut ImGuiTextRange;
3678}
3679extern "C" {
3680 pub fn ImGuiTextRange_empty(self_: *mut ImGuiTextRange) -> bool;
3681}
3682extern "C" {
3683 pub fn ImGuiTextRange_split(
3684 self_: *mut ImGuiTextRange,
3685 separator: cty::c_char,
3686 out: *mut ImVector_ImGuiTextRange,
3687 );
3688}
3689extern "C" {
3690 pub fn ImGuiTextBuffer_ImGuiTextBuffer() -> *mut ImGuiTextBuffer;
3691}
3692extern "C" {
3693 pub fn ImGuiTextBuffer_destroy(self_: *mut ImGuiTextBuffer);
3694}
3695extern "C" {
3696 pub fn ImGuiTextBuffer_begin(self_: *mut ImGuiTextBuffer) -> *const cty::c_char;
3697}
3698extern "C" {
3699 pub fn ImGuiTextBuffer_end(self_: *mut ImGuiTextBuffer) -> *const cty::c_char;
3700}
3701extern "C" {
3702 pub fn ImGuiTextBuffer_size(self_: *mut ImGuiTextBuffer) -> cty::c_int;
3703}
3704extern "C" {
3705 pub fn ImGuiTextBuffer_empty(self_: *mut ImGuiTextBuffer) -> bool;
3706}
3707extern "C" {
3708 pub fn ImGuiTextBuffer_clear(self_: *mut ImGuiTextBuffer);
3709}
3710extern "C" {
3711 pub fn ImGuiTextBuffer_reserve(self_: *mut ImGuiTextBuffer, capacity: cty::c_int);
3712}
3713extern "C" {
3714 pub fn ImGuiTextBuffer_c_str(self_: *mut ImGuiTextBuffer) -> *const cty::c_char;
3715}
3716extern "C" {
3717 pub fn ImGuiTextBuffer_append(
3718 self_: *mut ImGuiTextBuffer,
3719 str_: *const cty::c_char,
3720 str_end: *const cty::c_char,
3721 );
3722}
3723extern "C" {
3724 pub fn ImGuiStoragePair_ImGuiStoragePair_Int(
3725 _key: ImGuiID,
3726 _val_i: cty::c_int,
3727 ) -> *mut ImGuiStoragePair;
3728}
3729extern "C" {
3730 pub fn ImGuiStoragePair_destroy(self_: *mut ImGuiStoragePair);
3731}
3732extern "C" {
3733 pub fn ImGuiStoragePair_ImGuiStoragePair_Float(
3734 _key: ImGuiID,
3735 _val_f: f32,
3736 ) -> *mut ImGuiStoragePair;
3737}
3738extern "C" {
3739 pub fn ImGuiStoragePair_ImGuiStoragePair_Ptr(
3740 _key: ImGuiID,
3741 _val_p: *mut cty::c_void,
3742 ) -> *mut ImGuiStoragePair;
3743}
3744extern "C" {
3745 pub fn ImGuiStorage_Clear(self_: *mut ImGuiStorage);
3746}
3747extern "C" {
3748 pub fn ImGuiStorage_GetInt(
3749 self_: *mut ImGuiStorage,
3750 key: ImGuiID,
3751 default_val: cty::c_int,
3752 ) -> cty::c_int;
3753}
3754extern "C" {
3755 pub fn ImGuiStorage_SetInt(self_: *mut ImGuiStorage, key: ImGuiID, val: cty::c_int);
3756}
3757extern "C" {
3758 pub fn ImGuiStorage_GetBool(self_: *mut ImGuiStorage, key: ImGuiID, default_val: bool) -> bool;
3759}
3760extern "C" {
3761 pub fn ImGuiStorage_SetBool(self_: *mut ImGuiStorage, key: ImGuiID, val: bool);
3762}
3763extern "C" {
3764 pub fn ImGuiStorage_GetFloat(self_: *mut ImGuiStorage, key: ImGuiID, default_val: f32) -> f32;
3765}
3766extern "C" {
3767 pub fn ImGuiStorage_SetFloat(self_: *mut ImGuiStorage, key: ImGuiID, val: f32);
3768}
3769extern "C" {
3770 pub fn ImGuiStorage_GetVoidPtr(self_: *mut ImGuiStorage, key: ImGuiID) -> *mut cty::c_void;
3771}
3772extern "C" {
3773 pub fn ImGuiStorage_SetVoidPtr(self_: *mut ImGuiStorage, key: ImGuiID, val: *mut cty::c_void);
3774}
3775extern "C" {
3776 pub fn ImGuiStorage_GetIntRef(
3777 self_: *mut ImGuiStorage,
3778 key: ImGuiID,
3779 default_val: cty::c_int,
3780 ) -> *mut cty::c_int;
3781}
3782extern "C" {
3783 pub fn ImGuiStorage_GetBoolRef(
3784 self_: *mut ImGuiStorage,
3785 key: ImGuiID,
3786 default_val: bool,
3787 ) -> *mut bool;
3788}
3789extern "C" {
3790 pub fn ImGuiStorage_GetFloatRef(
3791 self_: *mut ImGuiStorage,
3792 key: ImGuiID,
3793 default_val: f32,
3794 ) -> *mut f32;
3795}
3796extern "C" {
3797 pub fn ImGuiStorage_GetVoidPtrRef(
3798 self_: *mut ImGuiStorage,
3799 key: ImGuiID,
3800 default_val: *mut cty::c_void,
3801 ) -> *mut *mut cty::c_void;
3802}
3803extern "C" {
3804 pub fn ImGuiStorage_SetAllInt(self_: *mut ImGuiStorage, val: cty::c_int);
3805}
3806extern "C" {
3807 pub fn ImGuiStorage_BuildSortByKey(self_: *mut ImGuiStorage);
3808}
3809extern "C" {
3810 pub fn ImGuiListClipper_ImGuiListClipper() -> *mut ImGuiListClipper;
3811}
3812extern "C" {
3813 pub fn ImGuiListClipper_destroy(self_: *mut ImGuiListClipper);
3814}
3815extern "C" {
3816 pub fn ImGuiListClipper_Begin(
3817 self_: *mut ImGuiListClipper,
3818 items_count: cty::c_int,
3819 items_height: f32,
3820 );
3821}
3822extern "C" {
3823 pub fn ImGuiListClipper_End(self_: *mut ImGuiListClipper);
3824}
3825extern "C" {
3826 pub fn ImGuiListClipper_Step(self_: *mut ImGuiListClipper) -> bool;
3827}
3828extern "C" {
3829 pub fn ImGuiListClipper_ForceDisplayRangeByIndices(
3830 self_: *mut ImGuiListClipper,
3831 item_min: cty::c_int,
3832 item_max: cty::c_int,
3833 );
3834}
3835extern "C" {
3836 pub fn ImColor_ImColor_Nil() -> *mut ImColor;
3837}
3838extern "C" {
3839 pub fn ImColor_destroy(self_: *mut ImColor);
3840}
3841extern "C" {
3842 pub fn ImColor_ImColor_Float(r: f32, g: f32, b: f32, a: f32) -> *mut ImColor;
3843}
3844extern "C" {
3845 pub fn ImColor_ImColor_Vec4(col: ImVec4) -> *mut ImColor;
3846}
3847extern "C" {
3848 pub fn ImColor_ImColor_Int(
3849 r: cty::c_int,
3850 g: cty::c_int,
3851 b: cty::c_int,
3852 a: cty::c_int,
3853 ) -> *mut ImColor;
3854}
3855extern "C" {
3856 pub fn ImColor_ImColor_U32(rgba: ImU32) -> *mut ImColor;
3857}
3858extern "C" {
3859 pub fn ImColor_SetHSV(self_: *mut ImColor, h: f32, s: f32, v: f32, a: f32);
3860}
3861extern "C" {
3862 pub fn ImColor_HSV(pOut: *mut ImColor, h: f32, s: f32, v: f32, a: f32);
3863}
3864extern "C" {
3865 pub fn ImDrawCmd_ImDrawCmd() -> *mut ImDrawCmd;
3866}
3867extern "C" {
3868 pub fn ImDrawCmd_destroy(self_: *mut ImDrawCmd);
3869}
3870extern "C" {
3871 pub fn ImDrawCmd_GetTexID(self_: *mut ImDrawCmd) -> ImTextureID;
3872}
3873extern "C" {
3874 pub fn ImDrawListSplitter_ImDrawListSplitter() -> *mut ImDrawListSplitter;
3875}
3876extern "C" {
3877 pub fn ImDrawListSplitter_destroy(self_: *mut ImDrawListSplitter);
3878}
3879extern "C" {
3880 pub fn ImDrawListSplitter_Clear(self_: *mut ImDrawListSplitter);
3881}
3882extern "C" {
3883 pub fn ImDrawListSplitter_ClearFreeMemory(self_: *mut ImDrawListSplitter);
3884}
3885extern "C" {
3886 pub fn ImDrawListSplitter_Split(
3887 self_: *mut ImDrawListSplitter,
3888 draw_list: *mut ImDrawList,
3889 count: cty::c_int,
3890 );
3891}
3892extern "C" {
3893 pub fn ImDrawListSplitter_Merge(self_: *mut ImDrawListSplitter, draw_list: *mut ImDrawList);
3894}
3895extern "C" {
3896 pub fn ImDrawListSplitter_SetCurrentChannel(
3897 self_: *mut ImDrawListSplitter,
3898 draw_list: *mut ImDrawList,
3899 channel_idx: cty::c_int,
3900 );
3901}
3902extern "C" {
3903 pub fn ImDrawList_ImDrawList(shared_data: *mut ImDrawListSharedData) -> *mut ImDrawList;
3904}
3905extern "C" {
3906 pub fn ImDrawList_destroy(self_: *mut ImDrawList);
3907}
3908extern "C" {
3909 pub fn ImDrawList_PushClipRect(
3910 self_: *mut ImDrawList,
3911 clip_rect_min: ImVec2,
3912 clip_rect_max: ImVec2,
3913 intersect_with_current_clip_rect: bool,
3914 );
3915}
3916extern "C" {
3917 pub fn ImDrawList_PushClipRectFullScreen(self_: *mut ImDrawList);
3918}
3919extern "C" {
3920 pub fn ImDrawList_PopClipRect(self_: *mut ImDrawList);
3921}
3922extern "C" {
3923 pub fn ImDrawList_PushTextureID(self_: *mut ImDrawList, texture_id: ImTextureID);
3924}
3925extern "C" {
3926 pub fn ImDrawList_PopTextureID(self_: *mut ImDrawList);
3927}
3928extern "C" {
3929 pub fn ImDrawList_GetClipRectMin(pOut: *mut ImVec2, self_: *mut ImDrawList);
3930}
3931extern "C" {
3932 pub fn ImDrawList_GetClipRectMax(pOut: *mut ImVec2, self_: *mut ImDrawList);
3933}
3934extern "C" {
3935 pub fn ImDrawList_AddLine(
3936 self_: *mut ImDrawList,
3937 p1: ImVec2,
3938 p2: ImVec2,
3939 col: ImU32,
3940 thickness: f32,
3941 );
3942}
3943extern "C" {
3944 pub fn ImDrawList_AddRect(
3945 self_: *mut ImDrawList,
3946 p_min: ImVec2,
3947 p_max: ImVec2,
3948 col: ImU32,
3949 rounding: f32,
3950 flags: ImDrawFlags,
3951 thickness: f32,
3952 );
3953}
3954extern "C" {
3955 pub fn ImDrawList_AddRectFilled(
3956 self_: *mut ImDrawList,
3957 p_min: ImVec2,
3958 p_max: ImVec2,
3959 col: ImU32,
3960 rounding: f32,
3961 flags: ImDrawFlags,
3962 );
3963}
3964extern "C" {
3965 pub fn ImDrawList_AddRectFilledMultiColor(
3966 self_: *mut ImDrawList,
3967 p_min: ImVec2,
3968 p_max: ImVec2,
3969 col_upr_left: ImU32,
3970 col_upr_right: ImU32,
3971 col_bot_right: ImU32,
3972 col_bot_left: ImU32,
3973 );
3974}
3975extern "C" {
3976 pub fn ImDrawList_AddQuad(
3977 self_: *mut ImDrawList,
3978 p1: ImVec2,
3979 p2: ImVec2,
3980 p3: ImVec2,
3981 p4: ImVec2,
3982 col: ImU32,
3983 thickness: f32,
3984 );
3985}
3986extern "C" {
3987 pub fn ImDrawList_AddQuadFilled(
3988 self_: *mut ImDrawList,
3989 p1: ImVec2,
3990 p2: ImVec2,
3991 p3: ImVec2,
3992 p4: ImVec2,
3993 col: ImU32,
3994 );
3995}
3996extern "C" {
3997 pub fn ImDrawList_AddTriangle(
3998 self_: *mut ImDrawList,
3999 p1: ImVec2,
4000 p2: ImVec2,
4001 p3: ImVec2,
4002 col: ImU32,
4003 thickness: f32,
4004 );
4005}
4006extern "C" {
4007 pub fn ImDrawList_AddTriangleFilled(
4008 self_: *mut ImDrawList,
4009 p1: ImVec2,
4010 p2: ImVec2,
4011 p3: ImVec2,
4012 col: ImU32,
4013 );
4014}
4015extern "C" {
4016 pub fn ImDrawList_AddCircle(
4017 self_: *mut ImDrawList,
4018 center: ImVec2,
4019 radius: f32,
4020 col: ImU32,
4021 num_segments: cty::c_int,
4022 thickness: f32,
4023 );
4024}
4025extern "C" {
4026 pub fn ImDrawList_AddCircleFilled(
4027 self_: *mut ImDrawList,
4028 center: ImVec2,
4029 radius: f32,
4030 col: ImU32,
4031 num_segments: cty::c_int,
4032 );
4033}
4034extern "C" {
4035 pub fn ImDrawList_AddNgon(
4036 self_: *mut ImDrawList,
4037 center: ImVec2,
4038 radius: f32,
4039 col: ImU32,
4040 num_segments: cty::c_int,
4041 thickness: f32,
4042 );
4043}
4044extern "C" {
4045 pub fn ImDrawList_AddNgonFilled(
4046 self_: *mut ImDrawList,
4047 center: ImVec2,
4048 radius: f32,
4049 col: ImU32,
4050 num_segments: cty::c_int,
4051 );
4052}
4053extern "C" {
4054 pub fn ImDrawList_AddText_Vec2(
4055 self_: *mut ImDrawList,
4056 pos: ImVec2,
4057 col: ImU32,
4058 text_begin: *const cty::c_char,
4059 text_end: *const cty::c_char,
4060 );
4061}
4062extern "C" {
4063 pub fn ImDrawList_AddText_FontPtr(
4064 self_: *mut ImDrawList,
4065 font: *const ImFont,
4066 font_size: f32,
4067 pos: ImVec2,
4068 col: ImU32,
4069 text_begin: *const cty::c_char,
4070 text_end: *const cty::c_char,
4071 wrap_width: f32,
4072 cpu_fine_clip_rect: *const ImVec4,
4073 );
4074}
4075extern "C" {
4076 pub fn ImDrawList_AddPolyline(
4077 self_: *mut ImDrawList,
4078 points: *const ImVec2,
4079 num_points: cty::c_int,
4080 col: ImU32,
4081 flags: ImDrawFlags,
4082 thickness: f32,
4083 );
4084}
4085extern "C" {
4086 pub fn ImDrawList_AddConvexPolyFilled(
4087 self_: *mut ImDrawList,
4088 points: *const ImVec2,
4089 num_points: cty::c_int,
4090 col: ImU32,
4091 );
4092}
4093extern "C" {
4094 pub fn ImDrawList_AddBezierCubic(
4095 self_: *mut ImDrawList,
4096 p1: ImVec2,
4097 p2: ImVec2,
4098 p3: ImVec2,
4099 p4: ImVec2,
4100 col: ImU32,
4101 thickness: f32,
4102 num_segments: cty::c_int,
4103 );
4104}
4105extern "C" {
4106 pub fn ImDrawList_AddBezierQuadratic(
4107 self_: *mut ImDrawList,
4108 p1: ImVec2,
4109 p2: ImVec2,
4110 p3: ImVec2,
4111 col: ImU32,
4112 thickness: f32,
4113 num_segments: cty::c_int,
4114 );
4115}
4116extern "C" {
4117 pub fn ImDrawList_AddImage(
4118 self_: *mut ImDrawList,
4119 user_texture_id: ImTextureID,
4120 p_min: ImVec2,
4121 p_max: ImVec2,
4122 uv_min: ImVec2,
4123 uv_max: ImVec2,
4124 col: ImU32,
4125 );
4126}
4127extern "C" {
4128 pub fn ImDrawList_AddImageQuad(
4129 self_: *mut ImDrawList,
4130 user_texture_id: ImTextureID,
4131 p1: ImVec2,
4132 p2: ImVec2,
4133 p3: ImVec2,
4134 p4: ImVec2,
4135 uv1: ImVec2,
4136 uv2: ImVec2,
4137 uv3: ImVec2,
4138 uv4: ImVec2,
4139 col: ImU32,
4140 );
4141}
4142extern "C" {
4143 pub fn ImDrawList_AddImageRounded(
4144 self_: *mut ImDrawList,
4145 user_texture_id: ImTextureID,
4146 p_min: ImVec2,
4147 p_max: ImVec2,
4148 uv_min: ImVec2,
4149 uv_max: ImVec2,
4150 col: ImU32,
4151 rounding: f32,
4152 flags: ImDrawFlags,
4153 );
4154}
4155extern "C" {
4156 pub fn ImDrawList_PathClear(self_: *mut ImDrawList);
4157}
4158extern "C" {
4159 pub fn ImDrawList_PathLineTo(self_: *mut ImDrawList, pos: ImVec2);
4160}
4161extern "C" {
4162 pub fn ImDrawList_PathLineToMergeDuplicate(self_: *mut ImDrawList, pos: ImVec2);
4163}
4164extern "C" {
4165 pub fn ImDrawList_PathFillConvex(self_: *mut ImDrawList, col: ImU32);
4166}
4167extern "C" {
4168 pub fn ImDrawList_PathStroke(
4169 self_: *mut ImDrawList,
4170 col: ImU32,
4171 flags: ImDrawFlags,
4172 thickness: f32,
4173 );
4174}
4175extern "C" {
4176 pub fn ImDrawList_PathArcTo(
4177 self_: *mut ImDrawList,
4178 center: ImVec2,
4179 radius: f32,
4180 a_min: f32,
4181 a_max: f32,
4182 num_segments: cty::c_int,
4183 );
4184}
4185extern "C" {
4186 pub fn ImDrawList_PathArcToFast(
4187 self_: *mut ImDrawList,
4188 center: ImVec2,
4189 radius: f32,
4190 a_min_of_12: cty::c_int,
4191 a_max_of_12: cty::c_int,
4192 );
4193}
4194extern "C" {
4195 pub fn ImDrawList_PathBezierCubicCurveTo(
4196 self_: *mut ImDrawList,
4197 p2: ImVec2,
4198 p3: ImVec2,
4199 p4: ImVec2,
4200 num_segments: cty::c_int,
4201 );
4202}
4203extern "C" {
4204 pub fn ImDrawList_PathBezierQuadraticCurveTo(
4205 self_: *mut ImDrawList,
4206 p2: ImVec2,
4207 p3: ImVec2,
4208 num_segments: cty::c_int,
4209 );
4210}
4211extern "C" {
4212 pub fn ImDrawList_PathRect(
4213 self_: *mut ImDrawList,
4214 rect_min: ImVec2,
4215 rect_max: ImVec2,
4216 rounding: f32,
4217 flags: ImDrawFlags,
4218 );
4219}
4220extern "C" {
4221 pub fn ImDrawList_AddCallback(
4222 self_: *mut ImDrawList,
4223 callback: ImDrawCallback,
4224 callback_data: *mut cty::c_void,
4225 );
4226}
4227extern "C" {
4228 pub fn ImDrawList_AddDrawCmd(self_: *mut ImDrawList);
4229}
4230extern "C" {
4231 pub fn ImDrawList_CloneOutput(self_: *mut ImDrawList) -> *mut ImDrawList;
4232}
4233extern "C" {
4234 pub fn ImDrawList_ChannelsSplit(self_: *mut ImDrawList, count: cty::c_int);
4235}
4236extern "C" {
4237 pub fn ImDrawList_ChannelsMerge(self_: *mut ImDrawList);
4238}
4239extern "C" {
4240 pub fn ImDrawList_ChannelsSetCurrent(self_: *mut ImDrawList, n: cty::c_int);
4241}
4242extern "C" {
4243 pub fn ImDrawList_PrimReserve(
4244 self_: *mut ImDrawList,
4245 idx_count: cty::c_int,
4246 vtx_count: cty::c_int,
4247 );
4248}
4249extern "C" {
4250 pub fn ImDrawList_PrimUnreserve(
4251 self_: *mut ImDrawList,
4252 idx_count: cty::c_int,
4253 vtx_count: cty::c_int,
4254 );
4255}
4256extern "C" {
4257 pub fn ImDrawList_PrimRect(self_: *mut ImDrawList, a: ImVec2, b: ImVec2, col: ImU32);
4258}
4259extern "C" {
4260 pub fn ImDrawList_PrimRectUV(
4261 self_: *mut ImDrawList,
4262 a: ImVec2,
4263 b: ImVec2,
4264 uv_a: ImVec2,
4265 uv_b: ImVec2,
4266 col: ImU32,
4267 );
4268}
4269extern "C" {
4270 pub fn ImDrawList_PrimQuadUV(
4271 self_: *mut ImDrawList,
4272 a: ImVec2,
4273 b: ImVec2,
4274 c: ImVec2,
4275 d: ImVec2,
4276 uv_a: ImVec2,
4277 uv_b: ImVec2,
4278 uv_c: ImVec2,
4279 uv_d: ImVec2,
4280 col: ImU32,
4281 );
4282}
4283extern "C" {
4284 pub fn ImDrawList_PrimWriteVtx(self_: *mut ImDrawList, pos: ImVec2, uv: ImVec2, col: ImU32);
4285}
4286extern "C" {
4287 pub fn ImDrawList_PrimWriteIdx(self_: *mut ImDrawList, idx: ImDrawIdx);
4288}
4289extern "C" {
4290 pub fn ImDrawList_PrimVtx(self_: *mut ImDrawList, pos: ImVec2, uv: ImVec2, col: ImU32);
4291}
4292extern "C" {
4293 pub fn ImDrawList__ResetForNewFrame(self_: *mut ImDrawList);
4294}
4295extern "C" {
4296 pub fn ImDrawList__ClearFreeMemory(self_: *mut ImDrawList);
4297}
4298extern "C" {
4299 pub fn ImDrawList__PopUnusedDrawCmd(self_: *mut ImDrawList);
4300}
4301extern "C" {
4302 pub fn ImDrawList__TryMergeDrawCmds(self_: *mut ImDrawList);
4303}
4304extern "C" {
4305 pub fn ImDrawList__OnChangedClipRect(self_: *mut ImDrawList);
4306}
4307extern "C" {
4308 pub fn ImDrawList__OnChangedTextureID(self_: *mut ImDrawList);
4309}
4310extern "C" {
4311 pub fn ImDrawList__OnChangedVtxOffset(self_: *mut ImDrawList);
4312}
4313extern "C" {
4314 pub fn ImDrawList__CalcCircleAutoSegmentCount(
4315 self_: *mut ImDrawList,
4316 radius: f32,
4317 ) -> cty::c_int;
4318}
4319extern "C" {
4320 pub fn ImDrawList__PathArcToFastEx(
4321 self_: *mut ImDrawList,
4322 center: ImVec2,
4323 radius: f32,
4324 a_min_sample: cty::c_int,
4325 a_max_sample: cty::c_int,
4326 a_step: cty::c_int,
4327 );
4328}
4329extern "C" {
4330 pub fn ImDrawList__PathArcToN(
4331 self_: *mut ImDrawList,
4332 center: ImVec2,
4333 radius: f32,
4334 a_min: f32,
4335 a_max: f32,
4336 num_segments: cty::c_int,
4337 );
4338}
4339extern "C" {
4340 pub fn ImDrawData_ImDrawData() -> *mut ImDrawData;
4341}
4342extern "C" {
4343 pub fn ImDrawData_destroy(self_: *mut ImDrawData);
4344}
4345extern "C" {
4346 pub fn ImDrawData_Clear(self_: *mut ImDrawData);
4347}
4348extern "C" {
4349 pub fn ImDrawData_DeIndexAllBuffers(self_: *mut ImDrawData);
4350}
4351extern "C" {
4352 pub fn ImDrawData_ScaleClipRects(self_: *mut ImDrawData, fb_scale: ImVec2);
4353}
4354extern "C" {
4355 pub fn ImFontConfig_ImFontConfig() -> *mut ImFontConfig;
4356}
4357extern "C" {
4358 pub fn ImFontConfig_destroy(self_: *mut ImFontConfig);
4359}
4360extern "C" {
4361 pub fn ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder() -> *mut ImFontGlyphRangesBuilder;
4362}
4363extern "C" {
4364 pub fn ImFontGlyphRangesBuilder_destroy(self_: *mut ImFontGlyphRangesBuilder);
4365}
4366extern "C" {
4367 pub fn ImFontGlyphRangesBuilder_Clear(self_: *mut ImFontGlyphRangesBuilder);
4368}
4369extern "C" {
4370 pub fn ImFontGlyphRangesBuilder_GetBit(self_: *mut ImFontGlyphRangesBuilder, n: usize) -> bool;
4371}
4372extern "C" {
4373 pub fn ImFontGlyphRangesBuilder_SetBit(self_: *mut ImFontGlyphRangesBuilder, n: usize);
4374}
4375extern "C" {
4376 pub fn ImFontGlyphRangesBuilder_AddChar(self_: *mut ImFontGlyphRangesBuilder, c: ImWchar);
4377}
4378extern "C" {
4379 pub fn ImFontGlyphRangesBuilder_AddText(
4380 self_: *mut ImFontGlyphRangesBuilder,
4381 text: *const cty::c_char,
4382 text_end: *const cty::c_char,
4383 );
4384}
4385extern "C" {
4386 pub fn ImFontGlyphRangesBuilder_AddRanges(
4387 self_: *mut ImFontGlyphRangesBuilder,
4388 ranges: *const ImWchar,
4389 );
4390}
4391extern "C" {
4392 pub fn ImFontGlyphRangesBuilder_BuildRanges(
4393 self_: *mut ImFontGlyphRangesBuilder,
4394 out_ranges: *mut ImVector_ImWchar,
4395 );
4396}
4397extern "C" {
4398 pub fn ImFontAtlasCustomRect_ImFontAtlasCustomRect() -> *mut ImFontAtlasCustomRect;
4399}
4400extern "C" {
4401 pub fn ImFontAtlasCustomRect_destroy(self_: *mut ImFontAtlasCustomRect);
4402}
4403extern "C" {
4404 pub fn ImFontAtlasCustomRect_IsPacked(self_: *mut ImFontAtlasCustomRect) -> bool;
4405}
4406extern "C" {
4407 pub fn ImFontAtlas_ImFontAtlas() -> *mut ImFontAtlas;
4408}
4409extern "C" {
4410 pub fn ImFontAtlas_destroy(self_: *mut ImFontAtlas);
4411}
4412extern "C" {
4413 pub fn ImFontAtlas_AddFont(
4414 self_: *mut ImFontAtlas,
4415 font_cfg: *const ImFontConfig,
4416 ) -> *mut ImFont;
4417}
4418extern "C" {
4419 pub fn ImFontAtlas_AddFontDefault(
4420 self_: *mut ImFontAtlas,
4421 font_cfg: *const ImFontConfig,
4422 ) -> *mut ImFont;
4423}
4424extern "C" {
4425 pub fn ImFontAtlas_AddFontFromFileTTF(
4426 self_: *mut ImFontAtlas,
4427 filename: *const cty::c_char,
4428 size_pixels: f32,
4429 font_cfg: *const ImFontConfig,
4430 glyph_ranges: *const ImWchar,
4431 ) -> *mut ImFont;
4432}
4433extern "C" {
4434 pub fn ImFontAtlas_AddFontFromMemoryTTF(
4435 self_: *mut ImFontAtlas,
4436 font_data: *mut cty::c_void,
4437 font_size: cty::c_int,
4438 size_pixels: f32,
4439 font_cfg: *const ImFontConfig,
4440 glyph_ranges: *const ImWchar,
4441 ) -> *mut ImFont;
4442}
4443extern "C" {
4444 pub fn ImFontAtlas_AddFontFromMemoryCompressedTTF(
4445 self_: *mut ImFontAtlas,
4446 compressed_font_data: *const cty::c_void,
4447 compressed_font_size: cty::c_int,
4448 size_pixels: f32,
4449 font_cfg: *const ImFontConfig,
4450 glyph_ranges: *const ImWchar,
4451 ) -> *mut ImFont;
4452}
4453extern "C" {
4454 pub fn ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(
4455 self_: *mut ImFontAtlas,
4456 compressed_font_data_base85: *const cty::c_char,
4457 size_pixels: f32,
4458 font_cfg: *const ImFontConfig,
4459 glyph_ranges: *const ImWchar,
4460 ) -> *mut ImFont;
4461}
4462extern "C" {
4463 pub fn ImFontAtlas_ClearInputData(self_: *mut ImFontAtlas);
4464}
4465extern "C" {
4466 pub fn ImFontAtlas_ClearTexData(self_: *mut ImFontAtlas);
4467}
4468extern "C" {
4469 pub fn ImFontAtlas_ClearFonts(self_: *mut ImFontAtlas);
4470}
4471extern "C" {
4472 pub fn ImFontAtlas_Clear(self_: *mut ImFontAtlas);
4473}
4474extern "C" {
4475 pub fn ImFontAtlas_Build(self_: *mut ImFontAtlas) -> bool;
4476}
4477extern "C" {
4478 pub fn ImFontAtlas_GetTexDataAsAlpha8(
4479 self_: *mut ImFontAtlas,
4480 out_pixels: *mut *mut cty::c_uchar,
4481 out_width: *mut cty::c_int,
4482 out_height: *mut cty::c_int,
4483 out_bytes_per_pixel: *mut cty::c_int,
4484 );
4485}
4486extern "C" {
4487 pub fn ImFontAtlas_GetTexDataAsRGBA32(
4488 self_: *mut ImFontAtlas,
4489 out_pixels: *mut *mut cty::c_uchar,
4490 out_width: *mut cty::c_int,
4491 out_height: *mut cty::c_int,
4492 out_bytes_per_pixel: *mut cty::c_int,
4493 );
4494}
4495extern "C" {
4496 pub fn ImFontAtlas_IsBuilt(self_: *mut ImFontAtlas) -> bool;
4497}
4498extern "C" {
4499 pub fn ImFontAtlas_SetTexID(self_: *mut ImFontAtlas, id: ImTextureID);
4500}
4501extern "C" {
4502 pub fn ImFontAtlas_GetGlyphRangesDefault(self_: *mut ImFontAtlas) -> *const ImWchar;
4503}
4504extern "C" {
4505 pub fn ImFontAtlas_GetGlyphRangesGreek(self_: *mut ImFontAtlas) -> *const ImWchar;
4506}
4507extern "C" {
4508 pub fn ImFontAtlas_GetGlyphRangesKorean(self_: *mut ImFontAtlas) -> *const ImWchar;
4509}
4510extern "C" {
4511 pub fn ImFontAtlas_GetGlyphRangesJapanese(self_: *mut ImFontAtlas) -> *const ImWchar;
4512}
4513extern "C" {
4514 pub fn ImFontAtlas_GetGlyphRangesChineseFull(self_: *mut ImFontAtlas) -> *const ImWchar;
4515}
4516extern "C" {
4517 pub fn ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon(
4518 self_: *mut ImFontAtlas,
4519 ) -> *const ImWchar;
4520}
4521extern "C" {
4522 pub fn ImFontAtlas_GetGlyphRangesCyrillic(self_: *mut ImFontAtlas) -> *const ImWchar;
4523}
4524extern "C" {
4525 pub fn ImFontAtlas_GetGlyphRangesThai(self_: *mut ImFontAtlas) -> *const ImWchar;
4526}
4527extern "C" {
4528 pub fn ImFontAtlas_GetGlyphRangesVietnamese(self_: *mut ImFontAtlas) -> *const ImWchar;
4529}
4530extern "C" {
4531 pub fn ImFontAtlas_AddCustomRectRegular(
4532 self_: *mut ImFontAtlas,
4533 width: cty::c_int,
4534 height: cty::c_int,
4535 ) -> cty::c_int;
4536}
4537extern "C" {
4538 pub fn ImFontAtlas_AddCustomRectFontGlyph(
4539 self_: *mut ImFontAtlas,
4540 font: *mut ImFont,
4541 id: ImWchar,
4542 width: cty::c_int,
4543 height: cty::c_int,
4544 advance_x: f32,
4545 offset: ImVec2,
4546 ) -> cty::c_int;
4547}
4548extern "C" {
4549 pub fn ImFontAtlas_GetCustomRectByIndex(
4550 self_: *mut ImFontAtlas,
4551 index: cty::c_int,
4552 ) -> *mut ImFontAtlasCustomRect;
4553}
4554extern "C" {
4555 pub fn ImFontAtlas_CalcCustomRectUV(
4556 self_: *mut ImFontAtlas,
4557 rect: *const ImFontAtlasCustomRect,
4558 out_uv_min: *mut ImVec2,
4559 out_uv_max: *mut ImVec2,
4560 );
4561}
4562extern "C" {
4563 pub fn ImFontAtlas_GetMouseCursorTexData(
4564 self_: *mut ImFontAtlas,
4565 cursor: ImGuiMouseCursor,
4566 out_offset: *mut ImVec2,
4567 out_size: *mut ImVec2,
4568 out_uv_border: *mut ImVec2,
4569 out_uv_fill: *mut ImVec2,
4570 ) -> bool;
4571}
4572extern "C" {
4573 pub fn ImFont_ImFont() -> *mut ImFont;
4574}
4575extern "C" {
4576 pub fn ImFont_destroy(self_: *mut ImFont);
4577}
4578extern "C" {
4579 pub fn ImFont_FindGlyph(self_: *mut ImFont, c: ImWchar) -> *const ImFontGlyph;
4580}
4581extern "C" {
4582 pub fn ImFont_FindGlyphNoFallback(self_: *mut ImFont, c: ImWchar) -> *const ImFontGlyph;
4583}
4584extern "C" {
4585 pub fn ImFont_GetCharAdvance(self_: *mut ImFont, c: ImWchar) -> f32;
4586}
4587extern "C" {
4588 pub fn ImFont_IsLoaded(self_: *mut ImFont) -> bool;
4589}
4590extern "C" {
4591 pub fn ImFont_GetDebugName(self_: *mut ImFont) -> *const cty::c_char;
4592}
4593extern "C" {
4594 pub fn ImFont_CalcTextSizeA(
4595 pOut: *mut ImVec2,
4596 self_: *mut ImFont,
4597 size: f32,
4598 max_width: f32,
4599 wrap_width: f32,
4600 text_begin: *const cty::c_char,
4601 text_end: *const cty::c_char,
4602 remaining: *mut *const cty::c_char,
4603 );
4604}
4605extern "C" {
4606 pub fn ImFont_CalcWordWrapPositionA(
4607 self_: *mut ImFont,
4608 scale: f32,
4609 text: *const cty::c_char,
4610 text_end: *const cty::c_char,
4611 wrap_width: f32,
4612 ) -> *const cty::c_char;
4613}
4614extern "C" {
4615 pub fn ImFont_RenderChar(
4616 self_: *mut ImFont,
4617 draw_list: *mut ImDrawList,
4618 size: f32,
4619 pos: ImVec2,
4620 col: ImU32,
4621 c: ImWchar,
4622 );
4623}
4624extern "C" {
4625 pub fn ImFont_RenderText(
4626 self_: *mut ImFont,
4627 draw_list: *mut ImDrawList,
4628 size: f32,
4629 pos: ImVec2,
4630 col: ImU32,
4631 clip_rect: ImVec4,
4632 text_begin: *const cty::c_char,
4633 text_end: *const cty::c_char,
4634 wrap_width: f32,
4635 cpu_fine_clip: bool,
4636 );
4637}
4638extern "C" {
4639 pub fn ImFont_BuildLookupTable(self_: *mut ImFont);
4640}
4641extern "C" {
4642 pub fn ImFont_ClearOutputData(self_: *mut ImFont);
4643}
4644extern "C" {
4645 pub fn ImFont_GrowIndex(self_: *mut ImFont, new_size: cty::c_int);
4646}
4647extern "C" {
4648 pub fn ImFont_AddGlyph(
4649 self_: *mut ImFont,
4650 src_cfg: *const ImFontConfig,
4651 c: ImWchar,
4652 x0: f32,
4653 y0: f32,
4654 x1: f32,
4655 y1: f32,
4656 u0: f32,
4657 v0: f32,
4658 u1: f32,
4659 v1: f32,
4660 advance_x: f32,
4661 );
4662}
4663extern "C" {
4664 pub fn ImFont_AddRemapChar(self_: *mut ImFont, dst: ImWchar, src: ImWchar, overwrite_dst: bool);
4665}
4666extern "C" {
4667 pub fn ImFont_SetGlyphVisible(self_: *mut ImFont, c: ImWchar, visible: bool);
4668}
4669extern "C" {
4670 pub fn ImFont_IsGlyphRangeUnused(
4671 self_: *mut ImFont,
4672 c_begin: cty::c_uint,
4673 c_last: cty::c_uint,
4674 ) -> bool;
4675}
4676extern "C" {
4677 pub fn ImGuiViewport_ImGuiViewport() -> *mut ImGuiViewport;
4678}
4679extern "C" {
4680 pub fn ImGuiViewport_destroy(self_: *mut ImGuiViewport);
4681}
4682extern "C" {
4683 pub fn ImGuiViewport_GetCenter(pOut: *mut ImVec2, self_: *mut ImGuiViewport);
4684}
4685extern "C" {
4686 pub fn ImGuiViewport_GetWorkCenter(pOut: *mut ImVec2, self_: *mut ImGuiViewport);
4687}
4688extern "C" {
4689 pub fn ImGuiPlatformImeData_ImGuiPlatformImeData() -> *mut ImGuiPlatformImeData;
4690}
4691extern "C" {
4692 pub fn ImGuiPlatformImeData_destroy(self_: *mut ImGuiPlatformImeData);
4693}
4694extern "C" {
4695 pub fn igGetKeyIndex(key: ImGuiKey) -> ImGuiKey;
4696}
4697extern "C" {
4698 pub fn igLogText(fmt: *const cty::c_char, ...);
4699}
4700extern "C" {
4701 pub fn ImGuiTextBuffer_appendf(buffer: *mut ImGuiTextBuffer, fmt: *const cty::c_char, ...);
4702}