1use crate::ffi;
6use glib::translate::*;
7
8#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
13#[non_exhaustive]
14#[doc(alias = "graphene_euler_order_t")]
15pub enum EulerOrder {
16 #[doc(alias = "GRAPHENE_EULER_ORDER_DEFAULT")]
19 Default,
20 #[doc(alias = "GRAPHENE_EULER_ORDER_XYZ")]
23 Xyz,
24 #[doc(alias = "GRAPHENE_EULER_ORDER_YZX")]
27 Yzx,
28 #[doc(alias = "GRAPHENE_EULER_ORDER_ZXY")]
31 Zxy,
32 #[doc(alias = "GRAPHENE_EULER_ORDER_XZY")]
35 Xzy,
36 #[doc(alias = "GRAPHENE_EULER_ORDER_YXZ")]
39 Yxz,
40 #[doc(alias = "GRAPHENE_EULER_ORDER_ZYX")]
43 Zyx,
44 #[doc(alias = "GRAPHENE_EULER_ORDER_SXYZ")]
46 Sxyz,
47 #[doc(alias = "GRAPHENE_EULER_ORDER_SXYX")]
49 Sxyx,
50 #[doc(alias = "GRAPHENE_EULER_ORDER_SXZY")]
52 Sxzy,
53 #[doc(alias = "GRAPHENE_EULER_ORDER_SXZX")]
55 Sxzx,
56 #[doc(alias = "GRAPHENE_EULER_ORDER_SYZX")]
58 Syzx,
59 #[doc(alias = "GRAPHENE_EULER_ORDER_SYZY")]
61 Syzy,
62 #[doc(alias = "GRAPHENE_EULER_ORDER_SYXZ")]
64 Syxz,
65 #[doc(alias = "GRAPHENE_EULER_ORDER_SYXY")]
67 Syxy,
68 #[doc(alias = "GRAPHENE_EULER_ORDER_SZXY")]
70 Szxy,
71 #[doc(alias = "GRAPHENE_EULER_ORDER_SZXZ")]
73 Szxz,
74 #[doc(alias = "GRAPHENE_EULER_ORDER_SZYX")]
76 Szyx,
77 #[doc(alias = "GRAPHENE_EULER_ORDER_SZYZ")]
79 Szyz,
80 #[doc(alias = "GRAPHENE_EULER_ORDER_RZYX")]
82 Rzyx,
83 #[doc(alias = "GRAPHENE_EULER_ORDER_RXYX")]
85 Rxyx,
86 #[doc(alias = "GRAPHENE_EULER_ORDER_RYZX")]
88 Ryzx,
89 #[doc(alias = "GRAPHENE_EULER_ORDER_RXZX")]
91 Rxzx,
92 #[doc(alias = "GRAPHENE_EULER_ORDER_RXZY")]
94 Rxzy,
95 #[doc(alias = "GRAPHENE_EULER_ORDER_RYZY")]
97 Ryzy,
98 #[doc(alias = "GRAPHENE_EULER_ORDER_RZXY")]
100 Rzxy,
101 #[doc(alias = "GRAPHENE_EULER_ORDER_RYXY")]
103 Ryxy,
104 #[doc(alias = "GRAPHENE_EULER_ORDER_RYXZ")]
106 Ryxz,
107 #[doc(alias = "GRAPHENE_EULER_ORDER_RZXZ")]
109 Rzxz,
110 #[doc(alias = "GRAPHENE_EULER_ORDER_RXYZ")]
112 Rxyz,
113 #[doc(alias = "GRAPHENE_EULER_ORDER_RZYZ")]
115 Rzyz,
116 #[doc(hidden)]
117 __Unknown(i32),
118}
119
120#[doc(hidden)]
121impl IntoGlib for EulerOrder {
122 type GlibType = ffi::graphene_euler_order_t;
123
124 fn into_glib(self) -> ffi::graphene_euler_order_t {
125 match self {
126 Self::Default => ffi::GRAPHENE_EULER_ORDER_DEFAULT,
127 Self::Xyz => ffi::GRAPHENE_EULER_ORDER_XYZ,
128 Self::Yzx => ffi::GRAPHENE_EULER_ORDER_YZX,
129 Self::Zxy => ffi::GRAPHENE_EULER_ORDER_ZXY,
130 Self::Xzy => ffi::GRAPHENE_EULER_ORDER_XZY,
131 Self::Yxz => ffi::GRAPHENE_EULER_ORDER_YXZ,
132 Self::Zyx => ffi::GRAPHENE_EULER_ORDER_ZYX,
133 Self::Sxyz => ffi::GRAPHENE_EULER_ORDER_SXYZ,
134 Self::Sxyx => ffi::GRAPHENE_EULER_ORDER_SXYX,
135 Self::Sxzy => ffi::GRAPHENE_EULER_ORDER_SXZY,
136 Self::Sxzx => ffi::GRAPHENE_EULER_ORDER_SXZX,
137 Self::Syzx => ffi::GRAPHENE_EULER_ORDER_SYZX,
138 Self::Syzy => ffi::GRAPHENE_EULER_ORDER_SYZY,
139 Self::Syxz => ffi::GRAPHENE_EULER_ORDER_SYXZ,
140 Self::Syxy => ffi::GRAPHENE_EULER_ORDER_SYXY,
141 Self::Szxy => ffi::GRAPHENE_EULER_ORDER_SZXY,
142 Self::Szxz => ffi::GRAPHENE_EULER_ORDER_SZXZ,
143 Self::Szyx => ffi::GRAPHENE_EULER_ORDER_SZYX,
144 Self::Szyz => ffi::GRAPHENE_EULER_ORDER_SZYZ,
145 Self::Rzyx => ffi::GRAPHENE_EULER_ORDER_RZYX,
146 Self::Rxyx => ffi::GRAPHENE_EULER_ORDER_RXYX,
147 Self::Ryzx => ffi::GRAPHENE_EULER_ORDER_RYZX,
148 Self::Rxzx => ffi::GRAPHENE_EULER_ORDER_RXZX,
149 Self::Rxzy => ffi::GRAPHENE_EULER_ORDER_RXZY,
150 Self::Ryzy => ffi::GRAPHENE_EULER_ORDER_RYZY,
151 Self::Rzxy => ffi::GRAPHENE_EULER_ORDER_RZXY,
152 Self::Ryxy => ffi::GRAPHENE_EULER_ORDER_RYXY,
153 Self::Ryxz => ffi::GRAPHENE_EULER_ORDER_RYXZ,
154 Self::Rzxz => ffi::GRAPHENE_EULER_ORDER_RZXZ,
155 Self::Rxyz => ffi::GRAPHENE_EULER_ORDER_RXYZ,
156 Self::Rzyz => ffi::GRAPHENE_EULER_ORDER_RZYZ,
157 Self::__Unknown(value) => value,
158 }
159 }
160}
161
162#[doc(hidden)]
163impl FromGlib<ffi::graphene_euler_order_t> for EulerOrder {
164 unsafe fn from_glib(value: ffi::graphene_euler_order_t) -> Self {
165 skip_assert_initialized!();
166
167 match value {
168 ffi::GRAPHENE_EULER_ORDER_DEFAULT => Self::Default,
169 ffi::GRAPHENE_EULER_ORDER_XYZ => Self::Xyz,
170 ffi::GRAPHENE_EULER_ORDER_YZX => Self::Yzx,
171 ffi::GRAPHENE_EULER_ORDER_ZXY => Self::Zxy,
172 ffi::GRAPHENE_EULER_ORDER_XZY => Self::Xzy,
173 ffi::GRAPHENE_EULER_ORDER_YXZ => Self::Yxz,
174 ffi::GRAPHENE_EULER_ORDER_ZYX => Self::Zyx,
175 ffi::GRAPHENE_EULER_ORDER_SXYZ => Self::Sxyz,
176 ffi::GRAPHENE_EULER_ORDER_SXYX => Self::Sxyx,
177 ffi::GRAPHENE_EULER_ORDER_SXZY => Self::Sxzy,
178 ffi::GRAPHENE_EULER_ORDER_SXZX => Self::Sxzx,
179 ffi::GRAPHENE_EULER_ORDER_SYZX => Self::Syzx,
180 ffi::GRAPHENE_EULER_ORDER_SYZY => Self::Syzy,
181 ffi::GRAPHENE_EULER_ORDER_SYXZ => Self::Syxz,
182 ffi::GRAPHENE_EULER_ORDER_SYXY => Self::Syxy,
183 ffi::GRAPHENE_EULER_ORDER_SZXY => Self::Szxy,
184 ffi::GRAPHENE_EULER_ORDER_SZXZ => Self::Szxz,
185 ffi::GRAPHENE_EULER_ORDER_SZYX => Self::Szyx,
186 ffi::GRAPHENE_EULER_ORDER_SZYZ => Self::Szyz,
187 ffi::GRAPHENE_EULER_ORDER_RZYX => Self::Rzyx,
188 ffi::GRAPHENE_EULER_ORDER_RXYX => Self::Rxyx,
189 ffi::GRAPHENE_EULER_ORDER_RYZX => Self::Ryzx,
190 ffi::GRAPHENE_EULER_ORDER_RXZX => Self::Rxzx,
191 ffi::GRAPHENE_EULER_ORDER_RXZY => Self::Rxzy,
192 ffi::GRAPHENE_EULER_ORDER_RYZY => Self::Ryzy,
193 ffi::GRAPHENE_EULER_ORDER_RZXY => Self::Rzxy,
194 ffi::GRAPHENE_EULER_ORDER_RYXY => Self::Ryxy,
195 ffi::GRAPHENE_EULER_ORDER_RYXZ => Self::Ryxz,
196 ffi::GRAPHENE_EULER_ORDER_RZXZ => Self::Rzxz,
197 ffi::GRAPHENE_EULER_ORDER_RXYZ => Self::Rxyz,
198 ffi::GRAPHENE_EULER_ORDER_RZYZ => Self::Rzyz,
199 value => Self::__Unknown(value),
200 }
201 }
202}
203
204#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
206#[non_exhaustive]
207#[doc(alias = "graphene_ray_intersection_kind_t")]
208pub enum RayIntersectionKind {
209 #[doc(alias = "GRAPHENE_RAY_INTERSECTION_KIND_NONE")]
211 None,
212 #[doc(alias = "GRAPHENE_RAY_INTERSECTION_KIND_ENTER")]
215 Enter,
216 #[doc(alias = "GRAPHENE_RAY_INTERSECTION_KIND_LEAVE")]
219 Leave,
220 #[doc(hidden)]
221 __Unknown(i32),
222}
223
224#[doc(hidden)]
225impl IntoGlib for RayIntersectionKind {
226 type GlibType = ffi::graphene_ray_intersection_kind_t;
227
228 #[inline]
229 fn into_glib(self) -> ffi::graphene_ray_intersection_kind_t {
230 match self {
231 Self::None => ffi::GRAPHENE_RAY_INTERSECTION_KIND_NONE,
232 Self::Enter => ffi::GRAPHENE_RAY_INTERSECTION_KIND_ENTER,
233 Self::Leave => ffi::GRAPHENE_RAY_INTERSECTION_KIND_LEAVE,
234 Self::__Unknown(value) => value,
235 }
236 }
237}
238
239#[doc(hidden)]
240impl FromGlib<ffi::graphene_ray_intersection_kind_t> for RayIntersectionKind {
241 #[inline]
242 unsafe fn from_glib(value: ffi::graphene_ray_intersection_kind_t) -> Self {
243 skip_assert_initialized!();
244
245 match value {
246 ffi::GRAPHENE_RAY_INTERSECTION_KIND_NONE => Self::None,
247 ffi::GRAPHENE_RAY_INTERSECTION_KIND_ENTER => Self::Enter,
248 ffi::GRAPHENE_RAY_INTERSECTION_KIND_LEAVE => Self::Leave,
249 value => Self::__Unknown(value),
250 }
251 }
252}