Upgrade to bitflags 1.0 and namespacing

This commit is contained in:
Joonas Javanainen 2017-11-02 21:52:43 +02:00
parent 3116430f07
commit f92e21bf30
No known key found for this signature in database
GPG Key ID: D39CCA5CB19B9179
12 changed files with 278 additions and 201 deletions

View File

@ -5,7 +5,7 @@ rust:
- stable
- beta
- nightly
- 1.19.0
- 1.20.0
os:
- linux
- osx

View File

@ -2,7 +2,7 @@
**Still fairly experimental!**
Minimum Rust version: 1.19
Minimum Rust version: 1.20
[![Build Status](https://travis-ci.org/Gekkio/imgui-rs.svg?branch=master)](https://travis-ci.org/Gekkio/imgui-rs)
[![Latest release on crates.io](https://meritbadge.herokuapp.com/imgui)](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!"));

View File

@ -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!"));

View File

@ -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!"));

View File

@ -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")); });
}

View File

@ -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 }

View File

@ -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 =

View File

@ -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

View File

@ -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
}
}

View File

@ -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;

View File

@ -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 {

View File

@ -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) {