From 2702390eb542757093efa0f6366fe0f0258df7d0 Mon Sep 17 00:00:00 2001 From: Jonathan Spira Date: Tue, 1 Oct 2024 23:01:30 -0400 Subject: [PATCH] normal works without warning now --- imgui/Cargo.toml | 2 +- imgui/src/context.rs | 5 ++++- imgui/src/io.rs | 31 ++++++++++++++++++++++--------- imgui/src/platform_io.rs | 8 ++++---- imgui/src/style.rs | 4 +++- 5 files changed, 34 insertions(+), 16 deletions(-) diff --git a/imgui/Cargo.toml b/imgui/Cargo.toml index 31d614d..97718ac 100644 --- a/imgui/Cargo.toml +++ b/imgui/Cargo.toml @@ -23,7 +23,7 @@ parking_lot = "0.12" cfg-if = "1" [features] -default = ["docking"] +# default = ["docking"] wasm = ["imgui-sys/wasm"] freetype = ["imgui-sys/freetype"] docking = ["imgui-sys/docking"] diff --git a/imgui/src/context.rs b/imgui/src/context.rs index 5683449..3e6ea1d 100644 --- a/imgui/src/context.rs +++ b/imgui/src/context.rs @@ -9,9 +9,12 @@ use crate::clipboard::{ClipboardBackend, ClipboardContext}; use crate::fonts::atlas::{FontAtlas, FontId, SharedFontAtlas}; use crate::io::Io; use crate::style::Style; -use crate::{docking_utils, sys, DrawData}; +use crate::{sys, DrawData}; use crate::{MouseCursor, Ui}; +#[cfg(feature = "docking")] +use crate::docking_utils; + /// An imgui-rs context. /// /// A context needs to be created to access most library functions. Due to current Dear ImGui diff --git a/imgui/src/io.rs b/imgui/src/io.rs index 812ea08..b7e7ba5 100644 --- a/imgui/src/io.rs +++ b/imgui/src/io.rs @@ -486,14 +486,6 @@ fn test_io_memory_layout() { assert_field_offset!(font_allow_user_scaling, FontAllowUserScaling); assert_field_offset!(font_default, FontDefault); assert_field_offset!(display_framebuffer_scale, DisplayFramebufferScale); - assert_field_offset!(config_docking_no_split, ConfigDockingNoSplit); - assert_field_offset!(config_docking_with_shift, ConfigDockingWithShift); - assert_field_offset!(config_docking_always_tab_bar, ConfigDockingAlwaysTabBar); - assert_field_offset!(config_docking_transparent_payload, ConfigDockingTransparentPayload); - assert_field_offset!(config_viewports_no_auto_merge, ConfigViewportsNoAutoMerge); - assert_field_offset!(config_viewports_no_task_bar_icon, ConfigViewportsNoTaskBarIcon); - assert_field_offset!(config_viewports_no_decoration, ConfigViewportsNoDecoration); - assert_field_offset!(config_viewports_no_default_parent, ConfigViewportsNoDefaultParent); assert_field_offset!(mouse_draw_cursor, MouseDrawCursor); assert_field_offset!(config_mac_os_behaviors, ConfigMacOSXBehaviors); assert_field_offset!( @@ -536,7 +528,6 @@ fn test_io_memory_layout() { assert_field_offset!(mouse_wheel, MouseWheel); assert_field_offset!(mouse_wheel_h, MouseWheelH); assert_field_offset!(mouse_source, MouseSource); - assert_field_offset!(mouse_hovered_viewport, MouseHoveredViewport); assert_field_offset!(key_ctrl, KeyCtrl); assert_field_offset!(key_shift, KeyShift); assert_field_offset!(key_alt, KeyAlt); @@ -569,6 +560,28 @@ fn test_io_memory_layout() { ); assert_field_offset!(input_queue_surrogate, InputQueueSurrogate); assert_field_offset!(input_queue_characters, InputQueueCharacters); + + #[cfg(feature = "docking")] + { + assert_field_offset!(mouse_hovered_viewport, MouseHoveredViewport); + assert_field_offset!(config_docking_no_split, ConfigDockingNoSplit); + assert_field_offset!(config_docking_with_shift, ConfigDockingWithShift); + assert_field_offset!(config_docking_always_tab_bar, ConfigDockingAlwaysTabBar); + assert_field_offset!( + config_docking_transparent_payload, + ConfigDockingTransparentPayload + ); + assert_field_offset!(config_viewports_no_auto_merge, ConfigViewportsNoAutoMerge); + assert_field_offset!( + config_viewports_no_task_bar_icon, + ConfigViewportsNoTaskBarIcon + ); + assert_field_offset!(config_viewports_no_decoration, ConfigViewportsNoDecoration); + assert_field_offset!( + config_viewports_no_default_parent, + ConfigViewportsNoDefaultParent + ); + } }) .unwrap() .join() diff --git a/imgui/src/platform_io.rs b/imgui/src/platform_io.rs index 0ba0823..2507099 100644 --- a/imgui/src/platform_io.rs +++ b/imgui/src/platform_io.rs @@ -1,9 +1,9 @@ use std::ffi::{c_char, c_void}; -use crate::{ - internal::{ImVector, RawCast}, - PlatformMonitor, ViewportFlags, -}; +use crate::{internal::RawCast, ViewportFlags}; + +#[cfg(feature = "docking")] +use crate::{internal::ImVector, PlatformMonitor}; /// Holds the information needed to enable multiple viewports. #[repr(C)] diff --git a/imgui/src/style.rs b/imgui/src/style.rs index 2fdbf92..511973b 100644 --- a/imgui/src/style.rs +++ b/imgui/src/style.rs @@ -717,7 +717,6 @@ fn test_style_memory_layout() { assert_field_offset!(selectable_text_align, SelectableTextAlign); assert_field_offset!(display_window_padding, DisplayWindowPadding); assert_field_offset!(display_safe_area_padding, DisplaySafeAreaPadding); - assert_field_offset!(docking_separator_size, DockingSeparatorSize); assert_field_offset!(mouse_cursor_scale, MouseCursorScale); assert_field_offset!(anti_aliased_lines, AntiAliasedLines); assert_field_offset!(anti_aliased_lines_use_tex, AntiAliasedLinesUseTex); @@ -725,6 +724,9 @@ fn test_style_memory_layout() { assert_field_offset!(curve_tessellation_tol, CurveTessellationTol); assert_field_offset!(circle_tesselation_max_error, CircleTessellationMaxError); assert_field_offset!(colors, Colors); + + #[cfg(feature = "docking")] + assert_field_offset!(docking_separator_size, DockingSeparatorSize); } #[test]