1extern "C" {
10 fn imgui_load_font_ttf_async(ttf_font_file: i64, font_size: f32, glyph_ranges: i64, func0: i32, stack0: i64);
11 fn imgui_is_font_loaded() -> i32;
12 fn imgui_show_stats();
13 fn imgui_show_console();
14 fn imgui__begin_opts(name: i64, windows_flags: i32) -> i32;
15 fn imgui__end();
16 fn imgui__begin_child_opts(str_id: i64, size: i64, child_flags: i32, window_flags: i32) -> i32;
17 fn imgui__begin_child_with_id_opts(id: i32, size: i64, child_flags: i32, window_flags: i32) -> i32;
18 fn imgui__end_child();
19 fn imgui__set_next_window_pos_center_opts(set_cond: i32);
20 fn imgui__set_next_window_size_opts(size: i64, set_cond: i32);
21 fn imgui__set_next_window_collapsed_opts(collapsed: i32, set_cond: i32);
22 fn imgui__set_window_pos_opts(name: i64, pos: i64, set_cond: i32);
23 fn imgui__set_window_size_opts(name: i64, size: i64, set_cond: i32);
24 fn imgui__set_window_collapsed_opts(name: i64, collapsed: i32, set_cond: i32);
25 fn imgui__set_color_edit_options(color_edit_flags: i32);
26 fn imgui__input_text_opts(label: i64, buffer: i64, input_text_flags: i32) -> i32;
27 fn imgui__input_text_multiline_opts(label: i64, buffer: i64, size: i64, input_text_flags: i32) -> i32;
28 fn imgui__tree_node_ex_opts(label: i64, tree_node_flags: i32) -> i32;
29 fn imgui__tree_node_ex_with_id_opts(str_id: i64, text: i64, tree_node_flags: i32) -> i32;
30 fn imgui__set_next_item_open_opts(is_open: i32, set_cond: i32);
31 fn imgui__collapsing_header_opts(label: i64, tree_node_flags: i32) -> i32;
32 fn imgui__selectable_opts(label: i64, selectable_flags: i32) -> i32;
33 fn imgui__begin_popup_modal_opts(name: i64, windows_flags: i32) -> i32;
34 fn imgui__begin_popup_modal_ret_opts(name: i64, stack: i64, windows_flags: i32) -> i32;
35 fn imgui__begin_popup_context_item_opts(name: i64, popup_flags: i32) -> i32;
36 fn imgui__begin_popup_context_window_opts(name: i64, popup_flags: i32) -> i32;
37 fn imgui__begin_popup_context_void_opts(name: i64, popup_flags: i32) -> i32;
38 fn imgui__push_style_color(name: i32, color: i32);
39 fn imgui__push_style_float(name: i32, val: f32);
40 fn imgui__push_style_vec2(name: i32, val: i64);
41 fn imgui_text(text: i64);
42 fn imgui_text_colored(color: i32, text: i64);
43 fn imgui_text_disabled(text: i64);
44 fn imgui_text_wrapped(text: i64);
45 fn imgui_label_text(label: i64, text: i64);
46 fn imgui_bullet_text(text: i64);
47 fn imgui__tree_node(str_id: i64, text: i64) -> i32;
48 fn imgui_set_tooltip(text: i64);
49 fn imgui_image_opts(clip_str: i64, size: i64, tint_col: i32, border_col: i32);
50 fn imgui_image_button_opts(str_id: i64, clip_str: i64, size: i64, bg_col: i32, tint_col: i32) -> i32;
51 fn imgui__color_button_opts(desc_id: i64, col: i32, color_edit_flags: i32, size: i64) -> i32;
52 fn imgui_columns(count: i32);
53 fn imgui_columns_opts(count: i32, border: i32, str_id: i64);
54 fn imgui__begin_table_opts(str_id: i64, column: i32, outer_size: i64, inner_width: f32, table_flags: i32) -> i32;
55 fn imgui__table_next_row_opts(min_row_height: f32, table_row_flag: i32);
56 fn imgui__table_setup_column_opts(label: i64, init_width_or_weight: f32, user_id: i32, table_column_flags: i32);
57 fn imgui_set_style_bool(name: i64, val: i32);
58 fn imgui_set_style_float(name: i64, val: f32);
59 fn imgui_set_style_vec2(name: i64, val: i64);
60 fn imgui_set_style_color(name: i64, color: i32);
61 fn imgui__begin_ret_opts(name: i64, stack: i64, windows_flags: i32) -> i32;
62 fn imgui__collapsing_header_ret_opts(label: i64, stack: i64, tree_node_flags: i32) -> i32;
63 fn imgui__selectable_ret_opts(label: i64, stack: i64, size: i64, selectable_flags: i32) -> i32;
64 fn imgui__combo_ret_opts(label: i64, stack: i64, items: i64, height_in_items: i32) -> i32;
65 fn imgui__drag_float_ret_opts(label: i64, stack: i64, v_speed: f32, v_min: f32, v_max: f32, display_format: i64, slider_flags: i32) -> i32;
66 fn imgui__drag_float2_ret_opts(label: i64, stack: i64, v_speed: f32, v_min: f32, v_max: f32, display_format: i64, slider_flags: i32) -> i32;
67 fn imgui__drag_int_ret_opts(label: i64, stack: i64, v_speed: f32, v_min: i32, v_max: i32, display_format: i64, slider_flags: i32) -> i32;
68 fn imgui__drag_int2_ret_opts(label: i64, stack: i64, v_speed: f32, v_min: i32, v_max: i32, display_format: i64, slider_flags: i32) -> i32;
69 fn imgui__input_float_ret_opts(label: i64, stack: i64, step: f32, step_fast: f32, display_format: i64, input_text_flags: i32) -> i32;
70 fn imgui__input_float2_ret_opts(label: i64, stack: i64, display_format: i64, input_text_flags: i32) -> i32;
71 fn imgui__input_int_ret_opts(label: i64, stack: i64, step: i32, step_fast: i32, input_text_flags: i32) -> i32;
72 fn imgui__input_int2_ret_opts(label: i64, stack: i64, input_text_flags: i32) -> i32;
73 fn imgui__slider_float_ret_opts(label: i64, stack: i64, v_min: f32, v_max: f32, display_format: i64, slider_flags: i32) -> i32;
74 fn imgui__slider_float2_ret_opts(label: i64, stack: i64, v_min: f32, v_max: f32, display_format: i64, slider_flags: i32) -> i32;
75 fn imgui__slider_int_ret_opts(label: i64, stack: i64, v_min: i32, v_max: i32, format: i64, slider_flags: i32) -> i32;
76 fn imgui__slider_int2_ret_opts(label: i64, stack: i64, v_min: i32, v_max: i32, display_format: i64, slider_flags: i32) -> i32;
77 fn imgui__drag_float_range2_ret_opts(label: i64, stack: i64, v_speed: f32, v_min: f32, v_max: f32, format: i64, format_max: i64, slider_flags: i32) -> i32;
78 fn imgui__drag_int_range2_ret_opts(label: i64, stack: i64, v_speed: f32, v_min: i32, v_max: i32, format: i64, format_max: i64, slider_flags: i32) -> i32;
79 fn imgui__v_slider_float_ret_opts(label: i64, size: i64, stack: i64, v_min: f32, v_max: f32, format: i64, slider_flags: i32) -> i32;
80 fn imgui__v_slider_int_ret_opts(label: i64, size: i64, stack: i64, v_min: i32, v_max: i32, format: i64, slider_flags: i32) -> i32;
81 fn imgui__color_edit3_ret_opts(label: i64, stack: i64, color_edit_flags: i32) -> i32;
82 fn imgui__color_edit4_ret_opts(label: i64, stack: i64, color_edit_flags: i32) -> i32;
83 fn imgui_scroll_when_dragging_on_void();
84 fn imgui__set_next_window_pos_opts(pos: i64, set_cond: i32, pivot: i64);
85 fn imgui_set_next_window_bg_alpha(alpha: f32);
86 fn imgui_show_demo_window();
87 fn imgui_get_content_region_avail() -> i64;
88 fn imgui_get_window_pos() -> i64;
89 fn imgui_get_window_size() -> i64;
90 fn imgui_get_window_width() -> f32;
91 fn imgui_get_window_height() -> f32;
92 fn imgui_is_window_collapsed() -> i32;
93 fn imgui_set_window_font_scale(scale: f32);
94 fn imgui_set_next_window_size_constraints(size_min: i64, size_max: i64);
95 fn imgui_set_next_window_content_size(size: i64);
96 fn imgui_set_next_window_focus();
97 fn imgui_get_scroll_x() -> f32;
98 fn imgui_get_scroll_y() -> f32;
99 fn imgui_get_scroll_max_x() -> f32;
100 fn imgui_get_scroll_max_y() -> f32;
101 fn imgui_set_scroll_x(scroll_x: f32);
102 fn imgui_set_scroll_y(scroll_y: f32);
103 fn imgui_set_scroll_here_y(center_y_ratio: f32);
104 fn imgui_set_scroll_from_pos_y(pos_y: f32, center_y_ratio: f32);
105 fn imgui_set_keyboard_focus_here(offset: i32);
106 fn imgui__pop_style_color(count: i32);
107 fn imgui__pop_style_var(count: i32);
108 fn imgui_set_next_item_width(item_width: f32);
109 fn imgui__push_item_width(item_width: f32);
110 fn imgui__pop_item_width();
111 fn imgui_calc_item_width() -> f32;
112 fn imgui__push_text_wrap_pos(wrap_pos_x: f32);
113 fn imgui__pop_text_wrap_pos();
114 fn imgui__push_item_flag(flag: i32, enabled: i32);
115 fn imgui__pop_item_flag();
116 fn imgui_separator();
117 fn imgui_same_line(pos_x: f32, spacing_w: f32);
118 fn imgui_new_line();
119 fn imgui_spacing();
120 fn imgui_dummy(size: i64);
121 fn imgui_indent(indent_w: f32);
122 fn imgui_unindent(indent_w: f32);
123 fn imgui__begin_group();
124 fn imgui__end_group();
125 fn imgui_get_cursor_pos() -> i64;
126 fn imgui_get_cursor_pos_x() -> f32;
127 fn imgui_get_cursor_pos_y() -> f32;
128 fn imgui_set_cursor_pos(local_pos: i64);
129 fn imgui_set_cursor_pos_x(x: f32);
130 fn imgui_set_cursor_pos_y(y: f32);
131 fn imgui_get_cursor_start_pos() -> i64;
132 fn imgui_get_cursor_screen_pos() -> i64;
133 fn imgui_set_cursor_screen_pos(pos: i64);
134 fn imgui_align_text_to_frame_padding();
135 fn imgui_get_text_line_height() -> f32;
136 fn imgui_get_text_line_height_with_spacing() -> f32;
137 fn imgui_next_column();
138 fn imgui_get_column_index() -> i32;
139 fn imgui_get_column_offset(column_index: i32) -> f32;
140 fn imgui_set_column_offset(column_index: i32, offset_x: f32);
141 fn imgui_get_column_width(column_index: i32) -> f32;
142 fn imgui_get_columns_count() -> i32;
143 fn imgui__end_table();
144 fn imgui_table_next_column() -> i32;
145 fn imgui_table_set_column_index(column_n: i32) -> i32;
146 fn imgui_table_setup_scroll_freeze(cols: i32, rows: i32);
147 fn imgui_table_headers_row();
148 fn imgui_bullet_item();
149 fn imgui_text_link(label: i64) -> i32;
150 fn imgui_text_link_open_url(label: i64, url: i64);
151 fn imgui_set_window_focus(name: i64);
152 fn imgui_separator_text(text: i64);
153 fn imgui_table_header(label: i64);
154 fn imgui__push_id(str_id: i64);
155 fn imgui__pop_id();
156 fn imgui_get_id(str_id: i64) -> i32;
157 fn imgui_button(label: i64, size: i64) -> i32;
158 fn imgui_small_button(label: i64) -> i32;
159 fn imgui_invisible_button(str_id: i64, size: i64) -> i32;
160 fn imgui__checkbox_ret(label: i64, stack: i64) -> i32;
161 fn imgui__radio_button_ret(label: i64, stack: i64, v_button: i32) -> i32;
162 fn imgui_plot_lines(label: i64, values: i64);
163 fn imgui_plot_lines_opts(label: i64, values: i64, values_offset: i32, overlay_text: i64, scale_min: f32, scale_max: f32, graph_size: i64);
164 fn imgui_plot_histogram(label: i64, values: i64);
165 fn imgui_plot_histogram_opts(label: i64, values: i64, values_offset: i32, overlay_text: i64, scale_min: f32, scale_max: f32, graph_size: i64);
166 fn imgui_progress_bar(fraction: f32);
167 fn imgui_progress_bar_opts(fraction: f32, size_arg: i64, overlay: i64);
168 fn imgui__list_box_ret_opts(label: i64, stack: i64, items: i64, height_in_items: i32) -> i32;
169 fn imgui__slider_angle_ret(label: i64, stack: i64, v_degrees_min: f32, v_degrees_max: f32) -> i32;
170 fn imgui__tree_push(str_id: i64);
171 fn imgui__tree_pop();
172 fn imgui_value(prefix: i64, b: i32);
173 fn imgui_menu_item(label: i64, shortcut: i64, selected: i32, enabled: i32) -> i32;
174 fn imgui_open_popup(str_id: i64);
175 fn imgui__begin_popup(str_id: i64) -> i32;
176 fn imgui__end_popup();
177 fn imgui_get_tree_node_to_label_spacing() -> f32;
178 fn imgui__begin_list_box(label: i64, size: i64) -> i32;
179 fn imgui__end_list_box();
180 fn imgui__begin_disabled();
181 fn imgui__end_disabled();
182 fn imgui__begin_tooltip() -> i32;
183 fn imgui__end_tooltip();
184 fn imgui__begin_main_menu_bar() -> i32;
185 fn imgui__end_main_menu_bar();
186 fn imgui__begin_menu_bar() -> i32;
187 fn imgui__end_menu_bar();
188 fn imgui__begin_menu(label: i64, enabled: i32) -> i32;
189 fn imgui__end_menu();
190 fn imgui_close_current_popup();
191 fn imgui__push_clip_rect(clip_rect_min: i64, clip_rect_max: i64, intersect_with_current_clip_rect: i32);
192 fn imgui__pop_clip_rect();
193 fn imgui_is_item_hovered() -> i32;
194 fn imgui_is_item_active() -> i32;
195 fn imgui_is_item_clicked(mouse_button: i32) -> i32;
196 fn imgui_is_item_visible() -> i32;
197 fn imgui_is_any_item_hovered() -> i32;
198 fn imgui_is_any_item_active() -> i32;
199 fn imgui_get_item_rect_min() -> i64;
200 fn imgui_get_item_rect_max() -> i64;
201 fn imgui_get_item_rect_size() -> i64;
202 fn imgui_set_next_item_allow_overlap();
203 fn imgui_is_window_hovered() -> i32;
204 fn imgui_is_window_focused() -> i32;
205 fn imgui_is_rect_visible(size: i64) -> i32;
206 fn imgui_is_mouse_down(button: i32) -> i32;
207 fn imgui_is_mouse_clicked(button: i32, repeat: i32) -> i32;
208 fn imgui_is_mouse_double_clicked(button: i32) -> i32;
209 fn imgui_is_mouse_released(button: i32) -> i32;
210 fn imgui_is_mouse_hovering_rect(r_min: i64, r_max: i64, clip: i32) -> i32;
211 fn imgui_is_mouse_dragging(button: i32, lock_threshold: f32) -> i32;
212 fn imgui_get_mouse_pos() -> i64;
213 fn imgui_get_mouse_pos_on_opening_current_popup() -> i64;
214 fn imgui_get_mouse_drag_delta(button: i32, lock_threshold: f32) -> i64;
215 fn imgui_reset_mouse_drag_delta(button: i32);
216}
217use crate::dora::IObject;
218pub struct ImGui { }
219impl ImGui {
220 pub fn load_font_ttf_async(ttf_font_file: &str, font_size: f32, glyph_ranges: &str, mut handler: Box<dyn FnMut(bool)>) {
221 let mut stack0 = crate::dora::CallStack::new();
222 let stack_raw0 = stack0.raw();
223 let func_id0 = crate::dora::push_function(Box::new(move || {
224 handler(stack0.pop_bool().unwrap())
225 }));
226 unsafe { imgui_load_font_ttf_async(crate::dora::from_string(ttf_font_file), font_size, crate::dora::from_string(glyph_ranges), func_id0, stack_raw0); }
227 }
228 pub fn is_font_loaded() -> bool {
229 unsafe { return imgui_is_font_loaded() != 0; }
230 }
231 pub fn show_stats() {
232 unsafe { imgui_show_stats(); }
233 }
234 pub fn show_console() {
235 unsafe { imgui_show_console(); }
236 }
237 pub(crate) fn _begin_opts(name: &str, windows_flags: i32) -> bool {
238 unsafe { return imgui__begin_opts(crate::dora::from_string(name), windows_flags) != 0; }
239 }
240 pub(crate) fn _end() {
241 unsafe { imgui__end(); }
242 }
243 pub(crate) fn _begin_child_opts(str_id: &str, size: &crate::dora::Vec2, child_flags: i32, window_flags: i32) -> bool {
244 unsafe { return imgui__begin_child_opts(crate::dora::from_string(str_id), size.into_i64(), child_flags, window_flags) != 0; }
245 }
246 pub(crate) fn _begin_child_with_id_opts(id: i32, size: &crate::dora::Vec2, child_flags: i32, window_flags: i32) -> bool {
247 unsafe { return imgui__begin_child_with_id_opts(id, size.into_i64(), child_flags, window_flags) != 0; }
248 }
249 pub(crate) fn _end_child() {
250 unsafe { imgui__end_child(); }
251 }
252 pub(crate) fn _set_next_window_pos_center_opts(set_cond: i32) {
253 unsafe { imgui__set_next_window_pos_center_opts(set_cond); }
254 }
255 pub(crate) fn _set_next_window_size_opts(size: &crate::dora::Vec2, set_cond: i32) {
256 unsafe { imgui__set_next_window_size_opts(size.into_i64(), set_cond); }
257 }
258 pub(crate) fn _set_next_window_collapsed_opts(collapsed: bool, set_cond: i32) {
259 unsafe { imgui__set_next_window_collapsed_opts(if collapsed { 1 } else { 0 }, set_cond); }
260 }
261 pub(crate) fn _set_window_pos_opts(name: &str, pos: &crate::dora::Vec2, set_cond: i32) {
262 unsafe { imgui__set_window_pos_opts(crate::dora::from_string(name), pos.into_i64(), set_cond); }
263 }
264 pub(crate) fn _set_window_size_opts(name: &str, size: &crate::dora::Vec2, set_cond: i32) {
265 unsafe { imgui__set_window_size_opts(crate::dora::from_string(name), size.into_i64(), set_cond); }
266 }
267 pub(crate) fn _set_window_collapsed_opts(name: &str, collapsed: bool, set_cond: i32) {
268 unsafe { imgui__set_window_collapsed_opts(crate::dora::from_string(name), if collapsed { 1 } else { 0 }, set_cond); }
269 }
270 pub(crate) fn _set_color_edit_options(color_edit_flags: i32) {
271 unsafe { imgui__set_color_edit_options(color_edit_flags); }
272 }
273 pub(crate) fn _input_text_opts(label: &str, buffer: &crate::dora::Buffer, input_text_flags: i32) -> bool {
274 unsafe { return imgui__input_text_opts(crate::dora::from_string(label), buffer.raw(), input_text_flags) != 0; }
275 }
276 pub(crate) fn _input_text_multiline_opts(label: &str, buffer: &crate::dora::Buffer, size: &crate::dora::Vec2, input_text_flags: i32) -> bool {
277 unsafe { return imgui__input_text_multiline_opts(crate::dora::from_string(label), buffer.raw(), size.into_i64(), input_text_flags) != 0; }
278 }
279 pub(crate) fn _tree_node_ex_opts(label: &str, tree_node_flags: i32) -> bool {
280 unsafe { return imgui__tree_node_ex_opts(crate::dora::from_string(label), tree_node_flags) != 0; }
281 }
282 pub(crate) fn _tree_node_ex_with_id_opts(str_id: &str, text: &str, tree_node_flags: i32) -> bool {
283 unsafe { return imgui__tree_node_ex_with_id_opts(crate::dora::from_string(str_id), crate::dora::from_string(text), tree_node_flags) != 0; }
284 }
285 pub(crate) fn _set_next_item_open_opts(is_open: bool, set_cond: i32) {
286 unsafe { imgui__set_next_item_open_opts(if is_open { 1 } else { 0 }, set_cond); }
287 }
288 pub(crate) fn _collapsing_header_opts(label: &str, tree_node_flags: i32) -> bool {
289 unsafe { return imgui__collapsing_header_opts(crate::dora::from_string(label), tree_node_flags) != 0; }
290 }
291 pub(crate) fn _selectable_opts(label: &str, selectable_flags: i32) -> bool {
292 unsafe { return imgui__selectable_opts(crate::dora::from_string(label), selectable_flags) != 0; }
293 }
294 pub(crate) fn _begin_popup_modal_opts(name: &str, windows_flags: i32) -> bool {
295 unsafe { return imgui__begin_popup_modal_opts(crate::dora::from_string(name), windows_flags) != 0; }
296 }
297 pub(crate) fn _begin_popup_modal_ret_opts(name: &str, stack: &crate::dora::CallStack, windows_flags: i32) -> bool {
298 unsafe { return imgui__begin_popup_modal_ret_opts(crate::dora::from_string(name), stack.raw(), windows_flags) != 0; }
299 }
300 pub(crate) fn _begin_popup_context_item_opts(name: &str, popup_flags: i32) -> bool {
301 unsafe { return imgui__begin_popup_context_item_opts(crate::dora::from_string(name), popup_flags) != 0; }
302 }
303 pub(crate) fn _begin_popup_context_window_opts(name: &str, popup_flags: i32) -> bool {
304 unsafe { return imgui__begin_popup_context_window_opts(crate::dora::from_string(name), popup_flags) != 0; }
305 }
306 pub(crate) fn _begin_popup_context_void_opts(name: &str, popup_flags: i32) -> bool {
307 unsafe { return imgui__begin_popup_context_void_opts(crate::dora::from_string(name), popup_flags) != 0; }
308 }
309 pub(crate) fn _push_style_color(name: i32, color: &crate::dora::Color) {
310 unsafe { imgui__push_style_color(name, color.to_argb() as i32); }
311 }
312 pub(crate) fn _push_style_float(name: i32, val: f32) {
313 unsafe { imgui__push_style_float(name, val); }
314 }
315 pub(crate) fn _push_style_vec2(name: i32, val: &crate::dora::Vec2) {
316 unsafe { imgui__push_style_vec2(name, val.into_i64()); }
317 }
318 pub fn text(text: &str) {
319 unsafe { imgui_text(crate::dora::from_string(text)); }
320 }
321 pub fn text_colored(color: &crate::dora::Color, text: &str) {
322 unsafe { imgui_text_colored(color.to_argb() as i32, crate::dora::from_string(text)); }
323 }
324 pub fn text_disabled(text: &str) {
325 unsafe { imgui_text_disabled(crate::dora::from_string(text)); }
326 }
327 pub fn text_wrapped(text: &str) {
328 unsafe { imgui_text_wrapped(crate::dora::from_string(text)); }
329 }
330 pub fn label_text(label: &str, text: &str) {
331 unsafe { imgui_label_text(crate::dora::from_string(label), crate::dora::from_string(text)); }
332 }
333 pub fn bullet_text(text: &str) {
334 unsafe { imgui_bullet_text(crate::dora::from_string(text)); }
335 }
336 pub(crate) fn _tree_node(str_id: &str, text: &str) -> bool {
337 unsafe { return imgui__tree_node(crate::dora::from_string(str_id), crate::dora::from_string(text)) != 0; }
338 }
339 pub fn set_tooltip(text: &str) {
340 unsafe { imgui_set_tooltip(crate::dora::from_string(text)); }
341 }
342 pub fn image_opts(clip_str: &str, size: &crate::dora::Vec2, tint_col: &crate::dora::Color, border_col: &crate::dora::Color) {
343 unsafe { imgui_image_opts(crate::dora::from_string(clip_str), size.into_i64(), tint_col.to_argb() as i32, border_col.to_argb() as i32); }
344 }
345 pub fn image_button_opts(str_id: &str, clip_str: &str, size: &crate::dora::Vec2, bg_col: &crate::dora::Color, tint_col: &crate::dora::Color) -> bool {
346 unsafe { return imgui_image_button_opts(crate::dora::from_string(str_id), crate::dora::from_string(clip_str), size.into_i64(), bg_col.to_argb() as i32, tint_col.to_argb() as i32) != 0; }
347 }
348 pub(crate) fn _color_button_opts(desc_id: &str, col: &crate::dora::Color, color_edit_flags: i32, size: &crate::dora::Vec2) -> bool {
349 unsafe { return imgui__color_button_opts(crate::dora::from_string(desc_id), col.to_argb() as i32, color_edit_flags, size.into_i64()) != 0; }
350 }
351 pub fn columns(count: i32) {
352 unsafe { imgui_columns(count); }
353 }
354 pub fn columns_opts(count: i32, border: bool, str_id: &str) {
355 unsafe { imgui_columns_opts(count, if border { 1 } else { 0 }, crate::dora::from_string(str_id)); }
356 }
357 pub(crate) fn _begin_table_opts(str_id: &str, column: i32, outer_size: &crate::dora::Vec2, inner_width: f32, table_flags: i32) -> bool {
358 unsafe { return imgui__begin_table_opts(crate::dora::from_string(str_id), column, outer_size.into_i64(), inner_width, table_flags) != 0; }
359 }
360 pub(crate) fn _table_next_row_opts(min_row_height: f32, table_row_flag: i32) {
361 unsafe { imgui__table_next_row_opts(min_row_height, table_row_flag); }
362 }
363 pub(crate) fn _table_setup_column_opts(label: &str, init_width_or_weight: f32, user_id: i32, table_column_flags: i32) {
364 unsafe { imgui__table_setup_column_opts(crate::dora::from_string(label), init_width_or_weight, user_id, table_column_flags); }
365 }
366 pub fn set_style_bool(name: &str, val: bool) {
367 unsafe { imgui_set_style_bool(crate::dora::from_string(name), if val { 1 } else { 0 }); }
368 }
369 pub fn set_style_float(name: &str, val: f32) {
370 unsafe { imgui_set_style_float(crate::dora::from_string(name), val); }
371 }
372 pub fn set_style_vec2(name: &str, val: &crate::dora::Vec2) {
373 unsafe { imgui_set_style_vec2(crate::dora::from_string(name), val.into_i64()); }
374 }
375 pub fn set_style_color(name: &str, color: &crate::dora::Color) {
376 unsafe { imgui_set_style_color(crate::dora::from_string(name), color.to_argb() as i32); }
377 }
378 pub(crate) fn _begin_ret_opts(name: &str, stack: &crate::dora::CallStack, windows_flags: i32) -> bool {
379 unsafe { return imgui__begin_ret_opts(crate::dora::from_string(name), stack.raw(), windows_flags) != 0; }
380 }
381 pub(crate) fn _collapsing_header_ret_opts(label: &str, stack: &crate::dora::CallStack, tree_node_flags: i32) -> bool {
382 unsafe { return imgui__collapsing_header_ret_opts(crate::dora::from_string(label), stack.raw(), tree_node_flags) != 0; }
383 }
384 pub(crate) fn _selectable_ret_opts(label: &str, stack: &crate::dora::CallStack, size: &crate::dora::Vec2, selectable_flags: i32) -> bool {
385 unsafe { return imgui__selectable_ret_opts(crate::dora::from_string(label), stack.raw(), size.into_i64(), selectable_flags) != 0; }
386 }
387 pub(crate) fn _combo_ret_opts(label: &str, stack: &crate::dora::CallStack, items: &Vec<&str>, height_in_items: i32) -> bool {
388 unsafe { return imgui__combo_ret_opts(crate::dora::from_string(label), stack.raw(), crate::dora::Vector::from_str(items), height_in_items) != 0; }
389 }
390 pub(crate) fn _drag_float_ret_opts(label: &str, stack: &crate::dora::CallStack, v_speed: f32, v_min: f32, v_max: f32, display_format: &str, slider_flags: i32) -> bool {
391 unsafe { return imgui__drag_float_ret_opts(crate::dora::from_string(label), stack.raw(), v_speed, v_min, v_max, crate::dora::from_string(display_format), slider_flags) != 0; }
392 }
393 pub(crate) fn _drag_float2_ret_opts(label: &str, stack: &crate::dora::CallStack, v_speed: f32, v_min: f32, v_max: f32, display_format: &str, slider_flags: i32) -> bool {
394 unsafe { return imgui__drag_float2_ret_opts(crate::dora::from_string(label), stack.raw(), v_speed, v_min, v_max, crate::dora::from_string(display_format), slider_flags) != 0; }
395 }
396 pub(crate) fn _drag_int_ret_opts(label: &str, stack: &crate::dora::CallStack, v_speed: f32, v_min: i32, v_max: i32, display_format: &str, slider_flags: i32) -> bool {
397 unsafe { return imgui__drag_int_ret_opts(crate::dora::from_string(label), stack.raw(), v_speed, v_min, v_max, crate::dora::from_string(display_format), slider_flags) != 0; }
398 }
399 pub(crate) fn _drag_int2_ret_opts(label: &str, stack: &crate::dora::CallStack, v_speed: f32, v_min: i32, v_max: i32, display_format: &str, slider_flags: i32) -> bool {
400 unsafe { return imgui__drag_int2_ret_opts(crate::dora::from_string(label), stack.raw(), v_speed, v_min, v_max, crate::dora::from_string(display_format), slider_flags) != 0; }
401 }
402 pub(crate) fn _input_float_ret_opts(label: &str, stack: &crate::dora::CallStack, step: f32, step_fast: f32, display_format: &str, input_text_flags: i32) -> bool {
403 unsafe { return imgui__input_float_ret_opts(crate::dora::from_string(label), stack.raw(), step, step_fast, crate::dora::from_string(display_format), input_text_flags) != 0; }
404 }
405 pub(crate) fn _input_float2_ret_opts(label: &str, stack: &crate::dora::CallStack, display_format: &str, input_text_flags: i32) -> bool {
406 unsafe { return imgui__input_float2_ret_opts(crate::dora::from_string(label), stack.raw(), crate::dora::from_string(display_format), input_text_flags) != 0; }
407 }
408 pub(crate) fn _input_int_ret_opts(label: &str, stack: &crate::dora::CallStack, step: i32, step_fast: i32, input_text_flags: i32) -> bool {
409 unsafe { return imgui__input_int_ret_opts(crate::dora::from_string(label), stack.raw(), step, step_fast, input_text_flags) != 0; }
410 }
411 pub(crate) fn _input_int2_ret_opts(label: &str, stack: &crate::dora::CallStack, input_text_flags: i32) -> bool {
412 unsafe { return imgui__input_int2_ret_opts(crate::dora::from_string(label), stack.raw(), input_text_flags) != 0; }
413 }
414 pub(crate) fn _slider_float_ret_opts(label: &str, stack: &crate::dora::CallStack, v_min: f32, v_max: f32, display_format: &str, slider_flags: i32) -> bool {
415 unsafe { return imgui__slider_float_ret_opts(crate::dora::from_string(label), stack.raw(), v_min, v_max, crate::dora::from_string(display_format), slider_flags) != 0; }
416 }
417 pub(crate) fn _slider_float2_ret_opts(label: &str, stack: &crate::dora::CallStack, v_min: f32, v_max: f32, display_format: &str, slider_flags: i32) -> bool {
418 unsafe { return imgui__slider_float2_ret_opts(crate::dora::from_string(label), stack.raw(), v_min, v_max, crate::dora::from_string(display_format), slider_flags) != 0; }
419 }
420 pub(crate) fn _slider_int_ret_opts(label: &str, stack: &crate::dora::CallStack, v_min: i32, v_max: i32, format: &str, slider_flags: i32) -> bool {
421 unsafe { return imgui__slider_int_ret_opts(crate::dora::from_string(label), stack.raw(), v_min, v_max, crate::dora::from_string(format), slider_flags) != 0; }
422 }
423 pub(crate) fn _slider_int2_ret_opts(label: &str, stack: &crate::dora::CallStack, v_min: i32, v_max: i32, display_format: &str, slider_flags: i32) -> bool {
424 unsafe { return imgui__slider_int2_ret_opts(crate::dora::from_string(label), stack.raw(), v_min, v_max, crate::dora::from_string(display_format), slider_flags) != 0; }
425 }
426 pub(crate) fn _drag_float_range2_ret_opts(label: &str, stack: &crate::dora::CallStack, v_speed: f32, v_min: f32, v_max: f32, format: &str, format_max: &str, slider_flags: i32) -> bool {
427 unsafe { return imgui__drag_float_range2_ret_opts(crate::dora::from_string(label), stack.raw(), v_speed, v_min, v_max, crate::dora::from_string(format), crate::dora::from_string(format_max), slider_flags) != 0; }
428 }
429 pub(crate) fn _drag_int_range2_ret_opts(label: &str, stack: &crate::dora::CallStack, v_speed: f32, v_min: i32, v_max: i32, format: &str, format_max: &str, slider_flags: i32) -> bool {
430 unsafe { return imgui__drag_int_range2_ret_opts(crate::dora::from_string(label), stack.raw(), v_speed, v_min, v_max, crate::dora::from_string(format), crate::dora::from_string(format_max), slider_flags) != 0; }
431 }
432 pub(crate) fn _v_slider_float_ret_opts(label: &str, size: &crate::dora::Vec2, stack: &crate::dora::CallStack, v_min: f32, v_max: f32, format: &str, slider_flags: i32) -> bool {
433 unsafe { return imgui__v_slider_float_ret_opts(crate::dora::from_string(label), size.into_i64(), stack.raw(), v_min, v_max, crate::dora::from_string(format), slider_flags) != 0; }
434 }
435 pub(crate) fn _v_slider_int_ret_opts(label: &str, size: &crate::dora::Vec2, stack: &crate::dora::CallStack, v_min: i32, v_max: i32, format: &str, slider_flags: i32) -> bool {
436 unsafe { return imgui__v_slider_int_ret_opts(crate::dora::from_string(label), size.into_i64(), stack.raw(), v_min, v_max, crate::dora::from_string(format), slider_flags) != 0; }
437 }
438 pub(crate) fn _color_edit3_ret_opts(label: &str, stack: &crate::dora::CallStack, color_edit_flags: i32) -> bool {
439 unsafe { return imgui__color_edit3_ret_opts(crate::dora::from_string(label), stack.raw(), color_edit_flags) != 0; }
440 }
441 pub(crate) fn _color_edit4_ret_opts(label: &str, stack: &crate::dora::CallStack, color_edit_flags: i32) -> bool {
442 unsafe { return imgui__color_edit4_ret_opts(crate::dora::from_string(label), stack.raw(), color_edit_flags) != 0; }
443 }
444 pub fn scroll_when_dragging_on_void() {
445 unsafe { imgui_scroll_when_dragging_on_void(); }
446 }
447 pub(crate) fn _set_next_window_pos_opts(pos: &crate::dora::Vec2, set_cond: i32, pivot: &crate::dora::Vec2) {
448 unsafe { imgui__set_next_window_pos_opts(pos.into_i64(), set_cond, pivot.into_i64()); }
449 }
450 pub fn set_next_window_bg_alpha(alpha: f32) {
451 unsafe { imgui_set_next_window_bg_alpha(alpha); }
452 }
453 pub fn show_demo_window() {
454 unsafe { imgui_show_demo_window(); }
455 }
456 pub fn get_content_region_avail() -> crate::dora::Vec2 {
457 unsafe { return crate::dora::Vec2::from(imgui_get_content_region_avail()); }
458 }
459 pub fn get_window_pos() -> crate::dora::Vec2 {
460 unsafe { return crate::dora::Vec2::from(imgui_get_window_pos()); }
461 }
462 pub fn get_window_size() -> crate::dora::Vec2 {
463 unsafe { return crate::dora::Vec2::from(imgui_get_window_size()); }
464 }
465 pub fn get_window_width() -> f32 {
466 unsafe { return imgui_get_window_width(); }
467 }
468 pub fn get_window_height() -> f32 {
469 unsafe { return imgui_get_window_height(); }
470 }
471 pub fn is_window_collapsed() -> bool {
472 unsafe { return imgui_is_window_collapsed() != 0; }
473 }
474 pub fn set_window_font_scale(scale: f32) {
475 unsafe { imgui_set_window_font_scale(scale); }
476 }
477 pub fn set_next_window_size_constraints(size_min: &crate::dora::Vec2, size_max: &crate::dora::Vec2) {
478 unsafe { imgui_set_next_window_size_constraints(size_min.into_i64(), size_max.into_i64()); }
479 }
480 pub fn set_next_window_content_size(size: &crate::dora::Vec2) {
481 unsafe { imgui_set_next_window_content_size(size.into_i64()); }
482 }
483 pub fn set_next_window_focus() {
484 unsafe { imgui_set_next_window_focus(); }
485 }
486 pub fn get_scroll_x() -> f32 {
487 unsafe { return imgui_get_scroll_x(); }
488 }
489 pub fn get_scroll_y() -> f32 {
490 unsafe { return imgui_get_scroll_y(); }
491 }
492 pub fn get_scroll_max_x() -> f32 {
493 unsafe { return imgui_get_scroll_max_x(); }
494 }
495 pub fn get_scroll_max_y() -> f32 {
496 unsafe { return imgui_get_scroll_max_y(); }
497 }
498 pub fn set_scroll_x(scroll_x: f32) {
499 unsafe { imgui_set_scroll_x(scroll_x); }
500 }
501 pub fn set_scroll_y(scroll_y: f32) {
502 unsafe { imgui_set_scroll_y(scroll_y); }
503 }
504 pub fn set_scroll_here_y(center_y_ratio: f32) {
505 unsafe { imgui_set_scroll_here_y(center_y_ratio); }
506 }
507 pub fn set_scroll_from_pos_y(pos_y: f32, center_y_ratio: f32) {
508 unsafe { imgui_set_scroll_from_pos_y(pos_y, center_y_ratio); }
509 }
510 pub fn set_keyboard_focus_here(offset: i32) {
511 unsafe { imgui_set_keyboard_focus_here(offset); }
512 }
513 pub(crate) fn _pop_style_color(count: i32) {
514 unsafe { imgui__pop_style_color(count); }
515 }
516 pub(crate) fn _pop_style_var(count: i32) {
517 unsafe { imgui__pop_style_var(count); }
518 }
519 pub fn set_next_item_width(item_width: f32) {
520 unsafe { imgui_set_next_item_width(item_width); }
521 }
522 pub(crate) fn _push_item_width(item_width: f32) {
523 unsafe { imgui__push_item_width(item_width); }
524 }
525 pub(crate) fn _pop_item_width() {
526 unsafe { imgui__pop_item_width(); }
527 }
528 pub fn calc_item_width() -> f32 {
529 unsafe { return imgui_calc_item_width(); }
530 }
531 pub(crate) fn _push_text_wrap_pos(wrap_pos_x: f32) {
532 unsafe { imgui__push_text_wrap_pos(wrap_pos_x); }
533 }
534 pub(crate) fn _pop_text_wrap_pos() {
535 unsafe { imgui__pop_text_wrap_pos(); }
536 }
537 pub(crate) fn _push_item_flag(flag: i32, enabled: bool) {
538 unsafe { imgui__push_item_flag(flag, if enabled { 1 } else { 0 }); }
539 }
540 pub(crate) fn _pop_item_flag() {
541 unsafe { imgui__pop_item_flag(); }
542 }
543 pub fn separator() {
544 unsafe { imgui_separator(); }
545 }
546 pub fn same_line(pos_x: f32, spacing_w: f32) {
547 unsafe { imgui_same_line(pos_x, spacing_w); }
548 }
549 pub fn new_line() {
550 unsafe { imgui_new_line(); }
551 }
552 pub fn spacing() {
553 unsafe { imgui_spacing(); }
554 }
555 pub fn dummy(size: &crate::dora::Vec2) {
556 unsafe { imgui_dummy(size.into_i64()); }
557 }
558 pub fn indent(indent_w: f32) {
559 unsafe { imgui_indent(indent_w); }
560 }
561 pub fn unindent(indent_w: f32) {
562 unsafe { imgui_unindent(indent_w); }
563 }
564 pub(crate) fn _begin_group() {
565 unsafe { imgui__begin_group(); }
566 }
567 pub(crate) fn _end_group() {
568 unsafe { imgui__end_group(); }
569 }
570 pub fn get_cursor_pos() -> crate::dora::Vec2 {
571 unsafe { return crate::dora::Vec2::from(imgui_get_cursor_pos()); }
572 }
573 pub fn get_cursor_pos_x() -> f32 {
574 unsafe { return imgui_get_cursor_pos_x(); }
575 }
576 pub fn get_cursor_pos_y() -> f32 {
577 unsafe { return imgui_get_cursor_pos_y(); }
578 }
579 pub fn set_cursor_pos(local_pos: &crate::dora::Vec2) {
580 unsafe { imgui_set_cursor_pos(local_pos.into_i64()); }
581 }
582 pub fn set_cursor_pos_x(x: f32) {
583 unsafe { imgui_set_cursor_pos_x(x); }
584 }
585 pub fn set_cursor_pos_y(y: f32) {
586 unsafe { imgui_set_cursor_pos_y(y); }
587 }
588 pub fn get_cursor_start_pos() -> crate::dora::Vec2 {
589 unsafe { return crate::dora::Vec2::from(imgui_get_cursor_start_pos()); }
590 }
591 pub fn get_cursor_screen_pos() -> crate::dora::Vec2 {
592 unsafe { return crate::dora::Vec2::from(imgui_get_cursor_screen_pos()); }
593 }
594 pub fn set_cursor_screen_pos(pos: &crate::dora::Vec2) {
595 unsafe { imgui_set_cursor_screen_pos(pos.into_i64()); }
596 }
597 pub fn align_text_to_frame_padding() {
598 unsafe { imgui_align_text_to_frame_padding(); }
599 }
600 pub fn get_text_line_height() -> f32 {
601 unsafe { return imgui_get_text_line_height(); }
602 }
603 pub fn get_text_line_height_with_spacing() -> f32 {
604 unsafe { return imgui_get_text_line_height_with_spacing(); }
605 }
606 pub fn next_column() {
607 unsafe { imgui_next_column(); }
608 }
609 pub fn get_column_index() -> i32 {
610 unsafe { return imgui_get_column_index(); }
611 }
612 pub fn get_column_offset(column_index: i32) -> f32 {
613 unsafe { return imgui_get_column_offset(column_index); }
614 }
615 pub fn set_column_offset(column_index: i32, offset_x: f32) {
616 unsafe { imgui_set_column_offset(column_index, offset_x); }
617 }
618 pub fn get_column_width(column_index: i32) -> f32 {
619 unsafe { return imgui_get_column_width(column_index); }
620 }
621 pub fn get_columns_count() -> i32 {
622 unsafe { return imgui_get_columns_count(); }
623 }
624 pub(crate) fn _end_table() {
625 unsafe { imgui__end_table(); }
626 }
627 pub fn table_next_column() -> bool {
628 unsafe { return imgui_table_next_column() != 0; }
629 }
630 pub fn table_set_column_index(column_n: i32) -> bool {
631 unsafe { return imgui_table_set_column_index(column_n) != 0; }
632 }
633 pub fn table_setup_scroll_freeze(cols: i32, rows: i32) {
634 unsafe { imgui_table_setup_scroll_freeze(cols, rows); }
635 }
636 pub fn table_headers_row() {
637 unsafe { imgui_table_headers_row(); }
638 }
639 pub fn bullet_item() {
640 unsafe { imgui_bullet_item(); }
641 }
642 pub fn text_link(label: &str) -> bool {
643 unsafe { return imgui_text_link(crate::dora::from_string(label)) != 0; }
644 }
645 pub fn text_link_open_url(label: &str, url: &str) {
646 unsafe { imgui_text_link_open_url(crate::dora::from_string(label), crate::dora::from_string(url)); }
647 }
648 pub fn set_window_focus(name: &str) {
649 unsafe { imgui_set_window_focus(crate::dora::from_string(name)); }
650 }
651 pub fn separator_text(text: &str) {
652 unsafe { imgui_separator_text(crate::dora::from_string(text)); }
653 }
654 pub fn table_header(label: &str) {
655 unsafe { imgui_table_header(crate::dora::from_string(label)); }
656 }
657 pub(crate) fn _push_id(str_id: &str) {
658 unsafe { imgui__push_id(crate::dora::from_string(str_id)); }
659 }
660 pub(crate) fn _pop_id() {
661 unsafe { imgui__pop_id(); }
662 }
663 pub fn get_id(str_id: &str) -> i32 {
664 unsafe { return imgui_get_id(crate::dora::from_string(str_id)); }
665 }
666 pub fn button(label: &str, size: &crate::dora::Vec2) -> bool {
667 unsafe { return imgui_button(crate::dora::from_string(label), size.into_i64()) != 0; }
668 }
669 pub fn small_button(label: &str) -> bool {
670 unsafe { return imgui_small_button(crate::dora::from_string(label)) != 0; }
671 }
672 pub fn invisible_button(str_id: &str, size: &crate::dora::Vec2) -> bool {
673 unsafe { return imgui_invisible_button(crate::dora::from_string(str_id), size.into_i64()) != 0; }
674 }
675 pub(crate) fn _checkbox_ret(label: &str, stack: &crate::dora::CallStack) -> bool {
676 unsafe { return imgui__checkbox_ret(crate::dora::from_string(label), stack.raw()) != 0; }
677 }
678 pub(crate) fn _radio_button_ret(label: &str, stack: &crate::dora::CallStack, v_button: i32) -> bool {
679 unsafe { return imgui__radio_button_ret(crate::dora::from_string(label), stack.raw(), v_button) != 0; }
680 }
681 pub fn plot_lines(label: &str, values: &Vec<f32>) {
682 unsafe { imgui_plot_lines(crate::dora::from_string(label), crate::dora::Vector::from_num(values)); }
683 }
684 pub fn plot_lines_opts(label: &str, values: &Vec<f32>, values_offset: i32, overlay_text: &str, scale_min: f32, scale_max: f32, graph_size: &crate::dora::Vec2) {
685 unsafe { imgui_plot_lines_opts(crate::dora::from_string(label), crate::dora::Vector::from_num(values), values_offset, crate::dora::from_string(overlay_text), scale_min, scale_max, graph_size.into_i64()); }
686 }
687 pub fn plot_histogram(label: &str, values: &Vec<f32>) {
688 unsafe { imgui_plot_histogram(crate::dora::from_string(label), crate::dora::Vector::from_num(values)); }
689 }
690 pub fn plot_histogram_opts(label: &str, values: &Vec<f32>, values_offset: i32, overlay_text: &str, scale_min: f32, scale_max: f32, graph_size: &crate::dora::Vec2) {
691 unsafe { imgui_plot_histogram_opts(crate::dora::from_string(label), crate::dora::Vector::from_num(values), values_offset, crate::dora::from_string(overlay_text), scale_min, scale_max, graph_size.into_i64()); }
692 }
693 pub fn progress_bar(fraction: f32) {
694 unsafe { imgui_progress_bar(fraction); }
695 }
696 pub fn progress_bar_opts(fraction: f32, size_arg: &crate::dora::Vec2, overlay: &str) {
697 unsafe { imgui_progress_bar_opts(fraction, size_arg.into_i64(), crate::dora::from_string(overlay)); }
698 }
699 pub(crate) fn _list_box_ret_opts(label: &str, stack: &crate::dora::CallStack, items: &Vec<&str>, height_in_items: i32) -> bool {
700 unsafe { return imgui__list_box_ret_opts(crate::dora::from_string(label), stack.raw(), crate::dora::Vector::from_str(items), height_in_items) != 0; }
701 }
702 pub(crate) fn _slider_angle_ret(label: &str, stack: &crate::dora::CallStack, v_degrees_min: f32, v_degrees_max: f32) -> bool {
703 unsafe { return imgui__slider_angle_ret(crate::dora::from_string(label), stack.raw(), v_degrees_min, v_degrees_max) != 0; }
704 }
705 pub(crate) fn _tree_push(str_id: &str) {
706 unsafe { imgui__tree_push(crate::dora::from_string(str_id)); }
707 }
708 pub(crate) fn _tree_pop() {
709 unsafe { imgui__tree_pop(); }
710 }
711 pub fn value(prefix: &str, b: bool) {
712 unsafe { imgui_value(crate::dora::from_string(prefix), if b { 1 } else { 0 }); }
713 }
714 pub fn menu_item(label: &str, shortcut: &str, selected: bool, enabled: bool) -> bool {
715 unsafe { return imgui_menu_item(crate::dora::from_string(label), crate::dora::from_string(shortcut), if selected { 1 } else { 0 }, if enabled { 1 } else { 0 }) != 0; }
716 }
717 pub fn open_popup(str_id: &str) {
718 unsafe { imgui_open_popup(crate::dora::from_string(str_id)); }
719 }
720 pub(crate) fn _begin_popup(str_id: &str) -> bool {
721 unsafe { return imgui__begin_popup(crate::dora::from_string(str_id)) != 0; }
722 }
723 pub(crate) fn _end_popup() {
724 unsafe { imgui__end_popup(); }
725 }
726 pub fn get_tree_node_to_label_spacing() -> f32 {
727 unsafe { return imgui_get_tree_node_to_label_spacing(); }
728 }
729 pub(crate) fn _begin_list_box(label: &str, size: &crate::dora::Vec2) -> bool {
730 unsafe { return imgui__begin_list_box(crate::dora::from_string(label), size.into_i64()) != 0; }
731 }
732 pub(crate) fn _end_list_box() {
733 unsafe { imgui__end_list_box(); }
734 }
735 pub(crate) fn _begin_disabled() {
736 unsafe { imgui__begin_disabled(); }
737 }
738 pub(crate) fn _end_disabled() {
739 unsafe { imgui__end_disabled(); }
740 }
741 pub(crate) fn _begin_tooltip() -> bool {
742 unsafe { return imgui__begin_tooltip() != 0; }
743 }
744 pub(crate) fn _end_tooltip() {
745 unsafe { imgui__end_tooltip(); }
746 }
747 pub(crate) fn _begin_main_menu_bar() -> bool {
748 unsafe { return imgui__begin_main_menu_bar() != 0; }
749 }
750 pub(crate) fn _end_main_menu_bar() {
751 unsafe { imgui__end_main_menu_bar(); }
752 }
753 pub(crate) fn _begin_menu_bar() -> bool {
754 unsafe { return imgui__begin_menu_bar() != 0; }
755 }
756 pub(crate) fn _end_menu_bar() {
757 unsafe { imgui__end_menu_bar(); }
758 }
759 pub(crate) fn _begin_menu(label: &str, enabled: bool) -> bool {
760 unsafe { return imgui__begin_menu(crate::dora::from_string(label), if enabled { 1 } else { 0 }) != 0; }
761 }
762 pub(crate) fn _end_menu() {
763 unsafe { imgui__end_menu(); }
764 }
765 pub fn close_current_popup() {
766 unsafe { imgui_close_current_popup(); }
767 }
768 pub(crate) fn _push_clip_rect(clip_rect_min: &crate::dora::Vec2, clip_rect_max: &crate::dora::Vec2, intersect_with_current_clip_rect: bool) {
769 unsafe { imgui__push_clip_rect(clip_rect_min.into_i64(), clip_rect_max.into_i64(), if intersect_with_current_clip_rect { 1 } else { 0 }); }
770 }
771 pub(crate) fn _pop_clip_rect() {
772 unsafe { imgui__pop_clip_rect(); }
773 }
774 pub fn is_item_hovered() -> bool {
775 unsafe { return imgui_is_item_hovered() != 0; }
776 }
777 pub fn is_item_active() -> bool {
778 unsafe { return imgui_is_item_active() != 0; }
779 }
780 pub fn is_item_clicked(mouse_button: i32) -> bool {
781 unsafe { return imgui_is_item_clicked(mouse_button) != 0; }
782 }
783 pub fn is_item_visible() -> bool {
784 unsafe { return imgui_is_item_visible() != 0; }
785 }
786 pub fn is_any_item_hovered() -> bool {
787 unsafe { return imgui_is_any_item_hovered() != 0; }
788 }
789 pub fn is_any_item_active() -> bool {
790 unsafe { return imgui_is_any_item_active() != 0; }
791 }
792 pub fn get_item_rect_min() -> crate::dora::Vec2 {
793 unsafe { return crate::dora::Vec2::from(imgui_get_item_rect_min()); }
794 }
795 pub fn get_item_rect_max() -> crate::dora::Vec2 {
796 unsafe { return crate::dora::Vec2::from(imgui_get_item_rect_max()); }
797 }
798 pub fn get_item_rect_size() -> crate::dora::Vec2 {
799 unsafe { return crate::dora::Vec2::from(imgui_get_item_rect_size()); }
800 }
801 pub fn set_next_item_allow_overlap() {
802 unsafe { imgui_set_next_item_allow_overlap(); }
803 }
804 pub fn is_window_hovered() -> bool {
805 unsafe { return imgui_is_window_hovered() != 0; }
806 }
807 pub fn is_window_focused() -> bool {
808 unsafe { return imgui_is_window_focused() != 0; }
809 }
810 pub fn is_rect_visible(size: &crate::dora::Vec2) -> bool {
811 unsafe { return imgui_is_rect_visible(size.into_i64()) != 0; }
812 }
813 pub fn is_mouse_down(button: i32) -> bool {
814 unsafe { return imgui_is_mouse_down(button) != 0; }
815 }
816 pub fn is_mouse_clicked(button: i32, repeat: bool) -> bool {
817 unsafe { return imgui_is_mouse_clicked(button, if repeat { 1 } else { 0 }) != 0; }
818 }
819 pub fn is_mouse_double_clicked(button: i32) -> bool {
820 unsafe { return imgui_is_mouse_double_clicked(button) != 0; }
821 }
822 pub fn is_mouse_released(button: i32) -> bool {
823 unsafe { return imgui_is_mouse_released(button) != 0; }
824 }
825 pub fn is_mouse_hovering_rect(r_min: &crate::dora::Vec2, r_max: &crate::dora::Vec2, clip: bool) -> bool {
826 unsafe { return imgui_is_mouse_hovering_rect(r_min.into_i64(), r_max.into_i64(), if clip { 1 } else { 0 }) != 0; }
827 }
828 pub fn is_mouse_dragging(button: i32, lock_threshold: f32) -> bool {
829 unsafe { return imgui_is_mouse_dragging(button, lock_threshold) != 0; }
830 }
831 pub fn get_mouse_pos() -> crate::dora::Vec2 {
832 unsafe { return crate::dora::Vec2::from(imgui_get_mouse_pos()); }
833 }
834 pub fn get_mouse_pos_on_opening_current_popup() -> crate::dora::Vec2 {
835 unsafe { return crate::dora::Vec2::from(imgui_get_mouse_pos_on_opening_current_popup()); }
836 }
837 pub fn get_mouse_drag_delta(button: i32, lock_threshold: f32) -> crate::dora::Vec2 {
838 unsafe { return crate::dora::Vec2::from(imgui_get_mouse_drag_delta(button, lock_threshold)); }
839 }
840 pub fn reset_mouse_drag_delta(button: i32) {
841 unsafe { imgui_reset_mouse_drag_delta(button); }
842 }
843}