1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//! Docking space functionality for Dear ImGui
//!
//! This module provides high-level Rust bindings for Dear ImGui's docking system,
//! allowing you to create dockable windows and manage dock spaces.
//!
//! # Notes
//!
//! Docking support is always compiled into this crate; no Cargo feature is required. Set
//! [`ConfigFlags::DOCKING_ENABLE`](crate::ConfigFlags::DOCKING_ENABLE) before the first frame when
//! the Context will use docking. The setting is intentionally stable for that Context's lifetime
//! because Dear ImGui destroys live dock nodes when it is disabled at runtime.
//!
//! # Basic Usage
//!
//! ```no_run
//! # use dear_imgui_rs::*;
//! # let mut ctx = Context::create();
//! # ctx.io_mut().set_display_size([1280.0, 720.0]);
//! # let flags = ctx.io().config_flags() | ConfigFlags::DOCKING_ENABLE;
//! # ctx.io_mut().set_config_flags(flags);
//! # ctx.font_atlas()
//! # .try_claim_legacy_renderer()
//! # .expect("legacy renderer font atlas should be available")
//! # .build();
//! # let ui = ctx.frame();
//! let tools = WindowKey::new("tools", "Tools")?;
//! let layout = DockLayout::tabs([&tools]);
//! ui.dockspace()
//! .layout(&layout, DockLayoutApply::IfMissing)
//! .build()?;
//!
//! ui.window(&tools).build(|| {
//! ui.text("This window is docked!");
//! });
//! # Ok::<(), Box<dyn std::error::Error>>(())
//! ```
//!
//! The old parallel convenience methods are intentionally absent:
//!
//! ```compile_fail
//! # use dear_imgui_rs::{Context, Id};
//! # let mut context = Context::create();
//! # let ui = context.frame();
//! let _ = ui.dock_space(Id::from(1_u32), [400.0, 300.0]);
//! ```
pub use DockspaceBuilder;
pub use ;
pub use ;
pub use ;