1use crate::ffi;
6use glib::translate::*;
7
8#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
9#[non_exhaustive]
10#[doc(alias = "graphene_euler_order_t")]
11pub enum EulerOrder {
12 #[doc(alias = "GRAPHENE_EULER_ORDER_DEFAULT")]
13 Default,
14 #[doc(alias = "GRAPHENE_EULER_ORDER_XYZ")]
15 Xyz,
16 #[doc(alias = "GRAPHENE_EULER_ORDER_YZX")]
17 Yzx,
18 #[doc(alias = "GRAPHENE_EULER_ORDER_ZXY")]
19 Zxy,
20 #[doc(alias = "GRAPHENE_EULER_ORDER_XZY")]
21 Xzy,
22 #[doc(alias = "GRAPHENE_EULER_ORDER_YXZ")]
23 Yxz,
24 #[doc(alias = "GRAPHENE_EULER_ORDER_ZYX")]
25 Zyx,
26 #[doc(alias = "GRAPHENE_EULER_ORDER_SXYZ")]
27 Sxyz,
28 #[doc(alias = "GRAPHENE_EULER_ORDER_SXYX")]
29 Sxyx,
30 #[doc(alias = "GRAPHENE_EULER_ORDER_SXZY")]
31 Sxzy,
32 #[doc(alias = "GRAPHENE_EULER_ORDER_SXZX")]
33 Sxzx,
34 #[doc(alias = "GRAPHENE_EULER_ORDER_SYZX")]
35 Syzx,
36 #[doc(alias = "GRAPHENE_EULER_ORDER_SYZY")]
37 Syzy,
38 #[doc(alias = "GRAPHENE_EULER_ORDER_SYXZ")]
39 Syxz,
40 #[doc(alias = "GRAPHENE_EULER_ORDER_SYXY")]
41 Syxy,
42 #[doc(alias = "GRAPHENE_EULER_ORDER_SZXY")]
43 Szxy,
44 #[doc(alias = "GRAPHENE_EULER_ORDER_SZXZ")]
45 Szxz,
46 #[doc(alias = "GRAPHENE_EULER_ORDER_SZYX")]
47 Szyx,
48 #[doc(alias = "GRAPHENE_EULER_ORDER_SZYZ")]
49 Szyz,
50 #[doc(alias = "GRAPHENE_EULER_ORDER_RZYX")]
51 Rzyx,
52 #[doc(alias = "GRAPHENE_EULER_ORDER_RXYX")]
53 Rxyx,
54 #[doc(alias = "GRAPHENE_EULER_ORDER_RYZX")]
55 Ryzx,
56 #[doc(alias = "GRAPHENE_EULER_ORDER_RXZX")]
57 Rxzx,
58 #[doc(alias = "GRAPHENE_EULER_ORDER_RXZY")]
59 Rxzy,
60 #[doc(alias = "GRAPHENE_EULER_ORDER_RYZY")]
61 Ryzy,
62 #[doc(alias = "GRAPHENE_EULER_ORDER_RZXY")]
63 Rzxy,
64 #[doc(alias = "GRAPHENE_EULER_ORDER_RYXY")]
65 Ryxy,
66 #[doc(alias = "GRAPHENE_EULER_ORDER_RYXZ")]
67 Ryxz,
68 #[doc(alias = "GRAPHENE_EULER_ORDER_RZXZ")]
69 Rzxz,
70 #[doc(alias = "GRAPHENE_EULER_ORDER_RXYZ")]
71 Rxyz,
72 #[doc(alias = "GRAPHENE_EULER_ORDER_RZYZ")]
73 Rzyz,
74 #[doc(hidden)]
75 __Unknown(i32),
76}
77
78#[doc(hidden)]
79impl IntoGlib for EulerOrder {
80 type GlibType = ffi::graphene_euler_order_t;
81
82 fn into_glib(self) -> ffi::graphene_euler_order_t {
83 match self {
84 Self::Default => ffi::GRAPHENE_EULER_ORDER_DEFAULT,
85 Self::Xyz => ffi::GRAPHENE_EULER_ORDER_XYZ,
86 Self::Yzx => ffi::GRAPHENE_EULER_ORDER_YZX,
87 Self::Zxy => ffi::GRAPHENE_EULER_ORDER_ZXY,
88 Self::Xzy => ffi::GRAPHENE_EULER_ORDER_XZY,
89 Self::Yxz => ffi::GRAPHENE_EULER_ORDER_YXZ,
90 Self::Zyx => ffi::GRAPHENE_EULER_ORDER_ZYX,
91 Self::Sxyz => ffi::GRAPHENE_EULER_ORDER_SXYZ,
92 Self::Sxyx => ffi::GRAPHENE_EULER_ORDER_SXYX,
93 Self::Sxzy => ffi::GRAPHENE_EULER_ORDER_SXZY,
94 Self::Sxzx => ffi::GRAPHENE_EULER_ORDER_SXZX,
95 Self::Syzx => ffi::GRAPHENE_EULER_ORDER_SYZX,
96 Self::Syzy => ffi::GRAPHENE_EULER_ORDER_SYZY,
97 Self::Syxz => ffi::GRAPHENE_EULER_ORDER_SYXZ,
98 Self::Syxy => ffi::GRAPHENE_EULER_ORDER_SYXY,
99 Self::Szxy => ffi::GRAPHENE_EULER_ORDER_SZXY,
100 Self::Szxz => ffi::GRAPHENE_EULER_ORDER_SZXZ,
101 Self::Szyx => ffi::GRAPHENE_EULER_ORDER_SZYX,
102 Self::Szyz => ffi::GRAPHENE_EULER_ORDER_SZYZ,
103 Self::Rzyx => ffi::GRAPHENE_EULER_ORDER_RZYX,
104 Self::Rxyx => ffi::GRAPHENE_EULER_ORDER_RXYX,
105 Self::Ryzx => ffi::GRAPHENE_EULER_ORDER_RYZX,
106 Self::Rxzx => ffi::GRAPHENE_EULER_ORDER_RXZX,
107 Self::Rxzy => ffi::GRAPHENE_EULER_ORDER_RXZY,
108 Self::Ryzy => ffi::GRAPHENE_EULER_ORDER_RYZY,
109 Self::Rzxy => ffi::GRAPHENE_EULER_ORDER_RZXY,
110 Self::Ryxy => ffi::GRAPHENE_EULER_ORDER_RYXY,
111 Self::Ryxz => ffi::GRAPHENE_EULER_ORDER_RYXZ,
112 Self::Rzxz => ffi::GRAPHENE_EULER_ORDER_RZXZ,
113 Self::Rxyz => ffi::GRAPHENE_EULER_ORDER_RXYZ,
114 Self::Rzyz => ffi::GRAPHENE_EULER_ORDER_RZYZ,
115 Self::__Unknown(value) => value,
116 }
117 }
118}
119
120#[doc(hidden)]
121impl FromGlib<ffi::graphene_euler_order_t> for EulerOrder {
122 unsafe fn from_glib(value: ffi::graphene_euler_order_t) -> Self {
123 skip_assert_initialized!();
124
125 match value {
126 ffi::GRAPHENE_EULER_ORDER_DEFAULT => Self::Default,
127 ffi::GRAPHENE_EULER_ORDER_XYZ => Self::Xyz,
128 ffi::GRAPHENE_EULER_ORDER_YZX => Self::Yzx,
129 ffi::GRAPHENE_EULER_ORDER_ZXY => Self::Zxy,
130 ffi::GRAPHENE_EULER_ORDER_XZY => Self::Xzy,
131 ffi::GRAPHENE_EULER_ORDER_YXZ => Self::Yxz,
132 ffi::GRAPHENE_EULER_ORDER_ZYX => Self::Zyx,
133 ffi::GRAPHENE_EULER_ORDER_SXYZ => Self::Sxyz,
134 ffi::GRAPHENE_EULER_ORDER_SXYX => Self::Sxyx,
135 ffi::GRAPHENE_EULER_ORDER_SXZY => Self::Sxzy,
136 ffi::GRAPHENE_EULER_ORDER_SXZX => Self::Sxzx,
137 ffi::GRAPHENE_EULER_ORDER_SYZX => Self::Syzx,
138 ffi::GRAPHENE_EULER_ORDER_SYZY => Self::Syzy,
139 ffi::GRAPHENE_EULER_ORDER_SYXZ => Self::Syxz,
140 ffi::GRAPHENE_EULER_ORDER_SYXY => Self::Syxy,
141 ffi::GRAPHENE_EULER_ORDER_SZXY => Self::Szxy,
142 ffi::GRAPHENE_EULER_ORDER_SZXZ => Self::Szxz,
143 ffi::GRAPHENE_EULER_ORDER_SZYX => Self::Szyx,
144 ffi::GRAPHENE_EULER_ORDER_SZYZ => Self::Szyz,
145 ffi::GRAPHENE_EULER_ORDER_RZYX => Self::Rzyx,
146 ffi::GRAPHENE_EULER_ORDER_RXYX => Self::Rxyx,
147 ffi::GRAPHENE_EULER_ORDER_RYZX => Self::Ryzx,
148 ffi::GRAPHENE_EULER_ORDER_RXZX => Self::Rxzx,
149 ffi::GRAPHENE_EULER_ORDER_RXZY => Self::Rxzy,
150 ffi::GRAPHENE_EULER_ORDER_RYZY => Self::Ryzy,
151 ffi::GRAPHENE_EULER_ORDER_RZXY => Self::Rzxy,
152 ffi::GRAPHENE_EULER_ORDER_RYXY => Self::Ryxy,
153 ffi::GRAPHENE_EULER_ORDER_RYXZ => Self::Ryxz,
154 ffi::GRAPHENE_EULER_ORDER_RZXZ => Self::Rzxz,
155 ffi::GRAPHENE_EULER_ORDER_RXYZ => Self::Rxyz,
156 ffi::GRAPHENE_EULER_ORDER_RZYZ => Self::Rzyz,
157 value => Self::__Unknown(value),
158 }
159 }
160}
161
162#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
163#[non_exhaustive]
164#[doc(alias = "graphene_ray_intersection_kind_t")]
165pub enum RayIntersectionKind {
166 #[doc(alias = "GRAPHENE_RAY_INTERSECTION_KIND_NONE")]
167 None,
168 #[doc(alias = "GRAPHENE_RAY_INTERSECTION_KIND_ENTER")]
169 Enter,
170 #[doc(alias = "GRAPHENE_RAY_INTERSECTION_KIND_LEAVE")]
171 Leave,
172 #[doc(hidden)]
173 __Unknown(i32),
174}
175
176#[doc(hidden)]
177impl IntoGlib for RayIntersectionKind {
178 type GlibType = ffi::graphene_ray_intersection_kind_t;
179
180 #[inline]
181 fn into_glib(self) -> ffi::graphene_ray_intersection_kind_t {
182 match self {
183 Self::None => ffi::GRAPHENE_RAY_INTERSECTION_KIND_NONE,
184 Self::Enter => ffi::GRAPHENE_RAY_INTERSECTION_KIND_ENTER,
185 Self::Leave => ffi::GRAPHENE_RAY_INTERSECTION_KIND_LEAVE,
186 Self::__Unknown(value) => value,
187 }
188 }
189}
190
191#[doc(hidden)]
192impl FromGlib<ffi::graphene_ray_intersection_kind_t> for RayIntersectionKind {
193 #[inline]
194 unsafe fn from_glib(value: ffi::graphene_ray_intersection_kind_t) -> Self {
195 skip_assert_initialized!();
196
197 match value {
198 ffi::GRAPHENE_RAY_INTERSECTION_KIND_NONE => Self::None,
199 ffi::GRAPHENE_RAY_INTERSECTION_KIND_ENTER => Self::Enter,
200 ffi::GRAPHENE_RAY_INTERSECTION_KIND_LEAVE => Self::Leave,
201 value => Self::__Unknown(value),
202 }
203 }
204}