[−][src]Module imgui_ext::input
input(...)
docs.
Optional fields
label
override widget label.step
step_fast
flags
path to a function that returns the input flags.size
size of the text box (multiline text input).catch
map
Applies a mapping function to&mut Self
(see example).
Limitations
Text input is only supported for imgui::ImString
types.
Example
The input trait is implemented for numeric types (f32
, f64
, i32
and
u32
) and their corresponding array and tuple types of up to 9 elements, as
well as imgui::ImGuiExt
for text input.
#[derive(imgui_ext::Gui)] struct Example { #[imgui(input)] input_0: f32, #[imgui(input)] input_1: [f32; 2], #[imgui(input(step = 4, step_fast = 42))] input_2: i32, }
Result
Input flags
You can load input flags from a function:
use imgui::ImGuiInputTextFlags; #[derive(imgui_ext::Gui)] struct Example { #[imgui(input(flags = "my_flags"))] n: f32, } fn my_flags() -> ImGuiInputTextFlags { ImGuiInputTextFlags::Password }
Mapping
The attribite map
references a function to map from a &mut Self
of the
field, into a type that is is compatible with a given annotation.
// Note that Foo doesn't derive 'imgui_ext::Gui' struct Foo { inner: [f32; 4], } #[derive(imgui_ext::Gui)] struct Bar { // The Foo type is not compatible with the input() annotation, but its inner attribute is. #[imgui(input(map = "foo_to_array"))] foo: Foo, } fn foo_to_array(foo: &mut Foo) -> &mut [f32; 4] { &mut foo.inner }
Structs
InputParams |
Traits
Input |