1use crate::sys;
2
3bitflags::bitflags! {
4 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
6 pub struct Plot3DFlags: u32 {
7 const NONE = sys::ImPlot3DFlags_None as u32;
8 const NO_TITLE = sys::ImPlot3DFlags_NoTitle as u32;
9 const NO_LEGEND = sys::ImPlot3DFlags_NoLegend as u32;
10 const NO_MOUSE_TXT= sys::ImPlot3DFlags_NoMouseText as u32;
11 const NO_CLIP = sys::ImPlot3DFlags_NoClip as u32;
12 const NO_MENUS = sys::ImPlot3DFlags_NoMenus as u32;
13 const CANVAS_ONLY = sys::ImPlot3DFlags_CanvasOnly as u32;
14 }
15}
16
17bitflags::bitflags! {
18 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
20 pub struct Triangle3DFlags: u32 {
21 const NONE = sys::ImPlot3DTriangleFlags_None as u32;
22 const NO_LEGEND = sys::ImPlot3DTriangleFlags_NoLegend as u32;
23 const NO_FIT = sys::ImPlot3DTriangleFlags_NoFit as u32;
24 const NO_LINES = sys::ImPlot3DTriangleFlags_NoLines as u32;
25 const NO_FILL = sys::ImPlot3DTriangleFlags_NoFill as u32;
26 const NO_MARKERS = sys::ImPlot3DTriangleFlags_NoMarkers as u32;
27 }
28}
29
30bitflags::bitflags! {
31 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
33 pub struct Quad3DFlags: u32 {
34 const NONE = sys::ImPlot3DQuadFlags_None as u32;
35 const NO_LEGEND = sys::ImPlot3DQuadFlags_NoLegend as u32;
36 const NO_FIT = sys::ImPlot3DQuadFlags_NoFit as u32;
37 const NO_LINES = sys::ImPlot3DQuadFlags_NoLines as u32;
38 const NO_FILL = sys::ImPlot3DQuadFlags_NoFill as u32;
39 const NO_MARKERS = sys::ImPlot3DQuadFlags_NoMarkers as u32;
40 }
41}
42
43bitflags::bitflags! {
44 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
46 pub struct Surface3DFlags: u32 {
47 const NONE = sys::ImPlot3DSurfaceFlags_None as u32;
48 const NO_LEGEND = sys::ImPlot3DSurfaceFlags_NoLegend as u32;
49 const NO_FIT = sys::ImPlot3DSurfaceFlags_NoFit as u32;
50 const NO_LINES = sys::ImPlot3DSurfaceFlags_NoLines as u32;
51 const NO_FILL = sys::ImPlot3DSurfaceFlags_NoFill as u32;
52 const NO_MARKERS = sys::ImPlot3DSurfaceFlags_NoMarkers as u32;
53 }
54}
55
56bitflags::bitflags! {
57 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
59 pub struct Mesh3DFlags: u32 {
60 const NONE = sys::ImPlot3DMeshFlags_None as u32;
61 const NO_LEGEND = sys::ImPlot3DMeshFlags_NoLegend as u32;
62 const NO_FIT = sys::ImPlot3DMeshFlags_NoFit as u32;
63 const NO_LINES = sys::ImPlot3DMeshFlags_NoLines as u32;
64 const NO_FILL = sys::ImPlot3DMeshFlags_NoFill as u32;
65 const NO_MARKERS = sys::ImPlot3DMeshFlags_NoMarkers as u32;
66 }
67}
68
69bitflags::bitflags! {
70 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
72 pub struct Image3DFlags: u32 {
73 const NONE = sys::ImPlot3DImageFlags_None as u32;
74 const NO_LEGEND = sys::ImPlot3DImageFlags_NoLegend as u32;
75 const NO_FIT = sys::ImPlot3DImageFlags_NoFit as u32;
76 }
77}
78
79bitflags::bitflags! {
80 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
82 pub struct Item3DFlags: u32 {
83 const NONE = sys::ImPlot3DItemFlags_None as u32;
84 const NO_LEGEND = sys::ImPlot3DItemFlags_NoLegend as u32;
85 const NO_FIT = sys::ImPlot3DItemFlags_NoFit as u32;
86 }
87}
88
89bitflags::bitflags! {
90 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
92 pub struct Scatter3DFlags: u32 {
93 const NONE = sys::ImPlot3DScatterFlags_None as u32;
94 const NO_LEGEND = sys::ImPlot3DScatterFlags_NoLegend as u32;
95 const NO_FIT = sys::ImPlot3DScatterFlags_NoFit as u32;
96 }
97}
98
99bitflags::bitflags! {
100 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
102 pub struct Line3DFlags: u32 {
103 const NONE = sys::ImPlot3DLineFlags_None as u32;
104 const NO_LEGEND = sys::ImPlot3DLineFlags_NoLegend as u32;
105 const NO_FIT = sys::ImPlot3DLineFlags_NoFit as u32;
106 const SEGMENTS = sys::ImPlot3DLineFlags_Segments as u32;
107 const LOOP = sys::ImPlot3DLineFlags_Loop as u32;
108 const SKIP_NAN = sys::ImPlot3DLineFlags_SkipNaN as u32;
109 }
110}
111
112bitflags::bitflags! {
113 #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
115 pub struct Axis3DFlags: u32 {
116 const NONE = sys::ImPlot3DAxisFlags_None as u32;
117 const NO_LABEL = sys::ImPlot3DAxisFlags_NoLabel as u32;
118 const NO_GRID_LINES = sys::ImPlot3DAxisFlags_NoGridLines as u32;
119 const NO_TICK_MARKS = sys::ImPlot3DAxisFlags_NoTickMarks as u32;
120 const NO_TICK_LABELS = sys::ImPlot3DAxisFlags_NoTickLabels as u32;
121 const LOCK_MIN = sys::ImPlot3DAxisFlags_LockMin as u32;
122 const LOCK_MAX = sys::ImPlot3DAxisFlags_LockMax as u32;
123 const AUTO_FIT = sys::ImPlot3DAxisFlags_AutoFit as u32;
124 const INVERT = sys::ImPlot3DAxisFlags_Invert as u32;
125 const PAN_STRETCH = sys::ImPlot3DAxisFlags_PanStretch as u32;
126 const LOCK = sys::ImPlot3DAxisFlags_Lock as u32;
127 const NO_DECORATIONS = sys::ImPlot3DAxisFlags_NoDecorations as u32;
128 }
129}
130
131#[repr(i32)]
132#[derive(Copy, Clone, Debug, PartialEq, Eq)]
133pub enum Marker3D {
134 None = sys::ImPlot3DMarker_None,
135 Circle = sys::ImPlot3DMarker_Circle,
136 Square = sys::ImPlot3DMarker_Square,
137 Diamond = sys::ImPlot3DMarker_Diamond,
138 Up = sys::ImPlot3DMarker_Up,
139 Down = sys::ImPlot3DMarker_Down,
140 Left = sys::ImPlot3DMarker_Left,
141 Right = sys::ImPlot3DMarker_Right,
142 Cross = sys::ImPlot3DMarker_Cross,
143 Plus = sys::ImPlot3DMarker_Plus,
144 Asterisk = sys::ImPlot3DMarker_Asterisk,
145}
146#[repr(i32)]
148#[derive(Copy, Clone, Debug, PartialEq, Eq)]
149pub enum Axis3D {
150 X = 0,
152 Y = 1,
153 Z = 2,
154}
155
156#[repr(i32)]
158#[derive(Copy, Clone, Debug, PartialEq, Eq)]
159#[allow(clippy::unnecessary_cast)] pub enum Plot3DCond {
161 None = sys::ImPlot3DCond_None as i32,
162 Always = sys::ImPlot3DCond_Always as i32,
163 Once = sys::ImPlot3DCond_Once as i32,
164}