mirror of
https://github.com/eliasstepanik/imgui-rs.git
synced 2026-01-27 21:38:34 +00:00
test file reverted
callback combo interface removed
This commit is contained in:
parent
bd7e418878
commit
58e59810ac
@ -28,15 +28,6 @@ fn hello_world<'a>(ui: &Ui<'a>) {
|
|||||||
.build(|| {
|
.build(|| {
|
||||||
ui.text(im_str!("Hello world!"));
|
ui.text(im_str!("Hello world!"));
|
||||||
ui.text(im_str!("This...is...imgui-rs!"));
|
ui.text(im_str!("This...is...imgui-rs!"));
|
||||||
ui.combo3(im_str!("Sample combo"), &mut 1, |idx|{
|
|
||||||
println!("{} index closure", idx);
|
|
||||||
match idx {
|
|
||||||
0 => "zero\0",
|
|
||||||
1 => "one\0",
|
|
||||||
2 => "two\0",
|
|
||||||
_ => "three\0",
|
|
||||||
}
|
|
||||||
}, 3,2);
|
|
||||||
ui.separator();
|
ui.separator();
|
||||||
let mouse_pos = ui.imgui().mouse_pos();
|
let mouse_pos = ui.imgui().mouse_pos();
|
||||||
ui.text(im_str!("Mouse Position: ({:.1},{:.1})", mouse_pos.0, mouse_pos.1));
|
ui.text(im_str!("Mouse Position: ({:.1},{:.1})", mouse_pos.0, mouse_pos.1));
|
||||||
|
|||||||
15
src/lib.rs
15
src/lib.rs
@ -497,13 +497,6 @@ impl<'ui> Ui<'ui> {
|
|||||||
pub fn menu_item<'p>(&self, label: ImStr<'p>) -> MenuItem<'ui, 'p> { MenuItem::new(label) }
|
pub fn menu_item<'p>(&self, label: ImStr<'p>) -> MenuItem<'ui, 'p> { MenuItem::new(label) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extern "C" fn combo_item_getter(closure : *mut c_void, idx : c_int, out_text : *mut *const c_char)->bool{
|
|
||||||
let inner_closure : &mut &mut FnMut(i32)->&'static str = unsafe { mem::transmute(closure)};
|
|
||||||
unsafe{*out_text = inner_closure(idx).as_bytes().as_ptr() as *const c_char;}
|
|
||||||
//unsafe{*out_text = "orhan\0".as_bytes().as_ptr() as *const c_char;}
|
|
||||||
true
|
|
||||||
}
|
|
||||||
//Widgets: Combos
|
//Widgets: Combos
|
||||||
impl<'ui> Ui<'ui> {
|
impl<'ui> Ui<'ui> {
|
||||||
pub fn combo<'p>(&self, label : ImStr<'p>, current_item : &mut i32, items : &mut Vec<ImStr<'p>>, items_count : i32, height_in_items : i32) -> bool{
|
pub fn combo<'p>(&self, label : ImStr<'p>, current_item : &mut i32, items : &mut Vec<ImStr<'p>>, items_count : i32, height_in_items : i32) -> bool{
|
||||||
@ -518,14 +511,8 @@ impl<'ui> Ui<'ui> {
|
|||||||
imgui_sys::igCombo2(label.as_ptr(), current_item, items.as_ptr(), height_in_items)
|
imgui_sys::igCombo2(label.as_ptr(), current_item, items.as_ptr(), height_in_items)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn combo3<'p, F>(&self, label : ImStr<'p>, current_item:&mut i32, mut items_getter : F, items_count : i32, height_in_items : i32) -> bool where F : FnMut(i32)->&'static str{
|
|
||||||
unsafe{
|
|
||||||
let callback : &mut FnMut(i32)->&'static str = &mut items_getter;
|
|
||||||
imgui_sys::igCombo3(label.as_ptr(), current_item, combo_item_getter, callback as *mut _ as *mut c_void , items_count, height_in_items)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Widgets: ListBox
|
//Widgets: ListBox
|
||||||
impl<'ui> Ui<'ui> {
|
impl<'ui> Ui<'ui> {
|
||||||
pub fn list_box<'p>(&self, label : ImStr<'p>, current_item : &mut i32, items : &mut Vec<ImStr<'p>>, items_count : i32, height_in_items : i32)-> bool{
|
pub fn list_box<'p>(&self, label : ImStr<'p>, current_item : &mut i32, items : &mut Vec<ImStr<'p>>, items_count : i32, height_in_items : i32)-> bool{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user