mirror of
https://github.com/eliasstepanik/imgui-rs.git
synced 2026-01-12 05:58:35 +00:00
Upgrade to bitflags 1.0 and namespacing
This commit is contained in:
parent
3116430f07
commit
f92e21bf30
@ -5,7 +5,7 @@ rust:
|
||||
- stable
|
||||
- beta
|
||||
- nightly
|
||||
- 1.19.0
|
||||
- 1.20.0
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
**Still fairly experimental!**
|
||||
|
||||
Minimum Rust version: 1.19
|
||||
Minimum Rust version: 1.20
|
||||
|
||||
[](https://travis-ci.org/Gekkio/imgui-rs)
|
||||
[](https://crates.io/crates/imgui)
|
||||
@ -11,7 +11,7 @@ Minimum Rust version: 1.19
|
||||
|
||||
```rust
|
||||
ui.window(im_str!("Hello world"))
|
||||
.size((300.0, 100.0), ImGuiSetCond_FirstUseEver)
|
||||
.size((300.0, 100.0), ImGuiCond::FirstUseEver)
|
||||
.build(|| {
|
||||
ui.text(im_str!("Hello world!"));
|
||||
ui.text(im_str!("This...is...imgui-rs!"));
|
||||
|
||||
@ -15,7 +15,7 @@ fn main() { support_gfx::run("hello_gfx.rs".to_owned(), CLEAR_COLOR, hello_world
|
||||
|
||||
fn hello_world<'a>(ui: &Ui<'a>) -> bool {
|
||||
ui.window(im_str!("Hello world"))
|
||||
.size((300.0, 100.0), ImGuiCond_FirstUseEver)
|
||||
.size((300.0, 100.0), ImGuiCond::FirstUseEver)
|
||||
.build(|| {
|
||||
ui.text(im_str!("Hello world!"));
|
||||
ui.text(im_str!("This...is...imgui-rs!"));
|
||||
|
||||
@ -13,7 +13,7 @@ fn main() { support::run("hellow_world.rs".to_owned(), CLEAR_COLOR, hello_world)
|
||||
|
||||
fn hello_world<'a>(ui: &Ui<'a>) -> bool {
|
||||
ui.window(im_str!("Hello world"))
|
||||
.size((300.0, 100.0), ImGuiCond_FirstUseEver)
|
||||
.size((300.0, 100.0), ImGuiCond::FirstUseEver)
|
||||
.build(|| {
|
||||
ui.text(im_str!("Hello world!"));
|
||||
ui.text(im_str!("This...is...imgui-rs!"));
|
||||
|
||||
@ -177,7 +177,7 @@ fn show_test_window<'a>(ui: &Ui<'a>, state: &mut State, opened: &mut bool) {
|
||||
.collapsible(!state.no_collapse)
|
||||
.menu_bar(!state.no_menu)
|
||||
.bg_alpha(state.bg_alpha)
|
||||
.size((550.0, 680.0), ImGuiCond_FirstUseEver)
|
||||
.size((550.0, 680.0), ImGuiCond::FirstUseEver)
|
||||
.opened(opened)
|
||||
.build(|| {
|
||||
ui.text(im_str!("ImGui says hello."));
|
||||
@ -520,13 +520,13 @@ fn show_example_app_fixed_overlay<'a>(ui: &Ui<'a>, opened: &mut bool) {
|
||||
|
||||
fn show_example_app_manipulating_window_title<'a>(ui: &Ui<'a>) {
|
||||
ui.window(im_str!("Same title as another window##1"))
|
||||
.position((100.0, 100.0), ImGuiCond_FirstUseEver)
|
||||
.position((100.0, 100.0), ImGuiCond::FirstUseEver)
|
||||
.build(|| {
|
||||
ui.text(im_str!("This is window 1.
|
||||
My title is the same as window 2, but my identifier is unique."));
|
||||
});
|
||||
ui.window(im_str!("Same title as another window##2"))
|
||||
.position((100.0, 200.0), ImGuiCond_FirstUseEver)
|
||||
.position((100.0, 200.0), ImGuiCond::FirstUseEver)
|
||||
.build(|| {
|
||||
ui.text(im_str!("This is window 2.
|
||||
My title is the same as window 1, but my identifier is unique."));
|
||||
@ -536,6 +536,6 @@ My title is the same as window 1, but my identifier is unique."));
|
||||
let num = ui.imgui().get_frame_count(); // The C++ version uses rand() here
|
||||
let title = im_str!("Animated title {} {}###AnimatedTitle", chars[ch_idx], num);
|
||||
ui.window(title)
|
||||
.position((100.0, 300.0), ImGuiCond_FirstUseEver)
|
||||
.position((100.0, 300.0), ImGuiCond::FirstUseEver)
|
||||
.build(|| { ui.text(im_str!("This window has a changing title")); });
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ build = "build.rs"
|
||||
travis-ci = { repository = "Gekkio/imgui-rs" }
|
||||
|
||||
[dependencies]
|
||||
bitflags = "0.9"
|
||||
bitflags = "1.0"
|
||||
glium = { version = "0.18", default-features = false, optional = true }
|
||||
gfx = { version = "0.16", optional = true }
|
||||
|
||||
|
||||
@ -143,25 +143,25 @@ bitflags!(
|
||||
/// Color edit flags
|
||||
#[repr(C)]
|
||||
pub struct ImGuiColorEditFlags: c_int {
|
||||
const ImGuiColorEditFlags_NoAlpha = 1 << 1;
|
||||
const ImGuiColorEditFlags_NoPicker = 1 << 2;
|
||||
const ImGuiColorEditFlags_NoOptions = 1 << 3;
|
||||
const ImGuiColorEditFlags_NoSmallPreview = 1 << 4;
|
||||
const ImGuiColorEditFlags_NoInputs = 1 << 5;
|
||||
const ImGuiColorEditFlags_NoTooltip = 1 << 6;
|
||||
const ImGuiColorEditFlags_NoLabel = 1 << 7;
|
||||
const ImGuiColorEditFlags_NoSidePreview = 1 << 8;
|
||||
const ImGuiColorEditFlags_AlphaBar = 1 << 9;
|
||||
const ImGuiColorEditFlags_AlphaPreview = 1 << 10;
|
||||
const ImGuiColorEditFlags_AlphaPreviewHalf= 1 << 11;
|
||||
const ImGuiColorEditFlags_HDR = 1 << 12;
|
||||
const ImGuiColorEditFlags_RGB = 1 << 13;
|
||||
const ImGuiColorEditFlags_HSV = 1 << 14;
|
||||
const ImGuiColorEditFlags_HEX = 1 << 15;
|
||||
const ImGuiColorEditFlags_Uint8 = 1 << 16;
|
||||
const ImGuiColorEditFlags_Float = 1 << 17;
|
||||
const ImGuiColorEditFlags_PickerHueBar = 1 << 18;
|
||||
const ImGuiColorEditFlags_PickerHueWheel = 1 << 19;
|
||||
const NoAlpha = 1 << 1;
|
||||
const NoPicker = 1 << 2;
|
||||
const NoOptions = 1 << 3;
|
||||
const NoSmallPreview = 1 << 4;
|
||||
const NoInputs = 1 << 5;
|
||||
const NoTooltip = 1 << 6;
|
||||
const NoLabel = 1 << 7;
|
||||
const NoSidePreview = 1 << 8;
|
||||
const AlphaBar = 1 << 9;
|
||||
const AlphaPreview = 1 << 10;
|
||||
const AlphaPreviewHalf= 1 << 11;
|
||||
const HDR = 1 << 12;
|
||||
const RGB = 1 << 13;
|
||||
const HSV = 1 << 14;
|
||||
const HEX = 1 << 15;
|
||||
const Uint8 = 1 << 16;
|
||||
const Float = 1 << 17;
|
||||
const PickerHueBar = 1 << 18;
|
||||
const PickerHueWheel = 1 << 19;
|
||||
}
|
||||
);
|
||||
|
||||
@ -184,67 +184,115 @@ bitflags!(
|
||||
/// Window flags
|
||||
#[repr(C)]
|
||||
pub struct ImGuiWindowFlags: c_int {
|
||||
const ImGuiWindowFlags_NoTitleBar = 1 << 0;
|
||||
const ImGuiWindowFlags_NoResize = 1 << 1;
|
||||
const ImGuiWindowFlags_NoMove = 1 << 2;
|
||||
const ImGuiWindowFlags_NoScrollbar = 1 << 3;
|
||||
const ImGuiWindowFlags_NoScrollWithMouse = 1 << 4;
|
||||
const ImGuiWindowFlags_NoCollapse = 1 << 5;
|
||||
const ImGuiWindowFlags_AlwaysAutoResize = 1 << 6;
|
||||
const ImGuiWindowFlags_ShowBorders = 1 << 7;
|
||||
const ImGuiWindowFlags_NoSavedSettings = 1 << 8;
|
||||
const ImGuiWindowFlags_NoInputs = 1 << 9;
|
||||
const ImGuiWindowFlags_MenuBar = 1 << 10;
|
||||
const ImGuiWindowFlags_HorizontalScrollbar = 1 << 11;
|
||||
const ImGuiWindowFlags_NoFocusOnAppearing = 1 << 12;
|
||||
const ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13;
|
||||
const ImGuiWindowFlags_AlwaysVerticalScrollbar = 1 << 14;
|
||||
const ImGuiWindowFlags_AlwaysHorizontalScrollbar = 1 << 15;
|
||||
const ImGuiWindowFlags_AlwaysUseWindowPadding = 1 << 16;
|
||||
const NoTitleBar = 1 << 0;
|
||||
const NoResize = 1 << 1;
|
||||
const NoMove = 1 << 2;
|
||||
const NoScrollbar = 1 << 3;
|
||||
const NoScrollWithMouse = 1 << 4;
|
||||
const NoCollapse = 1 << 5;
|
||||
const AlwaysAutoResize = 1 << 6;
|
||||
const ShowBorders = 1 << 7;
|
||||
const NoSavedSettings = 1 << 8;
|
||||
const NoInputs = 1 << 9;
|
||||
const MenuBar = 1 << 10;
|
||||
const HorizontalScrollbar = 1 << 11;
|
||||
const NoFocusOnAppearing = 1 << 12;
|
||||
const NoBringToFrontOnFocus = 1 << 13;
|
||||
const AlwaysVerticalScrollbar = 1 << 14;
|
||||
const AlwaysHorizontalScrollbar = 1 << 15;
|
||||
const AlwaysUseWindowPadding = 1 << 16;
|
||||
|
||||
const ImGuiWindowFlags_ChildWindow = 1 << 22;
|
||||
const ImGuiWindowFlags_ComboBox = 1 << 23;
|
||||
const ImGuiWindowFlags_Tooltip = 1 << 24;
|
||||
const ImGuiWindowFlags_Popup = 1 << 25;
|
||||
const ImGuiWindowFlags_Modal = 1 << 26;
|
||||
const ImGuiWindowFlags_ChildMenu = 1 << 27;
|
||||
const ChildWindow = 1 << 22;
|
||||
const ComboBox = 1 << 23;
|
||||
const Tooltip = 1 << 24;
|
||||
const Popup = 1 << 25;
|
||||
const Modal = 1 << 26;
|
||||
const ChildMenu = 1 << 27;
|
||||
}
|
||||
);
|
||||
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoTitleBar instead")]
|
||||
pub const ImGuiWindowFlags_NoTitleBar: ImGuiWindowFlags = ImGuiWindowFlags::NoTitleBar;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoResize instead")]
|
||||
pub const ImGuiWindowFlags_NoResize: ImGuiWindowFlags = ImGuiWindowFlags::NoResize;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoMove instead")]
|
||||
pub const ImGuiWindowFlags_NoMove: ImGuiWindowFlags = ImGuiWindowFlags::NoMove;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoScrollbar instead")]
|
||||
pub const ImGuiWindowFlags_NoScrollbar: ImGuiWindowFlags = ImGuiWindowFlags::NoScrollbar;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoScrollWithMouse instead")]
|
||||
pub const ImGuiWindowFlags_NoScrollWithMouse: ImGuiWindowFlags = ImGuiWindowFlags::NoScrollWithMouse;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoCollapse instead")]
|
||||
pub const ImGuiWindowFlags_NoCollapse: ImGuiWindowFlags = ImGuiWindowFlags::NoCollapse;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::AlwaysAutoResize instead")]
|
||||
pub const ImGuiWindowFlags_AlwaysAutoResize: ImGuiWindowFlags = ImGuiWindowFlags::AlwaysAutoResize;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::ShowBorders instead")]
|
||||
pub const ImGuiWindowFlags_ShowBorders: ImGuiWindowFlags = ImGuiWindowFlags::ShowBorders;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoSavedSettings instead")]
|
||||
pub const ImGuiWindowFlags_NoSavedSettings: ImGuiWindowFlags = ImGuiWindowFlags::NoSavedSettings;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoInputs instead")]
|
||||
pub const ImGuiWindowFlags_NoInputs: ImGuiWindowFlags = ImGuiWindowFlags::NoInputs;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::MenuBar instead")]
|
||||
pub const ImGuiWindowFlags_MenuBar: ImGuiWindowFlags = ImGuiWindowFlags::MenuBar;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::HorizontalScrollbar instead")]
|
||||
pub const ImGuiWindowFlags_HorizontalScrollbar: ImGuiWindowFlags = ImGuiWindowFlags::HorizontalScrollbar;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoFocusOnAppearing instead")]
|
||||
pub const ImGuiWindowFlags_NoFocusOnAppearing: ImGuiWindowFlags = ImGuiWindowFlags::NoFocusOnAppearing;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::NoBringToFrontOnFocus instead")]
|
||||
pub const ImGuiWindowFlags_NoBringToFrontOnFocus: ImGuiWindowFlags = ImGuiWindowFlags::NoBringToFrontOnFocus;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::AlwaysVerticalScrollbar instead")]
|
||||
pub const ImGuiWindowFlags_AlwaysVerticalScrollbar: ImGuiWindowFlags = ImGuiWindowFlags::AlwaysVerticalScrollbar;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::AlwaysHorizontalScrollbar instead")]
|
||||
pub const ImGuiWindowFlags_AlwaysHorizontalScrollbar: ImGuiWindowFlags = ImGuiWindowFlags::AlwaysHorizontalScrollbar;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::AlwaysUseWindowPadding instead")]
|
||||
pub const ImGuiWindowFlags_AlwaysUseWindowPadding: ImGuiWindowFlags = ImGuiWindowFlags::AlwaysUseWindowPadding;
|
||||
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::ChildWindow instead")]
|
||||
pub const ImGuiWindowFlags_ChildWindow: ImGuiWindowFlags = ImGuiWindowFlags::ChildWindow;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::ComboBox instead")]
|
||||
pub const ImGuiWindowFlags_ComboBox: ImGuiWindowFlags = ImGuiWindowFlags::ComboBox;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::Tooltip instead")]
|
||||
pub const ImGuiWindowFlags_Tooltip: ImGuiWindowFlags = ImGuiWindowFlags::Tooltip;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::Popup instead")]
|
||||
pub const ImGuiWindowFlags_Popup: ImGuiWindowFlags = ImGuiWindowFlags::Popup;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::Modal instead")]
|
||||
pub const ImGuiWindowFlags_Modal: ImGuiWindowFlags = ImGuiWindowFlags::Modal;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiWindowFlags::ChildMenu instead")]
|
||||
pub const ImGuiWindowFlags_ChildMenu: ImGuiWindowFlags = ImGuiWindowFlags::ChildMenu;
|
||||
|
||||
bitflags!(
|
||||
/// Condition flags
|
||||
#[repr(C)]
|
||||
pub struct ImGuiCond: c_int {
|
||||
const ImGuiCond_Always = 1 << 0;
|
||||
const ImGuiCond_Once = 1 << 1;
|
||||
const ImGuiCond_FirstUseEver = 1 << 2;
|
||||
const ImGuiCond_Appearing = 1 << 3;
|
||||
const Always = 1 << 0;
|
||||
const Once = 1 << 1;
|
||||
const FirstUseEver = 1 << 2;
|
||||
const Appearing = 1 << 3;
|
||||
}
|
||||
);
|
||||
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond instead")]
|
||||
pub type ImGuiSetCond = ImGuiCond;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond_Always instead")]
|
||||
pub const ImGuiSetCond_Always: ImGuiCond = ImGuiCond_Always;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond_Once instead")]
|
||||
pub const ImGuiSetCond_Once: ImGuiCond = ImGuiCond_Once;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond_FirstUseEver instead")]
|
||||
pub const ImGuiSetCond_FirstUseEver: ImGuiCond = ImGuiCond_FirstUseEver;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond_Appearing instead")]
|
||||
pub const ImGuiSetCond_Appearing: ImGuiCond = ImGuiCond_Appearing;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond::Always instead")]
|
||||
pub const ImGuiSetCond_Always: ImGuiCond = ImGuiCond::Always;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond::Once instead")]
|
||||
pub const ImGuiSetCond_Once: ImGuiCond = ImGuiCond::Once;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond::FirstUseEver instead")]
|
||||
pub const ImGuiSetCond_FirstUseEver: ImGuiCond = ImGuiCond::FirstUseEver;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond::Appearing instead")]
|
||||
pub const ImGuiSetCond_Appearing: ImGuiCond = ImGuiCond::Appearing;
|
||||
|
||||
bitflags!(
|
||||
/// Flags for column functions
|
||||
#[repr(C)]
|
||||
pub struct ImGuiColumnsFlags: c_int {
|
||||
/// Disable column dividers
|
||||
const ImGuiColumnsFlags_NoBorder = 1 << 0;
|
||||
const NoBorder = 1 << 0;
|
||||
/// Disable resizing columns when clicking on the dividers
|
||||
const ImGuiColumnsFlags_NoResize = 1 << 1;
|
||||
const NoResize = 1 << 1;
|
||||
/// Disable column width preservation when adjusting columns
|
||||
const ImGuiColumnsFlags_NoPreserveWidths = 1 << 2;
|
||||
const NoPreserveWidths = 1 << 2;
|
||||
/// Disable forcing columns to fit within window
|
||||
const ImGuiColumnsFlags_NoForceWithinWindow = 1 << 3;
|
||||
const NoForceWithinWindow = 1 << 3;
|
||||
}
|
||||
);
|
||||
|
||||
@ -252,56 +300,121 @@ bitflags!(
|
||||
/// Flags for text inputs
|
||||
#[repr(C)]
|
||||
pub struct ImGuiInputTextFlags: c_int {
|
||||
const ImGuiInputTextFlags_CharsDecimal = 1 << 0;
|
||||
const ImGuiInputTextFlags_CharsHexadecimal = 1 << 1;
|
||||
const ImGuiInputTextFlags_CharsUppercase = 1 << 2;
|
||||
const ImGuiInputTextFlags_CharsNoBlank = 1 << 3;
|
||||
const ImGuiInputTextFlags_AutoSelectAll = 1 << 4;
|
||||
const ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5;
|
||||
const ImGuiInputTextFlags_CallbackCompletion = 1 << 6;
|
||||
const ImGuiInputTextFlags_CallbackHistory = 1 << 7;
|
||||
const ImGuiInputTextFlags_CallbackAlways = 1 << 8;
|
||||
const ImGuiInputTextFlags_CallbackCharFilter = 1 << 9;
|
||||
const ImGuiInputTextFlags_AllowTabInput = 1 << 10;
|
||||
const ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11;
|
||||
const ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12;
|
||||
const ImGuiInputTextFlags_AlwaysInsertMode = 1 << 13;
|
||||
const ImGuiInputTextFlags_ReadOnly = 1 << 14;
|
||||
const ImGuiInputTextFlags_Password = 1 << 15;
|
||||
const CharsDecimal = 1 << 0;
|
||||
const CharsHexadecimal = 1 << 1;
|
||||
const CharsUppercase = 1 << 2;
|
||||
const CharsNoBlank = 1 << 3;
|
||||
const AutoSelectAll = 1 << 4;
|
||||
const EnterReturnsTrue = 1 << 5;
|
||||
const CallbackCompletion = 1 << 6;
|
||||
const CallbackHistory = 1 << 7;
|
||||
const CallbackAlways = 1 << 8;
|
||||
const CallbackCharFilter = 1 << 9;
|
||||
const AllowTabInput = 1 << 10;
|
||||
const CtrlEnterForNewLine = 1 << 11;
|
||||
const NoHorizontalScroll = 1 << 12;
|
||||
const AlwaysInsertMode = 1 << 13;
|
||||
const ReadOnly = 1 << 14;
|
||||
const Password = 1 << 15;
|
||||
|
||||
const ImGuiInputTextFlags_Multiline = 1 << 20;
|
||||
const Multiline = 1 << 20;
|
||||
}
|
||||
);
|
||||
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CharsDecimal instead")]
|
||||
pub const ImGuiInputTextFlags_CharsDecimal: ImGuiInputTextFlags = ImGuiInputTextFlags::CharsDecimal;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CharsHexadecimal instead")]
|
||||
pub const ImGuiInputTextFlags_CharsHexadecimal: ImGuiInputTextFlags = ImGuiInputTextFlags::CharsHexadecimal;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CharsUppercase instead")]
|
||||
pub const ImGuiInputTextFlags_CharsUppercase: ImGuiInputTextFlags = ImGuiInputTextFlags::CharsUppercase;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CharsNoBlank instead")]
|
||||
pub const ImGuiInputTextFlags_CharsNoBlank: ImGuiInputTextFlags = ImGuiInputTextFlags::CharsNoBlank;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::AutoSelectAll instead")]
|
||||
pub const ImGuiInputTextFlags_AutoSelectAll: ImGuiInputTextFlags = ImGuiInputTextFlags::AutoSelectAll;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::EnterReturnsTrue instead")]
|
||||
pub const ImGuiInputTextFlags_EnterReturnsTrue: ImGuiInputTextFlags = ImGuiInputTextFlags::EnterReturnsTrue;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CallbackCompletion instead")]
|
||||
pub const ImGuiInputTextFlags_CallbackCompletion: ImGuiInputTextFlags = ImGuiInputTextFlags::CallbackCompletion;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CallbackHistory instead")]
|
||||
pub const ImGuiInputTextFlags_CallbackHistory: ImGuiInputTextFlags = ImGuiInputTextFlags::CallbackHistory;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CallbackAlways instead")]
|
||||
pub const ImGuiInputTextFlags_CallbackAlways: ImGuiInputTextFlags = ImGuiInputTextFlags::CallbackAlways;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CallbackCharFilter instead")]
|
||||
pub const ImGuiInputTextFlags_CallbackCharFilter: ImGuiInputTextFlags = ImGuiInputTextFlags::CallbackCharFilter;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::AllowTabInput instead")]
|
||||
pub const ImGuiInputTextFlags_AllowTabInput: ImGuiInputTextFlags = ImGuiInputTextFlags::AllowTabInput;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::CtrlEnterForNewLine instead")]
|
||||
pub const ImGuiInputTextFlags_CtrlEnterForNewLine: ImGuiInputTextFlags = ImGuiInputTextFlags::CtrlEnterForNewLine;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::NoHorizontalScroll instead")]
|
||||
pub const ImGuiInputTextFlags_NoHorizontalScroll: ImGuiInputTextFlags = ImGuiInputTextFlags::NoHorizontalScroll;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::AlwaysInsertMode instead")]
|
||||
pub const ImGuiInputTextFlags_AlwaysInsertMode: ImGuiInputTextFlags = ImGuiInputTextFlags::AlwaysInsertMode;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::ReadOnly instead")]
|
||||
pub const ImGuiInputTextFlags_ReadOnly: ImGuiInputTextFlags = ImGuiInputTextFlags::ReadOnly;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::Password instead")]
|
||||
pub const ImGuiInputTextFlags_Password: ImGuiInputTextFlags = ImGuiInputTextFlags::Password;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiInputTextFlags::Multiline instead")]
|
||||
pub const ImGuiInputTextFlags_Multiline: ImGuiInputTextFlags = ImGuiInputTextFlags::Multiline;
|
||||
|
||||
bitflags!(
|
||||
/// Flags for selectables
|
||||
#[repr(C)]
|
||||
pub struct ImGuiSelectableFlags: c_int {
|
||||
const ImGuiSelectableFlags_DontClosePopups = 1 << 0;
|
||||
const ImGuiSelectableFlags_SpanAllColumns = 1 << 1;
|
||||
const ImGuiSelectableFlags_AllowDoubleClick = 1 << 2;
|
||||
const DontClosePopups = 1 << 0;
|
||||
const SpanAllColumns = 1 << 1;
|
||||
const AllowDoubleClick = 1 << 2;
|
||||
}
|
||||
);
|
||||
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiSelectableFlags::DontClosePopups instead")]
|
||||
pub const ImGuiSelectableFlags_DontClosePopups: ImGuiSelectableFlags = ImGuiSelectableFlags::DontClosePopups;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiSelectableFlags::SpanAllColumns instead")]
|
||||
pub const ImGuiSelectableFlags_SpanAllColumns: ImGuiSelectableFlags = ImGuiSelectableFlags::SpanAllColumns;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiSelectableFlags::AllowDoubleClick instead")]
|
||||
pub const ImGuiSelectableFlags_AllowDoubleClick: ImGuiSelectableFlags = ImGuiSelectableFlags::AllowDoubleClick;
|
||||
|
||||
bitflags!(
|
||||
/// Flags for trees and collapsing headers
|
||||
#[repr(C)]
|
||||
pub struct ImGuiTreeNodeFlags: c_int {
|
||||
const ImGuiTreeNodeFlags_Selected = 1 << 0;
|
||||
const ImGuiTreeNodeFlags_Framed = 1 << 1;
|
||||
const ImGuiTreeNodeFlags_AllowOverlapMode = 1 << 2;
|
||||
const ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3;
|
||||
const ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4;
|
||||
const ImGuiTreeNodeFlags_DefaultOpen = 1 << 5;
|
||||
const ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6;
|
||||
const ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7;
|
||||
const ImGuiTreeNodeFlags_Leaf = 1 << 8;
|
||||
const ImGuiTreeNodeFlags_Bullet = 1 << 9;
|
||||
const ImGuiTreeNodeFlags_CollapsingHeader =
|
||||
ImGuiTreeNodeFlags_Framed.bits | ImGuiTreeNodeFlags_NoAutoOpenOnLog.bits;
|
||||
const Selected = 1 << 0;
|
||||
const Framed = 1 << 1;
|
||||
const AllowOverlapMode = 1 << 2;
|
||||
const NoTreePushOnOpen = 1 << 3;
|
||||
const NoAutoOpenOnLog = 1 << 4;
|
||||
const DefaultOpen = 1 << 5;
|
||||
const OpenOnDoubleClick = 1 << 6;
|
||||
const OpenOnArrow = 1 << 7;
|
||||
const Leaf = 1 << 8;
|
||||
const Bullet = 1 << 9;
|
||||
const CollapsingHeader =
|
||||
ImGuiTreeNodeFlags::Framed.bits | ImGuiTreeNodeFlags::NoAutoOpenOnLog.bits;
|
||||
}
|
||||
);
|
||||
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::Selected instead")]
|
||||
pub const ImGuiTreeNodeFlags_Selected: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::Selected;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::Framed instead")]
|
||||
pub const ImGuiTreeNodeFlags_Framed: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::Framed;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::AllowOverlapMode instead")]
|
||||
pub const ImGuiTreeNodeFlags_AllowOverlapMode: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::AllowOverlapMode;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::NoTreePushOnOpen instead")]
|
||||
pub const ImGuiTreeNodeFlags_NoTreePushOnOpen: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::NoTreePushOnOpen;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::NoAutoOpenOnLog instead")]
|
||||
pub const ImGuiTreeNodeFlags_NoAutoOpenOnLog: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::NoAutoOpenOnLog;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::DefaultOpen instead")]
|
||||
pub const ImGuiTreeNodeFlags_DefaultOpen: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::DefaultOpen;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::OpenOnDoubleClick instead")]
|
||||
pub const ImGuiTreeNodeFlags_OpenOnDoubleClick: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::OpenOnDoubleClick;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::OpenOnArrow instead")]
|
||||
pub const ImGuiTreeNodeFlags_OpenOnArrow: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::OpenOnArrow;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::Leaf instead")]
|
||||
pub const ImGuiTreeNodeFlags_Leaf: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::Leaf;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::Bullet instead")]
|
||||
pub const ImGuiTreeNodeFlags_Bullet: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::Bullet;
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiTreeNodeFlags::CollapsingHeader instead")]
|
||||
pub const ImGuiTreeNodeFlags_CollapsingHeader: ImGuiTreeNodeFlags = ImGuiTreeNodeFlags::CollapsingHeader;
|
||||
|
||||
pub type ImGuiTextEditCallback = Option<extern "C" fn(data: *mut ImGuiTextEditCallbackData) -> c_int>;
|
||||
|
||||
pub type ImGuiSizeConstraintCallback =
|
||||
|
||||
@ -2,12 +2,6 @@ use imgui_sys;
|
||||
use std::marker::PhantomData;
|
||||
|
||||
use super::{ImStr, ImVec2, ImGuiWindowFlags, Ui};
|
||||
use super::{ImGuiWindowFlags_NoMove, ImGuiWindowFlags_NoScrollbar, ImGuiWindowFlags_NoScrollWithMouse,
|
||||
ImGuiWindowFlags_NoCollapse, ImGuiWindowFlags_AlwaysAutoResize,
|
||||
ImGuiWindowFlags_ShowBorders, ImGuiWindowFlags_NoInputs, ImGuiWindowFlags_MenuBar,
|
||||
ImGuiWindowFlags_HorizontalScrollbar, ImGuiWindowFlags_NoFocusOnAppearing,
|
||||
ImGuiWindowFlags_NoBringToFrontOnFocus, ImGuiWindowFlags_AlwaysVerticalScrollbar,
|
||||
ImGuiWindowFlags_AlwaysHorizontalScrollbar, ImGuiWindowFlags_AlwaysUseWindowPadding};
|
||||
|
||||
#[must_use]
|
||||
pub struct ChildFrame<'ui, 'p> {
|
||||
@ -28,58 +22,58 @@ impl<'ui, 'p> ChildFrame<'ui, 'p> {
|
||||
}
|
||||
#[inline]
|
||||
pub fn movable(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoMove, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoMove, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn show_scrollbar(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoScrollbar, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoScrollbar, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn show_scrollbar_with_mouse(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoScrollWithMouse, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoScrollWithMouse, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn collapsible(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoCollapse, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoCollapse, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn always_resizable(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_AlwaysAutoResize, value);
|
||||
self.flags.set(ImGuiWindowFlags::AlwaysAutoResize, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn show_borders(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_ShowBorders, value);
|
||||
self.flags.set(ImGuiWindowFlags::ShowBorders, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn input_allow(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoInputs, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoInputs, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn show_menu(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_MenuBar, value);
|
||||
self.flags.set(ImGuiWindowFlags::MenuBar, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn scrollbar_horizontal(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_HorizontalScrollbar, value);
|
||||
self.flags.set(ImGuiWindowFlags::HorizontalScrollbar, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn focus_on_appearing(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoFocusOnAppearing, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoFocusOnAppearing, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn bring_to_front_on_focus(mut self, value: bool) -> Self {
|
||||
self.flags.set(
|
||||
ImGuiWindowFlags_NoBringToFrontOnFocus,
|
||||
ImGuiWindowFlags::NoBringToFrontOnFocus,
|
||||
!value,
|
||||
);
|
||||
self
|
||||
@ -87,7 +81,7 @@ impl<'ui, 'p> ChildFrame<'ui, 'p> {
|
||||
#[inline]
|
||||
pub fn always_show_vertical_scroll_bar(mut self, value: bool) -> Self {
|
||||
self.flags.set(
|
||||
ImGuiWindowFlags_AlwaysVerticalScrollbar,
|
||||
ImGuiWindowFlags::AlwaysVerticalScrollbar,
|
||||
value,
|
||||
);
|
||||
self
|
||||
@ -95,7 +89,7 @@ impl<'ui, 'p> ChildFrame<'ui, 'p> {
|
||||
#[inline]
|
||||
pub fn always_show_horizontal_scroll_bar(mut self, value: bool) -> Self {
|
||||
self.flags.set(
|
||||
ImGuiWindowFlags_AlwaysHorizontalScrollbar,
|
||||
ImGuiWindowFlags::AlwaysHorizontalScrollbar,
|
||||
value,
|
||||
);
|
||||
self
|
||||
@ -103,7 +97,7 @@ impl<'ui, 'p> ChildFrame<'ui, 'p> {
|
||||
#[inline]
|
||||
pub fn always_use_window_padding(mut self, value: bool) -> Self {
|
||||
self.flags.set(
|
||||
ImGuiWindowFlags_AlwaysUseWindowPadding,
|
||||
ImGuiWindowFlags::AlwaysUseWindowPadding,
|
||||
value,
|
||||
);
|
||||
self
|
||||
|
||||
36
src/input.rs
36
src/input.rs
@ -2,15 +2,7 @@ use imgui_sys;
|
||||
use std::marker::PhantomData;
|
||||
use std::ptr;
|
||||
|
||||
use super::{ImGuiInputTextFlags,
|
||||
ImGuiInputTextFlags_AllowTabInput /* ImGuiInputTextFlags_CtrlEnterForNewLine, */,
|
||||
ImGuiInputTextFlags_AlwaysInsertMode, ImGuiInputTextFlags_AutoSelectAll,
|
||||
ImGuiInputTextFlags_CallbackAlways, ImGuiInputTextFlags_CallbackCharFilter,
|
||||
ImGuiInputTextFlags_CallbackCompletion, ImGuiInputTextFlags_CallbackHistory,
|
||||
ImGuiInputTextFlags_CharsDecimal, ImGuiInputTextFlags_CharsHexadecimal,
|
||||
ImGuiInputTextFlags_CharsNoBlank, ImGuiInputTextFlags_CharsUppercase,
|
||||
ImGuiInputTextFlags_EnterReturnsTrue, ImGuiInputTextFlags_NoHorizontalScroll, ImStr,
|
||||
ImString, Ui};
|
||||
use super::{ImGuiInputTextFlags, ImStr, ImString, Ui};
|
||||
|
||||
macro_rules! impl_text_flags {
|
||||
($InputType:ident) => {
|
||||
@ -22,79 +14,79 @@ macro_rules! impl_text_flags {
|
||||
|
||||
#[inline]
|
||||
pub fn chars_decimal(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_CharsDecimal, value);
|
||||
self.flags.set(ImGuiInputTextFlags::CharsDecimal, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn chars_hexadecimal(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_CharsHexadecimal, value);
|
||||
self.flags.set(ImGuiInputTextFlags::CharsHexadecimal, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn chars_uppercase(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_CharsUppercase, value);
|
||||
self.flags.set(ImGuiInputTextFlags::CharsUppercase, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn chars_noblank(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_CharsNoBlank, value);
|
||||
self.flags.set(ImGuiInputTextFlags::CharsNoBlank, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn auto_select_all(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_AutoSelectAll, value);
|
||||
self.flags.set(ImGuiInputTextFlags::AutoSelectAll, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn enter_returns_true(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_EnterReturnsTrue, value);
|
||||
self.flags.set(ImGuiInputTextFlags::EnterReturnsTrue, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn callback_completion(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_CallbackCompletion, value);
|
||||
self.flags.set(ImGuiInputTextFlags::CallbackCompletion, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn callback_history(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_CallbackHistory, value);
|
||||
self.flags.set(ImGuiInputTextFlags::CallbackHistory, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn callback_always(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_CallbackAlways, value);
|
||||
self.flags.set(ImGuiInputTextFlags::CallbackAlways, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn callback_char_filter(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_CallbackCharFilter, value);
|
||||
self.flags.set(ImGuiInputTextFlags::CallbackCharFilter, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn allow_tab_input(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_AllowTabInput, value);
|
||||
self.flags.set(ImGuiInputTextFlags::AllowTabInput, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn no_horizontal_scroll(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_NoHorizontalScroll, value);
|
||||
self.flags.set(ImGuiInputTextFlags::NoHorizontalScroll, value);
|
||||
self
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn always_insert_mode(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiInputTextFlags_AlwaysInsertMode, value);
|
||||
self.flags.set(ImGuiInputTextFlags::AlwaysInsertMode, value);
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
35
src/lib.rs
35
src/lib.rs
@ -6,8 +6,10 @@ use std::os::raw::{c_char, c_float, c_int, c_uchar, c_void};
|
||||
use std::ptr;
|
||||
use std::slice;
|
||||
use std::str;
|
||||
use imgui_sys::ImGuiStyleVar;
|
||||
|
||||
pub use imgui_sys::{ImDrawIdx, ImDrawVert, ImGuiInputTextFlags, ImGuiInputTextFlags_AllowTabInput,
|
||||
#[allow(deprecated)]
|
||||
pub use imgui_sys::{ImGuiInputTextFlags_AllowTabInput,
|
||||
ImGuiInputTextFlags_AlwaysInsertMode, ImGuiInputTextFlags_AutoSelectAll,
|
||||
ImGuiInputTextFlags_CallbackAlways, ImGuiInputTextFlags_CallbackCharFilter,
|
||||
ImGuiInputTextFlags_CallbackCompletion, ImGuiInputTextFlags_CallbackHistory,
|
||||
@ -15,17 +17,16 @@ pub use imgui_sys::{ImDrawIdx, ImDrawVert, ImGuiInputTextFlags, ImGuiInputTextFl
|
||||
ImGuiInputTextFlags_CharsNoBlank, ImGuiInputTextFlags_CharsUppercase,
|
||||
ImGuiInputTextFlags_CtrlEnterForNewLine, ImGuiInputTextFlags_EnterReturnsTrue,
|
||||
ImGuiInputTextFlags_NoHorizontalScroll, ImGuiInputTextFlags_Password,
|
||||
ImGuiInputTextFlags_ReadOnly, ImGuiKey, ImGuiSelectableFlags,
|
||||
ImGuiInputTextFlags_ReadOnly,
|
||||
ImGuiSelectableFlags_DontClosePopups, ImGuiSelectableFlags_SpanAllColumns,
|
||||
ImGuiCond, ImGuiCond_Always, ImGuiCond_Appearing,
|
||||
ImGuiCond_FirstUseEver, ImGuiCond_Once,
|
||||
ImGuiCol, ImGuiStyle, ImGuiStyleVar, ImGuiTreeNodeFlags,
|
||||
ImGuiSetCond_Always, ImGuiSetCond_Appearing,
|
||||
ImGuiSetCond_FirstUseEver, ImGuiSetCond_Once,
|
||||
ImGuiTreeNodeFlags_AllowOverlapMode, ImGuiTreeNodeFlags_Bullet,
|
||||
ImGuiTreeNodeFlags_CollapsingHeader, ImGuiTreeNodeFlags_DefaultOpen,
|
||||
ImGuiTreeNodeFlags_Framed, ImGuiTreeNodeFlags_Leaf,
|
||||
ImGuiTreeNodeFlags_NoAutoOpenOnLog, ImGuiTreeNodeFlags_NoTreePushOnOpen,
|
||||
ImGuiTreeNodeFlags_OpenOnArrow, ImGuiTreeNodeFlags_OpenOnDoubleClick,
|
||||
ImGuiTreeNodeFlags_Selected, ImGuiWindowFlags,
|
||||
ImGuiTreeNodeFlags_Selected,
|
||||
ImGuiWindowFlags_AlwaysAutoResize, ImGuiWindowFlags_AlwaysHorizontalScrollbar,
|
||||
ImGuiWindowFlags_AlwaysUseWindowPadding,
|
||||
ImGuiWindowFlags_AlwaysVerticalScrollbar,
|
||||
@ -35,7 +36,11 @@ pub use imgui_sys::{ImDrawIdx, ImDrawVert, ImGuiInputTextFlags, ImGuiInputTextFl
|
||||
ImGuiWindowFlags_NoMove, ImGuiWindowFlags_NoResize,
|
||||
ImGuiWindowFlags_NoSavedSettings, ImGuiWindowFlags_NoScrollWithMouse,
|
||||
ImGuiWindowFlags_NoScrollbar, ImGuiWindowFlags_NoTitleBar,
|
||||
ImGuiWindowFlags_ShowBorders, ImVec2, ImVec4};
|
||||
ImGuiWindowFlags_ShowBorders};
|
||||
|
||||
pub use imgui_sys::{ImDrawIdx, ImDrawVert, ImGuiInputTextFlags, ImGuiKey, ImGuiSelectableFlags,
|
||||
ImGuiCond, ImGuiCol, ImGuiStyle, ImGuiTreeNodeFlags, ImGuiWindowFlags,
|
||||
ImVec2, ImVec4};
|
||||
pub use child_frame::ChildFrame;
|
||||
pub use input::{InputFloat, InputFloat2, InputFloat3, InputFloat4, InputInt, InputInt2, InputInt3, InputInt4, InputText};
|
||||
pub use menus::{Menu, MenuItem};
|
||||
@ -49,22 +54,6 @@ pub use style::StyleVar;
|
||||
pub use trees::{CollapsingHeader, TreeNode};
|
||||
pub use window::Window;
|
||||
|
||||
#[allow(non_upper_case_globals)]
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond instead")]
|
||||
pub type ImGuiSetCond = ImGuiCond;
|
||||
#[allow(non_upper_case_globals)]
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond_Always instead")]
|
||||
pub const ImGuiSetCond_Always: ImGuiCond = ImGuiCond_Always;
|
||||
#[allow(non_upper_case_globals)]
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond_Once instead")]
|
||||
pub const ImGuiSetCond_Once: ImGuiCond = ImGuiCond_Once;
|
||||
#[allow(non_upper_case_globals)]
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond_FirstUseEver instead")]
|
||||
pub const ImGuiSetCond_FirstUseEver: ImGuiCond = ImGuiCond_FirstUseEver;
|
||||
#[allow(non_upper_case_globals)]
|
||||
#[deprecated(since = "0.0.17", note = "please use ImGuiCond_Appearing instead")]
|
||||
pub const ImGuiSetCond_Appearing: ImGuiCond = ImGuiCond_Appearing;
|
||||
|
||||
mod child_frame;
|
||||
mod input;
|
||||
mod menus;
|
||||
|
||||
17
src/trees.rs
17
src/trees.rs
@ -1,10 +1,7 @@
|
||||
use imgui_sys;
|
||||
use std::marker::PhantomData;
|
||||
|
||||
use super::{ImGuiCond, ImGuiTreeNodeFlags, ImGuiTreeNodeFlags_Bullet,
|
||||
ImGuiTreeNodeFlags_DefaultOpen, ImGuiTreeNodeFlags_Leaf,
|
||||
ImGuiTreeNodeFlags_OpenOnArrow, ImGuiTreeNodeFlags_OpenOnDoubleClick,
|
||||
ImGuiTreeNodeFlags_Selected, ImStr, Ui};
|
||||
use super::{ImGuiCond, ImGuiTreeNodeFlags, ImStr, Ui};
|
||||
|
||||
#[must_use]
|
||||
pub struct TreeNode<'ui, 'p> {
|
||||
@ -76,33 +73,33 @@ impl<'ui, 'p> CollapsingHeader<'ui, 'p> {
|
||||
}
|
||||
#[inline]
|
||||
pub fn selected(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiTreeNodeFlags_Selected, value);
|
||||
self.flags.set(ImGuiTreeNodeFlags::Selected, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn default_open(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiTreeNodeFlags_DefaultOpen, value);
|
||||
self.flags.set(ImGuiTreeNodeFlags::DefaultOpen, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn open_on_double_click(mut self, value: bool) -> Self {
|
||||
self.flags
|
||||
.set(ImGuiTreeNodeFlags_OpenOnDoubleClick, value);
|
||||
.set(ImGuiTreeNodeFlags::OpenOnDoubleClick, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn open_on_arrow(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiTreeNodeFlags_OpenOnArrow, value);
|
||||
self.flags.set(ImGuiTreeNodeFlags::OpenOnArrow, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn leaf(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiTreeNodeFlags_Leaf, value);
|
||||
self.flags.set(ImGuiTreeNodeFlags::Leaf, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn bullet(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiTreeNodeFlags_Bullet, value);
|
||||
self.flags.set(ImGuiTreeNodeFlags::Bullet, value);
|
||||
self
|
||||
}
|
||||
pub fn build(self) -> bool {
|
||||
|
||||
@ -2,15 +2,7 @@ use imgui_sys;
|
||||
use std::marker::PhantomData;
|
||||
use std::ptr;
|
||||
|
||||
use super::{ImGuiCond, ImGuiWindowFlags, ImGuiWindowFlags_AlwaysAutoResize,
|
||||
ImGuiWindowFlags_AlwaysHorizontalScrollbar, ImGuiWindowFlags_AlwaysUseWindowPadding,
|
||||
ImGuiWindowFlags_AlwaysVerticalScrollbar, ImGuiWindowFlags_HorizontalScrollbar,
|
||||
ImGuiWindowFlags_MenuBar, ImGuiWindowFlags_NoBringToFrontOnFocus,
|
||||
ImGuiWindowFlags_NoCollapse, ImGuiWindowFlags_NoFocusOnAppearing,
|
||||
ImGuiWindowFlags_NoInputs, ImGuiWindowFlags_NoMove, ImGuiWindowFlags_NoResize,
|
||||
ImGuiWindowFlags_NoSavedSettings, ImGuiWindowFlags_NoScrollWithMouse,
|
||||
ImGuiWindowFlags_NoScrollbar, ImGuiWindowFlags_NoTitleBar,
|
||||
ImGuiWindowFlags_ShowBorders, ImStr, ImVec2, Ui};
|
||||
use super::{ImGuiCond, ImGuiWindowFlags, ImStr, ImVec2, Ui};
|
||||
|
||||
#[must_use]
|
||||
pub struct Window<'ui, 'p> {
|
||||
@ -68,94 +60,94 @@ impl<'ui, 'p> Window<'ui, 'p> {
|
||||
}
|
||||
#[inline]
|
||||
pub fn title_bar(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoTitleBar, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoTitleBar, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn resizable(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoResize, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoResize, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn movable(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoMove, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoMove, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn scroll_bar(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoScrollbar, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoScrollbar, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn scrollable(mut self, value: bool) -> Self {
|
||||
self.flags
|
||||
.set(ImGuiWindowFlags_NoScrollWithMouse, !value);
|
||||
.set(ImGuiWindowFlags::NoScrollWithMouse, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn collapsible(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoCollapse, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoCollapse, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn always_auto_resize(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_AlwaysAutoResize, value);
|
||||
self.flags.set(ImGuiWindowFlags::AlwaysAutoResize, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn show_borders(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_ShowBorders, value);
|
||||
self.flags.set(ImGuiWindowFlags::ShowBorders, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn save_settings(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoSavedSettings, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoSavedSettings, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn inputs(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_NoInputs, !value);
|
||||
self.flags.set(ImGuiWindowFlags::NoInputs, !value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn menu_bar(mut self, value: bool) -> Self {
|
||||
self.flags.set(ImGuiWindowFlags_MenuBar, value);
|
||||
self.flags.set(ImGuiWindowFlags::MenuBar, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn horizontal_scrollbar(mut self, value: bool) -> Self {
|
||||
self.flags
|
||||
.set(ImGuiWindowFlags_HorizontalScrollbar, value);
|
||||
.set(ImGuiWindowFlags::HorizontalScrollbar, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn no_focus_on_appearing(mut self, value: bool) -> Self {
|
||||
self.flags
|
||||
.set(ImGuiWindowFlags_NoFocusOnAppearing, value);
|
||||
.set(ImGuiWindowFlags::NoFocusOnAppearing, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn no_bring_to_front_on_focus(mut self, value: bool) -> Self {
|
||||
self.flags
|
||||
.set(ImGuiWindowFlags_NoBringToFrontOnFocus, value);
|
||||
.set(ImGuiWindowFlags::NoBringToFrontOnFocus, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn always_vertical_scrollbar(mut self, value: bool) -> Self {
|
||||
self.flags
|
||||
.set(ImGuiWindowFlags_AlwaysVerticalScrollbar, value);
|
||||
.set(ImGuiWindowFlags::AlwaysVerticalScrollbar, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn always_horizontal_scrollbar(mut self, value: bool) -> Self {
|
||||
self.flags
|
||||
.set(ImGuiWindowFlags_AlwaysHorizontalScrollbar, value);
|
||||
.set(ImGuiWindowFlags::AlwaysHorizontalScrollbar, value);
|
||||
self
|
||||
}
|
||||
#[inline]
|
||||
pub fn always_use_window_padding(mut self, value: bool) -> Self {
|
||||
self.flags
|
||||
.set(ImGuiWindowFlags_AlwaysUseWindowPadding, value);
|
||||
.set(ImGuiWindowFlags::AlwaysUseWindowPadding, value);
|
||||
self
|
||||
}
|
||||
pub fn build<F: FnOnce()>(self, f: F) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user