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
use crate::Plot3DUi;
use crate::sys;
impl Plot3DUi<'_> {
/// Show upstream ImPlot3D demos (from C++ demo).
///
/// This displays all available ImPlot3D demos in a single window.
/// Useful for learning and testing the library.
pub fn show_all_demos(&self) {
let _guard = self.bind();
unsafe { sys::ImPlot3D_ShowAllDemos() }
}
/// Show the main ImPlot3D demo window (C++ upstream).
///
/// This displays the main demo window with tabs for different plot types.
pub fn show_demo_window(&self) {
let _guard = self.bind();
unsafe { sys::ImPlot3D_ShowDemoWindow(std::ptr::null_mut()) }
}
/// Show the main ImPlot3D demo window with a visibility flag.
pub fn show_demo_window_with_flag(&self, p_open: &mut bool) {
let _guard = self.bind();
unsafe { sys::ImPlot3D_ShowDemoWindow(p_open as *mut bool) }
}
/// Show the ImPlot3D style editor window.
///
/// This displays a window for editing ImPlot3D style settings in real time.
pub fn show_style_editor(&self) {
let _guard = self.bind();
unsafe { sys::ImPlot3D_ShowStyleEditor(std::ptr::null_mut()) }
}
/// Show the ImPlot3D metrics/debugger window.
///
/// This displays performance metrics and debugging information.
pub fn show_metrics_window(&self) {
let _guard = self.bind();
unsafe { sys::ImPlot3D_ShowMetricsWindow(std::ptr::null_mut()) }
}
/// Show the ImPlot3D metrics/debugger window with a visibility flag.
pub fn show_metrics_window_with_flag(&self, p_open: &mut bool) {
let _guard = self.bind();
unsafe { sys::ImPlot3D_ShowMetricsWindow(p_open as *mut bool) }
}
}