1use crate::ffi;
6use glib::{prelude::*, translate::*};
7
8#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
9#[non_exhaustive]
10#[doc(alias = "GdkAxisUse")]
11pub enum AxisUse {
12 #[doc(alias = "GDK_AXIS_IGNORE")]
13 Ignore,
14 #[doc(alias = "GDK_AXIS_X")]
15 X,
16 #[doc(alias = "GDK_AXIS_Y")]
17 Y,
18 #[doc(alias = "GDK_AXIS_DELTA_X")]
19 DeltaX,
20 #[doc(alias = "GDK_AXIS_DELTA_Y")]
21 DeltaY,
22 #[doc(alias = "GDK_AXIS_PRESSURE")]
23 Pressure,
24 #[doc(alias = "GDK_AXIS_XTILT")]
25 Xtilt,
26 #[doc(alias = "GDK_AXIS_YTILT")]
27 Ytilt,
28 #[doc(alias = "GDK_AXIS_WHEEL")]
29 Wheel,
30 #[doc(alias = "GDK_AXIS_DISTANCE")]
31 Distance,
32 #[doc(alias = "GDK_AXIS_ROTATION")]
33 Rotation,
34 #[doc(alias = "GDK_AXIS_SLIDER")]
35 Slider,
36 #[doc(hidden)]
37 __Unknown(i32),
38}
39
40#[doc(hidden)]
41impl IntoGlib for AxisUse {
42 type GlibType = ffi::GdkAxisUse;
43
44 #[inline]
45 fn into_glib(self) -> ffi::GdkAxisUse {
46 match self {
47 Self::Ignore => ffi::GDK_AXIS_IGNORE,
48 Self::X => ffi::GDK_AXIS_X,
49 Self::Y => ffi::GDK_AXIS_Y,
50 Self::DeltaX => ffi::GDK_AXIS_DELTA_X,
51 Self::DeltaY => ffi::GDK_AXIS_DELTA_Y,
52 Self::Pressure => ffi::GDK_AXIS_PRESSURE,
53 Self::Xtilt => ffi::GDK_AXIS_XTILT,
54 Self::Ytilt => ffi::GDK_AXIS_YTILT,
55 Self::Wheel => ffi::GDK_AXIS_WHEEL,
56 Self::Distance => ffi::GDK_AXIS_DISTANCE,
57 Self::Rotation => ffi::GDK_AXIS_ROTATION,
58 Self::Slider => ffi::GDK_AXIS_SLIDER,
59 Self::__Unknown(value) => value,
60 }
61 }
62}
63
64#[doc(hidden)]
65impl FromGlib<ffi::GdkAxisUse> for AxisUse {
66 #[inline]
67 unsafe fn from_glib(value: ffi::GdkAxisUse) -> Self {
68 skip_assert_initialized!();
69
70 match value {
71 ffi::GDK_AXIS_IGNORE => Self::Ignore,
72 ffi::GDK_AXIS_X => Self::X,
73 ffi::GDK_AXIS_Y => Self::Y,
74 ffi::GDK_AXIS_DELTA_X => Self::DeltaX,
75 ffi::GDK_AXIS_DELTA_Y => Self::DeltaY,
76 ffi::GDK_AXIS_PRESSURE => Self::Pressure,
77 ffi::GDK_AXIS_XTILT => Self::Xtilt,
78 ffi::GDK_AXIS_YTILT => Self::Ytilt,
79 ffi::GDK_AXIS_WHEEL => Self::Wheel,
80 ffi::GDK_AXIS_DISTANCE => Self::Distance,
81 ffi::GDK_AXIS_ROTATION => Self::Rotation,
82 ffi::GDK_AXIS_SLIDER => Self::Slider,
83 value => Self::__Unknown(value),
84 }
85 }
86}
87
88impl StaticType for AxisUse {
89 #[inline]
90 #[doc(alias = "gdk_axis_use_get_type")]
91 fn static_type() -> glib::Type {
92 unsafe { from_glib(ffi::gdk_axis_use_get_type()) }
93 }
94}
95
96impl glib::HasParamSpec for AxisUse {
97 type ParamSpec = glib::ParamSpecEnum;
98 type SetValue = Self;
99 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
100
101 fn param_spec_builder() -> Self::BuilderFn {
102 Self::ParamSpec::builder_with_default
103 }
104}
105
106impl glib::value::ValueType for AxisUse {
107 type Type = Self;
108}
109
110unsafe impl<'a> glib::value::FromValue<'a> for AxisUse {
111 type Checker = glib::value::GenericValueTypeChecker<Self>;
112
113 #[inline]
114 unsafe fn from_value(value: &'a glib::Value) -> Self {
115 skip_assert_initialized!();
116 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
117 }
118}
119
120impl ToValue for AxisUse {
121 #[inline]
122 fn to_value(&self) -> glib::Value {
123 let mut value = glib::Value::for_value_type::<Self>();
124 unsafe {
125 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
126 }
127 value
128 }
129
130 #[inline]
131 fn value_type(&self) -> glib::Type {
132 Self::static_type()
133 }
134}
135
136impl From<AxisUse> for glib::Value {
137 #[inline]
138 fn from(v: AxisUse) -> Self {
139 skip_assert_initialized!();
140 ToValue::to_value(&v)
141 }
142}
143
144#[cfg(feature = "v4_16")]
145#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
146#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
147#[non_exhaustive]
148#[doc(alias = "GdkCicpRange")]
149pub enum CicpRange {
150 #[doc(alias = "GDK_CICP_RANGE_NARROW")]
151 Narrow,
152 #[doc(alias = "GDK_CICP_RANGE_FULL")]
153 Full,
154 #[doc(hidden)]
155 __Unknown(i32),
156}
157
158#[cfg(feature = "v4_16")]
159#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
160#[doc(hidden)]
161impl IntoGlib for CicpRange {
162 type GlibType = ffi::GdkCicpRange;
163
164 #[inline]
165 fn into_glib(self) -> ffi::GdkCicpRange {
166 match self {
167 Self::Narrow => ffi::GDK_CICP_RANGE_NARROW,
168 Self::Full => ffi::GDK_CICP_RANGE_FULL,
169 Self::__Unknown(value) => value,
170 }
171 }
172}
173
174#[cfg(feature = "v4_16")]
175#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
176#[doc(hidden)]
177impl FromGlib<ffi::GdkCicpRange> for CicpRange {
178 #[inline]
179 unsafe fn from_glib(value: ffi::GdkCicpRange) -> Self {
180 skip_assert_initialized!();
181
182 match value {
183 ffi::GDK_CICP_RANGE_NARROW => Self::Narrow,
184 ffi::GDK_CICP_RANGE_FULL => Self::Full,
185 value => Self::__Unknown(value),
186 }
187 }
188}
189
190#[cfg(feature = "v4_16")]
191#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
192impl StaticType for CicpRange {
193 #[inline]
194 #[doc(alias = "gdk_cicp_range_get_type")]
195 fn static_type() -> glib::Type {
196 unsafe { from_glib(ffi::gdk_cicp_range_get_type()) }
197 }
198}
199
200#[cfg(feature = "v4_16")]
201#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
202impl glib::HasParamSpec for CicpRange {
203 type ParamSpec = glib::ParamSpecEnum;
204 type SetValue = Self;
205 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
206
207 fn param_spec_builder() -> Self::BuilderFn {
208 Self::ParamSpec::builder_with_default
209 }
210}
211
212#[cfg(feature = "v4_16")]
213#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
214impl glib::value::ValueType for CicpRange {
215 type Type = Self;
216}
217
218#[cfg(feature = "v4_16")]
219#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
220unsafe impl<'a> glib::value::FromValue<'a> for CicpRange {
221 type Checker = glib::value::GenericValueTypeChecker<Self>;
222
223 #[inline]
224 unsafe fn from_value(value: &'a glib::Value) -> Self {
225 skip_assert_initialized!();
226 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
227 }
228}
229
230#[cfg(feature = "v4_16")]
231#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
232impl ToValue for CicpRange {
233 #[inline]
234 fn to_value(&self) -> glib::Value {
235 let mut value = glib::Value::for_value_type::<Self>();
236 unsafe {
237 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
238 }
239 value
240 }
241
242 #[inline]
243 fn value_type(&self) -> glib::Type {
244 Self::static_type()
245 }
246}
247
248#[cfg(feature = "v4_16")]
249#[cfg_attr(docsrs, doc(cfg(feature = "v4_16")))]
250impl From<CicpRange> for glib::Value {
251 #[inline]
252 fn from(v: CicpRange) -> Self {
253 skip_assert_initialized!();
254 ToValue::to_value(&v)
255 }
256}
257
258#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
259#[non_exhaustive]
260#[doc(alias = "GdkCrossingMode")]
261pub enum CrossingMode {
262 #[doc(alias = "GDK_CROSSING_NORMAL")]
263 Normal,
264 #[doc(alias = "GDK_CROSSING_GRAB")]
265 Grab,
266 #[doc(alias = "GDK_CROSSING_UNGRAB")]
267 Ungrab,
268 #[doc(alias = "GDK_CROSSING_GTK_GRAB")]
269 GtkGrab,
270 #[doc(alias = "GDK_CROSSING_GTK_UNGRAB")]
271 GtkUngrab,
272 #[doc(alias = "GDK_CROSSING_STATE_CHANGED")]
273 StateChanged,
274 #[doc(alias = "GDK_CROSSING_TOUCH_BEGIN")]
275 TouchBegin,
276 #[doc(alias = "GDK_CROSSING_TOUCH_END")]
277 TouchEnd,
278 #[doc(alias = "GDK_CROSSING_DEVICE_SWITCH")]
279 DeviceSwitch,
280 #[doc(hidden)]
281 __Unknown(i32),
282}
283
284#[doc(hidden)]
285impl IntoGlib for CrossingMode {
286 type GlibType = ffi::GdkCrossingMode;
287
288 #[inline]
289 fn into_glib(self) -> ffi::GdkCrossingMode {
290 match self {
291 Self::Normal => ffi::GDK_CROSSING_NORMAL,
292 Self::Grab => ffi::GDK_CROSSING_GRAB,
293 Self::Ungrab => ffi::GDK_CROSSING_UNGRAB,
294 Self::GtkGrab => ffi::GDK_CROSSING_GTK_GRAB,
295 Self::GtkUngrab => ffi::GDK_CROSSING_GTK_UNGRAB,
296 Self::StateChanged => ffi::GDK_CROSSING_STATE_CHANGED,
297 Self::TouchBegin => ffi::GDK_CROSSING_TOUCH_BEGIN,
298 Self::TouchEnd => ffi::GDK_CROSSING_TOUCH_END,
299 Self::DeviceSwitch => ffi::GDK_CROSSING_DEVICE_SWITCH,
300 Self::__Unknown(value) => value,
301 }
302 }
303}
304
305#[doc(hidden)]
306impl FromGlib<ffi::GdkCrossingMode> for CrossingMode {
307 #[inline]
308 unsafe fn from_glib(value: ffi::GdkCrossingMode) -> Self {
309 skip_assert_initialized!();
310
311 match value {
312 ffi::GDK_CROSSING_NORMAL => Self::Normal,
313 ffi::GDK_CROSSING_GRAB => Self::Grab,
314 ffi::GDK_CROSSING_UNGRAB => Self::Ungrab,
315 ffi::GDK_CROSSING_GTK_GRAB => Self::GtkGrab,
316 ffi::GDK_CROSSING_GTK_UNGRAB => Self::GtkUngrab,
317 ffi::GDK_CROSSING_STATE_CHANGED => Self::StateChanged,
318 ffi::GDK_CROSSING_TOUCH_BEGIN => Self::TouchBegin,
319 ffi::GDK_CROSSING_TOUCH_END => Self::TouchEnd,
320 ffi::GDK_CROSSING_DEVICE_SWITCH => Self::DeviceSwitch,
321 value => Self::__Unknown(value),
322 }
323 }
324}
325
326impl StaticType for CrossingMode {
327 #[inline]
328 #[doc(alias = "gdk_crossing_mode_get_type")]
329 fn static_type() -> glib::Type {
330 unsafe { from_glib(ffi::gdk_crossing_mode_get_type()) }
331 }
332}
333
334impl glib::HasParamSpec for CrossingMode {
335 type ParamSpec = glib::ParamSpecEnum;
336 type SetValue = Self;
337 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
338
339 fn param_spec_builder() -> Self::BuilderFn {
340 Self::ParamSpec::builder_with_default
341 }
342}
343
344impl glib::value::ValueType for CrossingMode {
345 type Type = Self;
346}
347
348unsafe impl<'a> glib::value::FromValue<'a> for CrossingMode {
349 type Checker = glib::value::GenericValueTypeChecker<Self>;
350
351 #[inline]
352 unsafe fn from_value(value: &'a glib::Value) -> Self {
353 skip_assert_initialized!();
354 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
355 }
356}
357
358impl ToValue for CrossingMode {
359 #[inline]
360 fn to_value(&self) -> glib::Value {
361 let mut value = glib::Value::for_value_type::<Self>();
362 unsafe {
363 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
364 }
365 value
366 }
367
368 #[inline]
369 fn value_type(&self) -> glib::Type {
370 Self::static_type()
371 }
372}
373
374impl From<CrossingMode> for glib::Value {
375 #[inline]
376 fn from(v: CrossingMode) -> Self {
377 skip_assert_initialized!();
378 ToValue::to_value(&v)
379 }
380}
381
382#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
383#[non_exhaustive]
384#[doc(alias = "GdkDevicePadFeature")]
385pub enum DevicePadFeature {
386 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_BUTTON")]
387 Button,
388 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_RING")]
389 Ring,
390 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_STRIP")]
391 Strip,
392 #[doc(hidden)]
393 __Unknown(i32),
394}
395
396#[doc(hidden)]
397impl IntoGlib for DevicePadFeature {
398 type GlibType = ffi::GdkDevicePadFeature;
399
400 #[inline]
401 fn into_glib(self) -> ffi::GdkDevicePadFeature {
402 match self {
403 Self::Button => ffi::GDK_DEVICE_PAD_FEATURE_BUTTON,
404 Self::Ring => ffi::GDK_DEVICE_PAD_FEATURE_RING,
405 Self::Strip => ffi::GDK_DEVICE_PAD_FEATURE_STRIP,
406 Self::__Unknown(value) => value,
407 }
408 }
409}
410
411#[doc(hidden)]
412impl FromGlib<ffi::GdkDevicePadFeature> for DevicePadFeature {
413 #[inline]
414 unsafe fn from_glib(value: ffi::GdkDevicePadFeature) -> Self {
415 skip_assert_initialized!();
416
417 match value {
418 ffi::GDK_DEVICE_PAD_FEATURE_BUTTON => Self::Button,
419 ffi::GDK_DEVICE_PAD_FEATURE_RING => Self::Ring,
420 ffi::GDK_DEVICE_PAD_FEATURE_STRIP => Self::Strip,
421 value => Self::__Unknown(value),
422 }
423 }
424}
425
426impl StaticType for DevicePadFeature {
427 #[inline]
428 #[doc(alias = "gdk_device_pad_feature_get_type")]
429 fn static_type() -> glib::Type {
430 unsafe { from_glib(ffi::gdk_device_pad_feature_get_type()) }
431 }
432}
433
434impl glib::HasParamSpec for DevicePadFeature {
435 type ParamSpec = glib::ParamSpecEnum;
436 type SetValue = Self;
437 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
438
439 fn param_spec_builder() -> Self::BuilderFn {
440 Self::ParamSpec::builder_with_default
441 }
442}
443
444impl glib::value::ValueType for DevicePadFeature {
445 type Type = Self;
446}
447
448unsafe impl<'a> glib::value::FromValue<'a> for DevicePadFeature {
449 type Checker = glib::value::GenericValueTypeChecker<Self>;
450
451 #[inline]
452 unsafe fn from_value(value: &'a glib::Value) -> Self {
453 skip_assert_initialized!();
454 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
455 }
456}
457
458impl ToValue for DevicePadFeature {
459 #[inline]
460 fn to_value(&self) -> glib::Value {
461 let mut value = glib::Value::for_value_type::<Self>();
462 unsafe {
463 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
464 }
465 value
466 }
467
468 #[inline]
469 fn value_type(&self) -> glib::Type {
470 Self::static_type()
471 }
472}
473
474impl From<DevicePadFeature> for glib::Value {
475 #[inline]
476 fn from(v: DevicePadFeature) -> Self {
477 skip_assert_initialized!();
478 ToValue::to_value(&v)
479 }
480}
481
482#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
483#[non_exhaustive]
484#[doc(alias = "GdkDeviceToolType")]
485pub enum DeviceToolType {
486 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_UNKNOWN")]
487 Unknown,
488 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_PEN")]
489 Pen,
490 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_ERASER")]
491 Eraser,
492 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_BRUSH")]
493 Brush,
494 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_PENCIL")]
495 Pencil,
496 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_AIRBRUSH")]
497 Airbrush,
498 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_MOUSE")]
499 Mouse,
500 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_LENS")]
501 Lens,
502 #[doc(hidden)]
503 __Unknown(i32),
504}
505
506#[doc(hidden)]
507impl IntoGlib for DeviceToolType {
508 type GlibType = ffi::GdkDeviceToolType;
509
510 #[inline]
511 fn into_glib(self) -> ffi::GdkDeviceToolType {
512 match self {
513 Self::Unknown => ffi::GDK_DEVICE_TOOL_TYPE_UNKNOWN,
514 Self::Pen => ffi::GDK_DEVICE_TOOL_TYPE_PEN,
515 Self::Eraser => ffi::GDK_DEVICE_TOOL_TYPE_ERASER,
516 Self::Brush => ffi::GDK_DEVICE_TOOL_TYPE_BRUSH,
517 Self::Pencil => ffi::GDK_DEVICE_TOOL_TYPE_PENCIL,
518 Self::Airbrush => ffi::GDK_DEVICE_TOOL_TYPE_AIRBRUSH,
519 Self::Mouse => ffi::GDK_DEVICE_TOOL_TYPE_MOUSE,
520 Self::Lens => ffi::GDK_DEVICE_TOOL_TYPE_LENS,
521 Self::__Unknown(value) => value,
522 }
523 }
524}
525
526#[doc(hidden)]
527impl FromGlib<ffi::GdkDeviceToolType> for DeviceToolType {
528 #[inline]
529 unsafe fn from_glib(value: ffi::GdkDeviceToolType) -> Self {
530 skip_assert_initialized!();
531
532 match value {
533 ffi::GDK_DEVICE_TOOL_TYPE_UNKNOWN => Self::Unknown,
534 ffi::GDK_DEVICE_TOOL_TYPE_PEN => Self::Pen,
535 ffi::GDK_DEVICE_TOOL_TYPE_ERASER => Self::Eraser,
536 ffi::GDK_DEVICE_TOOL_TYPE_BRUSH => Self::Brush,
537 ffi::GDK_DEVICE_TOOL_TYPE_PENCIL => Self::Pencil,
538 ffi::GDK_DEVICE_TOOL_TYPE_AIRBRUSH => Self::Airbrush,
539 ffi::GDK_DEVICE_TOOL_TYPE_MOUSE => Self::Mouse,
540 ffi::GDK_DEVICE_TOOL_TYPE_LENS => Self::Lens,
541 value => Self::__Unknown(value),
542 }
543 }
544}
545
546impl StaticType for DeviceToolType {
547 #[inline]
548 #[doc(alias = "gdk_device_tool_type_get_type")]
549 fn static_type() -> glib::Type {
550 unsafe { from_glib(ffi::gdk_device_tool_type_get_type()) }
551 }
552}
553
554impl glib::HasParamSpec for DeviceToolType {
555 type ParamSpec = glib::ParamSpecEnum;
556 type SetValue = Self;
557 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
558
559 fn param_spec_builder() -> Self::BuilderFn {
560 Self::ParamSpec::builder_with_default
561 }
562}
563
564impl glib::value::ValueType for DeviceToolType {
565 type Type = Self;
566}
567
568unsafe impl<'a> glib::value::FromValue<'a> for DeviceToolType {
569 type Checker = glib::value::GenericValueTypeChecker<Self>;
570
571 #[inline]
572 unsafe fn from_value(value: &'a glib::Value) -> Self {
573 skip_assert_initialized!();
574 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
575 }
576}
577
578impl ToValue for DeviceToolType {
579 #[inline]
580 fn to_value(&self) -> glib::Value {
581 let mut value = glib::Value::for_value_type::<Self>();
582 unsafe {
583 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
584 }
585 value
586 }
587
588 #[inline]
589 fn value_type(&self) -> glib::Type {
590 Self::static_type()
591 }
592}
593
594impl From<DeviceToolType> for glib::Value {
595 #[inline]
596 fn from(v: DeviceToolType) -> Self {
597 skip_assert_initialized!();
598 ToValue::to_value(&v)
599 }
600}
601
602#[cfg(feature = "v4_14")]
603#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
604#[cfg(target_os = "linux")]
605#[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
606#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
607#[non_exhaustive]
608#[doc(alias = "GdkDmabufError")]
609pub enum DmabufError {
610 #[doc(alias = "GDK_DMABUF_ERROR_NOT_AVAILABLE")]
611 NotAvailable,
612 #[doc(alias = "GDK_DMABUF_ERROR_UNSUPPORTED_FORMAT")]
613 UnsupportedFormat,
614 #[doc(alias = "GDK_DMABUF_ERROR_CREATION_FAILED")]
615 CreationFailed,
616 #[doc(hidden)]
617 __Unknown(i32),
618}
619
620#[cfg(feature = "v4_14")]
621#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
622#[cfg(target_os = "linux")]
623#[doc(hidden)]
624impl IntoGlib for DmabufError {
625 type GlibType = ffi::GdkDmabufError;
626
627 #[inline]
628 fn into_glib(self) -> ffi::GdkDmabufError {
629 match self {
630 Self::NotAvailable => ffi::GDK_DMABUF_ERROR_NOT_AVAILABLE,
631 Self::UnsupportedFormat => ffi::GDK_DMABUF_ERROR_UNSUPPORTED_FORMAT,
632 Self::CreationFailed => ffi::GDK_DMABUF_ERROR_CREATION_FAILED,
633 Self::__Unknown(value) => value,
634 }
635 }
636}
637
638#[cfg(feature = "v4_14")]
639#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
640#[cfg(target_os = "linux")]
641#[doc(hidden)]
642impl FromGlib<ffi::GdkDmabufError> for DmabufError {
643 #[inline]
644 unsafe fn from_glib(value: ffi::GdkDmabufError) -> Self {
645 skip_assert_initialized!();
646
647 match value {
648 ffi::GDK_DMABUF_ERROR_NOT_AVAILABLE => Self::NotAvailable,
649 ffi::GDK_DMABUF_ERROR_UNSUPPORTED_FORMAT => Self::UnsupportedFormat,
650 ffi::GDK_DMABUF_ERROR_CREATION_FAILED => Self::CreationFailed,
651 value => Self::__Unknown(value),
652 }
653 }
654}
655
656#[cfg(feature = "v4_14")]
657#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
658#[cfg(target_os = "linux")]
659impl glib::error::ErrorDomain for DmabufError {
660 #[inline]
661 fn domain() -> glib::Quark {
662 skip_assert_initialized!();
663
664 unsafe { from_glib(ffi::gdk_dmabuf_error_quark()) }
665 }
666
667 #[inline]
668 fn code(self) -> i32 {
669 self.into_glib()
670 }
671
672 #[inline]
673 #[allow(clippy::match_single_binding)]
674 fn from(code: i32) -> Option<Self> {
675 skip_assert_initialized!();
676 match unsafe { from_glib(code) } {
677 value => Some(value),
678 }
679 }
680}
681
682#[cfg(feature = "v4_14")]
683#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
684#[cfg(target_os = "linux")]
685impl StaticType for DmabufError {
686 #[inline]
687 #[doc(alias = "gdk_dmabuf_error_get_type")]
688 fn static_type() -> glib::Type {
689 unsafe { from_glib(ffi::gdk_dmabuf_error_get_type()) }
690 }
691}
692
693#[cfg(feature = "v4_14")]
694#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
695#[cfg(target_os = "linux")]
696impl glib::HasParamSpec for DmabufError {
697 type ParamSpec = glib::ParamSpecEnum;
698 type SetValue = Self;
699 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
700
701 fn param_spec_builder() -> Self::BuilderFn {
702 Self::ParamSpec::builder_with_default
703 }
704}
705
706#[cfg(feature = "v4_14")]
707#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
708#[cfg(target_os = "linux")]
709impl glib::value::ValueType for DmabufError {
710 type Type = Self;
711}
712
713#[cfg(feature = "v4_14")]
714#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
715#[cfg(target_os = "linux")]
716unsafe impl<'a> glib::value::FromValue<'a> for DmabufError {
717 type Checker = glib::value::GenericValueTypeChecker<Self>;
718
719 #[inline]
720 unsafe fn from_value(value: &'a glib::Value) -> Self {
721 skip_assert_initialized!();
722 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
723 }
724}
725
726#[cfg(feature = "v4_14")]
727#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
728#[cfg(target_os = "linux")]
729impl ToValue for DmabufError {
730 #[inline]
731 fn to_value(&self) -> glib::Value {
732 let mut value = glib::Value::for_value_type::<Self>();
733 unsafe {
734 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
735 }
736 value
737 }
738
739 #[inline]
740 fn value_type(&self) -> glib::Type {
741 Self::static_type()
742 }
743}
744
745#[cfg(feature = "v4_14")]
746#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
747#[cfg(target_os = "linux")]
748impl From<DmabufError> for glib::Value {
749 #[inline]
750 fn from(v: DmabufError) -> Self {
751 skip_assert_initialized!();
752 ToValue::to_value(&v)
753 }
754}
755
756#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
757#[non_exhaustive]
758#[doc(alias = "GdkDragCancelReason")]
759pub enum DragCancelReason {
760 #[doc(alias = "GDK_DRAG_CANCEL_NO_TARGET")]
761 NoTarget,
762 #[doc(alias = "GDK_DRAG_CANCEL_USER_CANCELLED")]
763 UserCancelled,
764 #[doc(alias = "GDK_DRAG_CANCEL_ERROR")]
765 Error,
766 #[doc(hidden)]
767 __Unknown(i32),
768}
769
770#[doc(hidden)]
771impl IntoGlib for DragCancelReason {
772 type GlibType = ffi::GdkDragCancelReason;
773
774 #[inline]
775 fn into_glib(self) -> ffi::GdkDragCancelReason {
776 match self {
777 Self::NoTarget => ffi::GDK_DRAG_CANCEL_NO_TARGET,
778 Self::UserCancelled => ffi::GDK_DRAG_CANCEL_USER_CANCELLED,
779 Self::Error => ffi::GDK_DRAG_CANCEL_ERROR,
780 Self::__Unknown(value) => value,
781 }
782 }
783}
784
785#[doc(hidden)]
786impl FromGlib<ffi::GdkDragCancelReason> for DragCancelReason {
787 #[inline]
788 unsafe fn from_glib(value: ffi::GdkDragCancelReason) -> Self {
789 skip_assert_initialized!();
790
791 match value {
792 ffi::GDK_DRAG_CANCEL_NO_TARGET => Self::NoTarget,
793 ffi::GDK_DRAG_CANCEL_USER_CANCELLED => Self::UserCancelled,
794 ffi::GDK_DRAG_CANCEL_ERROR => Self::Error,
795 value => Self::__Unknown(value),
796 }
797 }
798}
799
800impl StaticType for DragCancelReason {
801 #[inline]
802 #[doc(alias = "gdk_drag_cancel_reason_get_type")]
803 fn static_type() -> glib::Type {
804 unsafe { from_glib(ffi::gdk_drag_cancel_reason_get_type()) }
805 }
806}
807
808impl glib::HasParamSpec for DragCancelReason {
809 type ParamSpec = glib::ParamSpecEnum;
810 type SetValue = Self;
811 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
812
813 fn param_spec_builder() -> Self::BuilderFn {
814 Self::ParamSpec::builder_with_default
815 }
816}
817
818impl glib::value::ValueType for DragCancelReason {
819 type Type = Self;
820}
821
822unsafe impl<'a> glib::value::FromValue<'a> for DragCancelReason {
823 type Checker = glib::value::GenericValueTypeChecker<Self>;
824
825 #[inline]
826 unsafe fn from_value(value: &'a glib::Value) -> Self {
827 skip_assert_initialized!();
828 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
829 }
830}
831
832impl ToValue for DragCancelReason {
833 #[inline]
834 fn to_value(&self) -> glib::Value {
835 let mut value = glib::Value::for_value_type::<Self>();
836 unsafe {
837 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
838 }
839 value
840 }
841
842 #[inline]
843 fn value_type(&self) -> glib::Type {
844 Self::static_type()
845 }
846}
847
848impl From<DragCancelReason> for glib::Value {
849 #[inline]
850 fn from(v: DragCancelReason) -> Self {
851 skip_assert_initialized!();
852 ToValue::to_value(&v)
853 }
854}
855
856#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
857#[non_exhaustive]
858#[doc(alias = "GdkEventType")]
859pub enum EventType {
860 #[doc(alias = "GDK_DELETE")]
861 Delete,
862 #[doc(alias = "GDK_MOTION_NOTIFY")]
863 MotionNotify,
864 #[doc(alias = "GDK_BUTTON_PRESS")]
865 ButtonPress,
866 #[doc(alias = "GDK_BUTTON_RELEASE")]
867 ButtonRelease,
868 #[doc(alias = "GDK_KEY_PRESS")]
869 KeyPress,
870 #[doc(alias = "GDK_KEY_RELEASE")]
871 KeyRelease,
872 #[doc(alias = "GDK_ENTER_NOTIFY")]
873 EnterNotify,
874 #[doc(alias = "GDK_LEAVE_NOTIFY")]
875 LeaveNotify,
876 #[doc(alias = "GDK_FOCUS_CHANGE")]
877 FocusChange,
878 #[doc(alias = "GDK_PROXIMITY_IN")]
879 ProximityIn,
880 #[doc(alias = "GDK_PROXIMITY_OUT")]
881 ProximityOut,
882 #[doc(alias = "GDK_DRAG_ENTER")]
883 DragEnter,
884 #[doc(alias = "GDK_DRAG_LEAVE")]
885 DragLeave,
886 #[doc(alias = "GDK_DRAG_MOTION")]
887 DragMotion,
888 #[doc(alias = "GDK_DROP_START")]
889 DropStart,
890 #[doc(alias = "GDK_SCROLL")]
891 Scroll,
892 #[doc(alias = "GDK_GRAB_BROKEN")]
893 GrabBroken,
894 #[doc(alias = "GDK_TOUCH_BEGIN")]
895 TouchBegin,
896 #[doc(alias = "GDK_TOUCH_UPDATE")]
897 TouchUpdate,
898 #[doc(alias = "GDK_TOUCH_END")]
899 TouchEnd,
900 #[doc(alias = "GDK_TOUCH_CANCEL")]
901 TouchCancel,
902 #[doc(alias = "GDK_TOUCHPAD_SWIPE")]
903 TouchpadSwipe,
904 #[doc(alias = "GDK_TOUCHPAD_PINCH")]
905 TouchpadPinch,
906 #[doc(alias = "GDK_PAD_BUTTON_PRESS")]
907 PadButtonPress,
908 #[doc(alias = "GDK_PAD_BUTTON_RELEASE")]
909 PadButtonRelease,
910 #[doc(alias = "GDK_PAD_RING")]
911 PadRing,
912 #[doc(alias = "GDK_PAD_STRIP")]
913 PadStrip,
914 #[doc(alias = "GDK_PAD_GROUP_MODE")]
915 PadGroupMode,
916 #[cfg(feature = "v4_8")]
917 #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
918 #[doc(alias = "GDK_TOUCHPAD_HOLD")]
919 TouchpadHold,
920 #[cfg(feature = "v4_20")]
921 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
922 #[doc(alias = "GDK_PAD_DIAL")]
923 PadDial,
924 #[doc(hidden)]
925 __Unknown(i32),
926}
927
928#[doc(hidden)]
929impl IntoGlib for EventType {
930 type GlibType = ffi::GdkEventType;
931
932 fn into_glib(self) -> ffi::GdkEventType {
933 match self {
934 Self::Delete => ffi::GDK_DELETE,
935 Self::MotionNotify => ffi::GDK_MOTION_NOTIFY,
936 Self::ButtonPress => ffi::GDK_BUTTON_PRESS,
937 Self::ButtonRelease => ffi::GDK_BUTTON_RELEASE,
938 Self::KeyPress => ffi::GDK_KEY_PRESS,
939 Self::KeyRelease => ffi::GDK_KEY_RELEASE,
940 Self::EnterNotify => ffi::GDK_ENTER_NOTIFY,
941 Self::LeaveNotify => ffi::GDK_LEAVE_NOTIFY,
942 Self::FocusChange => ffi::GDK_FOCUS_CHANGE,
943 Self::ProximityIn => ffi::GDK_PROXIMITY_IN,
944 Self::ProximityOut => ffi::GDK_PROXIMITY_OUT,
945 Self::DragEnter => ffi::GDK_DRAG_ENTER,
946 Self::DragLeave => ffi::GDK_DRAG_LEAVE,
947 Self::DragMotion => ffi::GDK_DRAG_MOTION,
948 Self::DropStart => ffi::GDK_DROP_START,
949 Self::Scroll => ffi::GDK_SCROLL,
950 Self::GrabBroken => ffi::GDK_GRAB_BROKEN,
951 Self::TouchBegin => ffi::GDK_TOUCH_BEGIN,
952 Self::TouchUpdate => ffi::GDK_TOUCH_UPDATE,
953 Self::TouchEnd => ffi::GDK_TOUCH_END,
954 Self::TouchCancel => ffi::GDK_TOUCH_CANCEL,
955 Self::TouchpadSwipe => ffi::GDK_TOUCHPAD_SWIPE,
956 Self::TouchpadPinch => ffi::GDK_TOUCHPAD_PINCH,
957 Self::PadButtonPress => ffi::GDK_PAD_BUTTON_PRESS,
958 Self::PadButtonRelease => ffi::GDK_PAD_BUTTON_RELEASE,
959 Self::PadRing => ffi::GDK_PAD_RING,
960 Self::PadStrip => ffi::GDK_PAD_STRIP,
961 Self::PadGroupMode => ffi::GDK_PAD_GROUP_MODE,
962 #[cfg(feature = "v4_8")]
963 Self::TouchpadHold => ffi::GDK_TOUCHPAD_HOLD,
964 #[cfg(feature = "v4_20")]
965 Self::PadDial => ffi::GDK_PAD_DIAL,
966 Self::__Unknown(value) => value,
967 }
968 }
969}
970
971#[doc(hidden)]
972impl FromGlib<ffi::GdkEventType> for EventType {
973 unsafe fn from_glib(value: ffi::GdkEventType) -> Self {
974 skip_assert_initialized!();
975
976 match value {
977 ffi::GDK_DELETE => Self::Delete,
978 ffi::GDK_MOTION_NOTIFY => Self::MotionNotify,
979 ffi::GDK_BUTTON_PRESS => Self::ButtonPress,
980 ffi::GDK_BUTTON_RELEASE => Self::ButtonRelease,
981 ffi::GDK_KEY_PRESS => Self::KeyPress,
982 ffi::GDK_KEY_RELEASE => Self::KeyRelease,
983 ffi::GDK_ENTER_NOTIFY => Self::EnterNotify,
984 ffi::GDK_LEAVE_NOTIFY => Self::LeaveNotify,
985 ffi::GDK_FOCUS_CHANGE => Self::FocusChange,
986 ffi::GDK_PROXIMITY_IN => Self::ProximityIn,
987 ffi::GDK_PROXIMITY_OUT => Self::ProximityOut,
988 ffi::GDK_DRAG_ENTER => Self::DragEnter,
989 ffi::GDK_DRAG_LEAVE => Self::DragLeave,
990 ffi::GDK_DRAG_MOTION => Self::DragMotion,
991 ffi::GDK_DROP_START => Self::DropStart,
992 ffi::GDK_SCROLL => Self::Scroll,
993 ffi::GDK_GRAB_BROKEN => Self::GrabBroken,
994 ffi::GDK_TOUCH_BEGIN => Self::TouchBegin,
995 ffi::GDK_TOUCH_UPDATE => Self::TouchUpdate,
996 ffi::GDK_TOUCH_END => Self::TouchEnd,
997 ffi::GDK_TOUCH_CANCEL => Self::TouchCancel,
998 ffi::GDK_TOUCHPAD_SWIPE => Self::TouchpadSwipe,
999 ffi::GDK_TOUCHPAD_PINCH => Self::TouchpadPinch,
1000 ffi::GDK_PAD_BUTTON_PRESS => Self::PadButtonPress,
1001 ffi::GDK_PAD_BUTTON_RELEASE => Self::PadButtonRelease,
1002 ffi::GDK_PAD_RING => Self::PadRing,
1003 ffi::GDK_PAD_STRIP => Self::PadStrip,
1004 ffi::GDK_PAD_GROUP_MODE => Self::PadGroupMode,
1005 #[cfg(feature = "v4_8")]
1006 ffi::GDK_TOUCHPAD_HOLD => Self::TouchpadHold,
1007 #[cfg(feature = "v4_20")]
1008 ffi::GDK_PAD_DIAL => Self::PadDial,
1009 value => Self::__Unknown(value),
1010 }
1011 }
1012}
1013
1014impl StaticType for EventType {
1015 #[inline]
1016 #[doc(alias = "gdk_event_type_get_type")]
1017 fn static_type() -> glib::Type {
1018 unsafe { from_glib(ffi::gdk_event_type_get_type()) }
1019 }
1020}
1021
1022impl glib::HasParamSpec for EventType {
1023 type ParamSpec = glib::ParamSpecEnum;
1024 type SetValue = Self;
1025 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1026
1027 fn param_spec_builder() -> Self::BuilderFn {
1028 Self::ParamSpec::builder_with_default
1029 }
1030}
1031
1032impl glib::value::ValueType for EventType {
1033 type Type = Self;
1034}
1035
1036unsafe impl<'a> glib::value::FromValue<'a> for EventType {
1037 type Checker = glib::value::GenericValueTypeChecker<Self>;
1038
1039 #[inline]
1040 unsafe fn from_value(value: &'a glib::Value) -> Self {
1041 skip_assert_initialized!();
1042 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1043 }
1044}
1045
1046impl ToValue for EventType {
1047 #[inline]
1048 fn to_value(&self) -> glib::Value {
1049 let mut value = glib::Value::for_value_type::<Self>();
1050 unsafe {
1051 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1052 }
1053 value
1054 }
1055
1056 #[inline]
1057 fn value_type(&self) -> glib::Type {
1058 Self::static_type()
1059 }
1060}
1061
1062impl From<EventType> for glib::Value {
1063 #[inline]
1064 fn from(v: EventType) -> Self {
1065 skip_assert_initialized!();
1066 ToValue::to_value(&v)
1067 }
1068}
1069
1070#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1071#[non_exhaustive]
1072#[doc(alias = "GdkFullscreenMode")]
1073pub enum FullscreenMode {
1074 #[doc(alias = "GDK_FULLSCREEN_ON_CURRENT_MONITOR")]
1075 CurrentMonitor,
1076 #[doc(alias = "GDK_FULLSCREEN_ON_ALL_MONITORS")]
1077 AllMonitors,
1078 #[doc(hidden)]
1079 __Unknown(i32),
1080}
1081
1082#[doc(hidden)]
1083impl IntoGlib for FullscreenMode {
1084 type GlibType = ffi::GdkFullscreenMode;
1085
1086 #[inline]
1087 fn into_glib(self) -> ffi::GdkFullscreenMode {
1088 match self {
1089 Self::CurrentMonitor => ffi::GDK_FULLSCREEN_ON_CURRENT_MONITOR,
1090 Self::AllMonitors => ffi::GDK_FULLSCREEN_ON_ALL_MONITORS,
1091 Self::__Unknown(value) => value,
1092 }
1093 }
1094}
1095
1096#[doc(hidden)]
1097impl FromGlib<ffi::GdkFullscreenMode> for FullscreenMode {
1098 #[inline]
1099 unsafe fn from_glib(value: ffi::GdkFullscreenMode) -> Self {
1100 skip_assert_initialized!();
1101
1102 match value {
1103 ffi::GDK_FULLSCREEN_ON_CURRENT_MONITOR => Self::CurrentMonitor,
1104 ffi::GDK_FULLSCREEN_ON_ALL_MONITORS => Self::AllMonitors,
1105 value => Self::__Unknown(value),
1106 }
1107 }
1108}
1109
1110impl StaticType for FullscreenMode {
1111 #[inline]
1112 #[doc(alias = "gdk_fullscreen_mode_get_type")]
1113 fn static_type() -> glib::Type {
1114 unsafe { from_glib(ffi::gdk_fullscreen_mode_get_type()) }
1115 }
1116}
1117
1118impl glib::HasParamSpec for FullscreenMode {
1119 type ParamSpec = glib::ParamSpecEnum;
1120 type SetValue = Self;
1121 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1122
1123 fn param_spec_builder() -> Self::BuilderFn {
1124 Self::ParamSpec::builder_with_default
1125 }
1126}
1127
1128impl glib::value::ValueType for FullscreenMode {
1129 type Type = Self;
1130}
1131
1132unsafe impl<'a> glib::value::FromValue<'a> for FullscreenMode {
1133 type Checker = glib::value::GenericValueTypeChecker<Self>;
1134
1135 #[inline]
1136 unsafe fn from_value(value: &'a glib::Value) -> Self {
1137 skip_assert_initialized!();
1138 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1139 }
1140}
1141
1142impl ToValue for FullscreenMode {
1143 #[inline]
1144 fn to_value(&self) -> glib::Value {
1145 let mut value = glib::Value::for_value_type::<Self>();
1146 unsafe {
1147 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1148 }
1149 value
1150 }
1151
1152 #[inline]
1153 fn value_type(&self) -> glib::Type {
1154 Self::static_type()
1155 }
1156}
1157
1158impl From<FullscreenMode> for glib::Value {
1159 #[inline]
1160 fn from(v: FullscreenMode) -> Self {
1161 skip_assert_initialized!();
1162 ToValue::to_value(&v)
1163 }
1164}
1165
1166#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1167#[non_exhaustive]
1168#[doc(alias = "GdkGLError")]
1169pub enum GLError {
1170 #[doc(alias = "GDK_GL_ERROR_NOT_AVAILABLE")]
1171 NotAvailable,
1172 #[doc(alias = "GDK_GL_ERROR_UNSUPPORTED_FORMAT")]
1173 UnsupportedFormat,
1174 #[doc(alias = "GDK_GL_ERROR_UNSUPPORTED_PROFILE")]
1175 UnsupportedProfile,
1176 #[doc(alias = "GDK_GL_ERROR_COMPILATION_FAILED")]
1177 CompilationFailed,
1178 #[doc(alias = "GDK_GL_ERROR_LINK_FAILED")]
1179 LinkFailed,
1180 #[doc(hidden)]
1181 __Unknown(i32),
1182}
1183
1184#[doc(hidden)]
1185impl IntoGlib for GLError {
1186 type GlibType = ffi::GdkGLError;
1187
1188 #[inline]
1189 fn into_glib(self) -> ffi::GdkGLError {
1190 match self {
1191 Self::NotAvailable => ffi::GDK_GL_ERROR_NOT_AVAILABLE,
1192 Self::UnsupportedFormat => ffi::GDK_GL_ERROR_UNSUPPORTED_FORMAT,
1193 Self::UnsupportedProfile => ffi::GDK_GL_ERROR_UNSUPPORTED_PROFILE,
1194 Self::CompilationFailed => ffi::GDK_GL_ERROR_COMPILATION_FAILED,
1195 Self::LinkFailed => ffi::GDK_GL_ERROR_LINK_FAILED,
1196 Self::__Unknown(value) => value,
1197 }
1198 }
1199}
1200
1201#[doc(hidden)]
1202impl FromGlib<ffi::GdkGLError> for GLError {
1203 #[inline]
1204 unsafe fn from_glib(value: ffi::GdkGLError) -> Self {
1205 skip_assert_initialized!();
1206
1207 match value {
1208 ffi::GDK_GL_ERROR_NOT_AVAILABLE => Self::NotAvailable,
1209 ffi::GDK_GL_ERROR_UNSUPPORTED_FORMAT => Self::UnsupportedFormat,
1210 ffi::GDK_GL_ERROR_UNSUPPORTED_PROFILE => Self::UnsupportedProfile,
1211 ffi::GDK_GL_ERROR_COMPILATION_FAILED => Self::CompilationFailed,
1212 ffi::GDK_GL_ERROR_LINK_FAILED => Self::LinkFailed,
1213 value => Self::__Unknown(value),
1214 }
1215 }
1216}
1217
1218impl glib::error::ErrorDomain for GLError {
1219 #[inline]
1220 fn domain() -> glib::Quark {
1221 skip_assert_initialized!();
1222
1223 unsafe { from_glib(ffi::gdk_gl_error_quark()) }
1224 }
1225
1226 #[inline]
1227 fn code(self) -> i32 {
1228 self.into_glib()
1229 }
1230
1231 #[inline]
1232 #[allow(clippy::match_single_binding)]
1233 fn from(code: i32) -> Option<Self> {
1234 skip_assert_initialized!();
1235 match unsafe { from_glib(code) } {
1236 value => Some(value),
1237 }
1238 }
1239}
1240
1241impl StaticType for GLError {
1242 #[inline]
1243 #[doc(alias = "gdk_gl_error_get_type")]
1244 fn static_type() -> glib::Type {
1245 unsafe { from_glib(ffi::gdk_gl_error_get_type()) }
1246 }
1247}
1248
1249impl glib::HasParamSpec for GLError {
1250 type ParamSpec = glib::ParamSpecEnum;
1251 type SetValue = Self;
1252 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1253
1254 fn param_spec_builder() -> Self::BuilderFn {
1255 Self::ParamSpec::builder_with_default
1256 }
1257}
1258
1259impl glib::value::ValueType for GLError {
1260 type Type = Self;
1261}
1262
1263unsafe impl<'a> glib::value::FromValue<'a> for GLError {
1264 type Checker = glib::value::GenericValueTypeChecker<Self>;
1265
1266 #[inline]
1267 unsafe fn from_value(value: &'a glib::Value) -> Self {
1268 skip_assert_initialized!();
1269 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1270 }
1271}
1272
1273impl ToValue for GLError {
1274 #[inline]
1275 fn to_value(&self) -> glib::Value {
1276 let mut value = glib::Value::for_value_type::<Self>();
1277 unsafe {
1278 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1279 }
1280 value
1281 }
1282
1283 #[inline]
1284 fn value_type(&self) -> glib::Type {
1285 Self::static_type()
1286 }
1287}
1288
1289impl From<GLError> for glib::Value {
1290 #[inline]
1291 fn from(v: GLError) -> Self {
1292 skip_assert_initialized!();
1293 ToValue::to_value(&v)
1294 }
1295}
1296
1297#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1298#[non_exhaustive]
1299#[doc(alias = "GdkGravity")]
1300pub enum Gravity {
1301 #[doc(alias = "GDK_GRAVITY_NORTH_WEST")]
1302 NorthWest,
1303 #[doc(alias = "GDK_GRAVITY_NORTH")]
1304 North,
1305 #[doc(alias = "GDK_GRAVITY_NORTH_EAST")]
1306 NorthEast,
1307 #[doc(alias = "GDK_GRAVITY_WEST")]
1308 West,
1309 #[doc(alias = "GDK_GRAVITY_CENTER")]
1310 Center,
1311 #[doc(alias = "GDK_GRAVITY_EAST")]
1312 East,
1313 #[doc(alias = "GDK_GRAVITY_SOUTH_WEST")]
1314 SouthWest,
1315 #[doc(alias = "GDK_GRAVITY_SOUTH")]
1316 South,
1317 #[doc(alias = "GDK_GRAVITY_SOUTH_EAST")]
1318 SouthEast,
1319 #[doc(alias = "GDK_GRAVITY_STATIC")]
1320 Static,
1321 #[doc(hidden)]
1322 __Unknown(i32),
1323}
1324
1325#[doc(hidden)]
1326impl IntoGlib for Gravity {
1327 type GlibType = ffi::GdkGravity;
1328
1329 #[inline]
1330 fn into_glib(self) -> ffi::GdkGravity {
1331 match self {
1332 Self::NorthWest => ffi::GDK_GRAVITY_NORTH_WEST,
1333 Self::North => ffi::GDK_GRAVITY_NORTH,
1334 Self::NorthEast => ffi::GDK_GRAVITY_NORTH_EAST,
1335 Self::West => ffi::GDK_GRAVITY_WEST,
1336 Self::Center => ffi::GDK_GRAVITY_CENTER,
1337 Self::East => ffi::GDK_GRAVITY_EAST,
1338 Self::SouthWest => ffi::GDK_GRAVITY_SOUTH_WEST,
1339 Self::South => ffi::GDK_GRAVITY_SOUTH,
1340 Self::SouthEast => ffi::GDK_GRAVITY_SOUTH_EAST,
1341 Self::Static => ffi::GDK_GRAVITY_STATIC,
1342 Self::__Unknown(value) => value,
1343 }
1344 }
1345}
1346
1347#[doc(hidden)]
1348impl FromGlib<ffi::GdkGravity> for Gravity {
1349 #[inline]
1350 unsafe fn from_glib(value: ffi::GdkGravity) -> Self {
1351 skip_assert_initialized!();
1352
1353 match value {
1354 ffi::GDK_GRAVITY_NORTH_WEST => Self::NorthWest,
1355 ffi::GDK_GRAVITY_NORTH => Self::North,
1356 ffi::GDK_GRAVITY_NORTH_EAST => Self::NorthEast,
1357 ffi::GDK_GRAVITY_WEST => Self::West,
1358 ffi::GDK_GRAVITY_CENTER => Self::Center,
1359 ffi::GDK_GRAVITY_EAST => Self::East,
1360 ffi::GDK_GRAVITY_SOUTH_WEST => Self::SouthWest,
1361 ffi::GDK_GRAVITY_SOUTH => Self::South,
1362 ffi::GDK_GRAVITY_SOUTH_EAST => Self::SouthEast,
1363 ffi::GDK_GRAVITY_STATIC => Self::Static,
1364 value => Self::__Unknown(value),
1365 }
1366 }
1367}
1368
1369impl StaticType for Gravity {
1370 #[inline]
1371 #[doc(alias = "gdk_gravity_get_type")]
1372 fn static_type() -> glib::Type {
1373 unsafe { from_glib(ffi::gdk_gravity_get_type()) }
1374 }
1375}
1376
1377impl glib::HasParamSpec for Gravity {
1378 type ParamSpec = glib::ParamSpecEnum;
1379 type SetValue = Self;
1380 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1381
1382 fn param_spec_builder() -> Self::BuilderFn {
1383 Self::ParamSpec::builder_with_default
1384 }
1385}
1386
1387impl glib::value::ValueType for Gravity {
1388 type Type = Self;
1389}
1390
1391unsafe impl<'a> glib::value::FromValue<'a> for Gravity {
1392 type Checker = glib::value::GenericValueTypeChecker<Self>;
1393
1394 #[inline]
1395 unsafe fn from_value(value: &'a glib::Value) -> Self {
1396 skip_assert_initialized!();
1397 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1398 }
1399}
1400
1401impl ToValue for Gravity {
1402 #[inline]
1403 fn to_value(&self) -> glib::Value {
1404 let mut value = glib::Value::for_value_type::<Self>();
1405 unsafe {
1406 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1407 }
1408 value
1409 }
1410
1411 #[inline]
1412 fn value_type(&self) -> glib::Type {
1413 Self::static_type()
1414 }
1415}
1416
1417impl From<Gravity> for glib::Value {
1418 #[inline]
1419 fn from(v: Gravity) -> Self {
1420 skip_assert_initialized!();
1421 ToValue::to_value(&v)
1422 }
1423}
1424
1425#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1426#[non_exhaustive]
1427#[doc(alias = "GdkInputSource")]
1428pub enum InputSource {
1429 #[doc(alias = "GDK_SOURCE_MOUSE")]
1430 Mouse,
1431 #[doc(alias = "GDK_SOURCE_PEN")]
1432 Pen,
1433 #[doc(alias = "GDK_SOURCE_KEYBOARD")]
1434 Keyboard,
1435 #[doc(alias = "GDK_SOURCE_TOUCHSCREEN")]
1436 Touchscreen,
1437 #[doc(alias = "GDK_SOURCE_TOUCHPAD")]
1438 Touchpad,
1439 #[doc(alias = "GDK_SOURCE_TRACKPOINT")]
1440 Trackpoint,
1441 #[doc(alias = "GDK_SOURCE_TABLET_PAD")]
1442 TabletPad,
1443 #[doc(hidden)]
1444 __Unknown(i32),
1445}
1446
1447#[doc(hidden)]
1448impl IntoGlib for InputSource {
1449 type GlibType = ffi::GdkInputSource;
1450
1451 #[inline]
1452 fn into_glib(self) -> ffi::GdkInputSource {
1453 match self {
1454 Self::Mouse => ffi::GDK_SOURCE_MOUSE,
1455 Self::Pen => ffi::GDK_SOURCE_PEN,
1456 Self::Keyboard => ffi::GDK_SOURCE_KEYBOARD,
1457 Self::Touchscreen => ffi::GDK_SOURCE_TOUCHSCREEN,
1458 Self::Touchpad => ffi::GDK_SOURCE_TOUCHPAD,
1459 Self::Trackpoint => ffi::GDK_SOURCE_TRACKPOINT,
1460 Self::TabletPad => ffi::GDK_SOURCE_TABLET_PAD,
1461 Self::__Unknown(value) => value,
1462 }
1463 }
1464}
1465
1466#[doc(hidden)]
1467impl FromGlib<ffi::GdkInputSource> for InputSource {
1468 #[inline]
1469 unsafe fn from_glib(value: ffi::GdkInputSource) -> Self {
1470 skip_assert_initialized!();
1471
1472 match value {
1473 ffi::GDK_SOURCE_MOUSE => Self::Mouse,
1474 ffi::GDK_SOURCE_PEN => Self::Pen,
1475 ffi::GDK_SOURCE_KEYBOARD => Self::Keyboard,
1476 ffi::GDK_SOURCE_TOUCHSCREEN => Self::Touchscreen,
1477 ffi::GDK_SOURCE_TOUCHPAD => Self::Touchpad,
1478 ffi::GDK_SOURCE_TRACKPOINT => Self::Trackpoint,
1479 ffi::GDK_SOURCE_TABLET_PAD => Self::TabletPad,
1480 value => Self::__Unknown(value),
1481 }
1482 }
1483}
1484
1485impl StaticType for InputSource {
1486 #[inline]
1487 #[doc(alias = "gdk_input_source_get_type")]
1488 fn static_type() -> glib::Type {
1489 unsafe { from_glib(ffi::gdk_input_source_get_type()) }
1490 }
1491}
1492
1493impl glib::HasParamSpec for InputSource {
1494 type ParamSpec = glib::ParamSpecEnum;
1495 type SetValue = Self;
1496 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1497
1498 fn param_spec_builder() -> Self::BuilderFn {
1499 Self::ParamSpec::builder_with_default
1500 }
1501}
1502
1503impl glib::value::ValueType for InputSource {
1504 type Type = Self;
1505}
1506
1507unsafe impl<'a> glib::value::FromValue<'a> for InputSource {
1508 type Checker = glib::value::GenericValueTypeChecker<Self>;
1509
1510 #[inline]
1511 unsafe fn from_value(value: &'a glib::Value) -> Self {
1512 skip_assert_initialized!();
1513 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1514 }
1515}
1516
1517impl ToValue for InputSource {
1518 #[inline]
1519 fn to_value(&self) -> glib::Value {
1520 let mut value = glib::Value::for_value_type::<Self>();
1521 unsafe {
1522 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1523 }
1524 value
1525 }
1526
1527 #[inline]
1528 fn value_type(&self) -> glib::Type {
1529 Self::static_type()
1530 }
1531}
1532
1533impl From<InputSource> for glib::Value {
1534 #[inline]
1535 fn from(v: InputSource) -> Self {
1536 skip_assert_initialized!();
1537 ToValue::to_value(&v)
1538 }
1539}
1540
1541#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1542#[non_exhaustive]
1543#[doc(alias = "GdkKeyMatch")]
1544pub enum KeyMatch {
1545 #[doc(alias = "GDK_KEY_MATCH_NONE")]
1546 None,
1547 #[doc(alias = "GDK_KEY_MATCH_PARTIAL")]
1548 Partial,
1549 #[doc(alias = "GDK_KEY_MATCH_EXACT")]
1550 Exact,
1551 #[doc(hidden)]
1552 __Unknown(i32),
1553}
1554
1555#[doc(hidden)]
1556impl IntoGlib for KeyMatch {
1557 type GlibType = ffi::GdkKeyMatch;
1558
1559 #[inline]
1560 fn into_glib(self) -> ffi::GdkKeyMatch {
1561 match self {
1562 Self::None => ffi::GDK_KEY_MATCH_NONE,
1563 Self::Partial => ffi::GDK_KEY_MATCH_PARTIAL,
1564 Self::Exact => ffi::GDK_KEY_MATCH_EXACT,
1565 Self::__Unknown(value) => value,
1566 }
1567 }
1568}
1569
1570#[doc(hidden)]
1571impl FromGlib<ffi::GdkKeyMatch> for KeyMatch {
1572 #[inline]
1573 unsafe fn from_glib(value: ffi::GdkKeyMatch) -> Self {
1574 skip_assert_initialized!();
1575
1576 match value {
1577 ffi::GDK_KEY_MATCH_NONE => Self::None,
1578 ffi::GDK_KEY_MATCH_PARTIAL => Self::Partial,
1579 ffi::GDK_KEY_MATCH_EXACT => Self::Exact,
1580 value => Self::__Unknown(value),
1581 }
1582 }
1583}
1584
1585impl StaticType for KeyMatch {
1586 #[inline]
1587 #[doc(alias = "gdk_key_match_get_type")]
1588 fn static_type() -> glib::Type {
1589 unsafe { from_glib(ffi::gdk_key_match_get_type()) }
1590 }
1591}
1592
1593impl glib::HasParamSpec for KeyMatch {
1594 type ParamSpec = glib::ParamSpecEnum;
1595 type SetValue = Self;
1596 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1597
1598 fn param_spec_builder() -> Self::BuilderFn {
1599 Self::ParamSpec::builder_with_default
1600 }
1601}
1602
1603impl glib::value::ValueType for KeyMatch {
1604 type Type = Self;
1605}
1606
1607unsafe impl<'a> glib::value::FromValue<'a> for KeyMatch {
1608 type Checker = glib::value::GenericValueTypeChecker<Self>;
1609
1610 #[inline]
1611 unsafe fn from_value(value: &'a glib::Value) -> Self {
1612 skip_assert_initialized!();
1613 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1614 }
1615}
1616
1617impl ToValue for KeyMatch {
1618 #[inline]
1619 fn to_value(&self) -> glib::Value {
1620 let mut value = glib::Value::for_value_type::<Self>();
1621 unsafe {
1622 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1623 }
1624 value
1625 }
1626
1627 #[inline]
1628 fn value_type(&self) -> glib::Type {
1629 Self::static_type()
1630 }
1631}
1632
1633impl From<KeyMatch> for glib::Value {
1634 #[inline]
1635 fn from(v: KeyMatch) -> Self {
1636 skip_assert_initialized!();
1637 ToValue::to_value(&v)
1638 }
1639}
1640
1641#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1642#[non_exhaustive]
1643#[doc(alias = "GdkMemoryFormat")]
1644pub enum MemoryFormat {
1645 #[doc(alias = "GDK_MEMORY_B8G8R8A8_PREMULTIPLIED")]
1646 B8g8r8a8Premultiplied,
1647 #[doc(alias = "GDK_MEMORY_A8R8G8B8_PREMULTIPLIED")]
1648 A8r8g8b8Premultiplied,
1649 #[doc(alias = "GDK_MEMORY_R8G8B8A8_PREMULTIPLIED")]
1650 R8g8b8a8Premultiplied,
1651 #[doc(alias = "GDK_MEMORY_B8G8R8A8")]
1652 B8g8r8a8,
1653 #[doc(alias = "GDK_MEMORY_A8R8G8B8")]
1654 A8r8g8b8,
1655 #[doc(alias = "GDK_MEMORY_R8G8B8A8")]
1656 R8g8b8a8,
1657 #[doc(alias = "GDK_MEMORY_A8B8G8R8")]
1658 A8b8g8r8,
1659 #[doc(alias = "GDK_MEMORY_R8G8B8")]
1660 R8g8b8,
1661 #[doc(alias = "GDK_MEMORY_B8G8R8")]
1662 B8g8r8,
1663 #[cfg(feature = "v4_6")]
1664 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1665 #[doc(alias = "GDK_MEMORY_R16G16B16")]
1666 R16g16b16,
1667 #[cfg(feature = "v4_6")]
1668 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1669 #[doc(alias = "GDK_MEMORY_R16G16B16A16_PREMULTIPLIED")]
1670 R16g16b16a16Premultiplied,
1671 #[cfg(feature = "v4_6")]
1672 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1673 #[doc(alias = "GDK_MEMORY_R16G16B16A16")]
1674 R16g16b16a16,
1675 #[cfg(feature = "v4_6")]
1676 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1677 #[doc(alias = "GDK_MEMORY_R16G16B16_FLOAT")]
1678 R16g16b16Float,
1679 #[cfg(feature = "v4_6")]
1680 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1681 #[doc(alias = "GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED")]
1682 R16g16b16a16FloatPremultiplied,
1683 #[cfg(feature = "v4_6")]
1684 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1685 #[doc(alias = "GDK_MEMORY_R16G16B16A16_FLOAT")]
1686 R16g16b16a16Float,
1687 #[cfg(feature = "v4_6")]
1688 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1689 #[doc(alias = "GDK_MEMORY_R32G32B32_FLOAT")]
1690 R32g32b32Float,
1691 #[cfg(feature = "v4_6")]
1692 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1693 #[doc(alias = "GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED")]
1694 R32g32b32a32FloatPremultiplied,
1695 #[cfg(feature = "v4_6")]
1696 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1697 #[doc(alias = "GDK_MEMORY_R32G32B32A32_FLOAT")]
1698 R32g32b32a32Float,
1699 #[cfg(feature = "v4_12")]
1700 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1701 #[doc(alias = "GDK_MEMORY_G8A8_PREMULTIPLIED")]
1702 G8a8Premultiplied,
1703 #[cfg(feature = "v4_12")]
1704 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1705 #[doc(alias = "GDK_MEMORY_G8A8")]
1706 G8a8,
1707 #[cfg(feature = "v4_12")]
1708 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1709 #[doc(alias = "GDK_MEMORY_G8")]
1710 G8,
1711 #[cfg(feature = "v4_12")]
1712 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1713 #[doc(alias = "GDK_MEMORY_G16A16_PREMULTIPLIED")]
1714 G16a16Premultiplied,
1715 #[cfg(feature = "v4_12")]
1716 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1717 #[doc(alias = "GDK_MEMORY_G16A16")]
1718 G16a16,
1719 #[cfg(feature = "v4_12")]
1720 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1721 #[doc(alias = "GDK_MEMORY_G16")]
1722 G16,
1723 #[cfg(feature = "v4_12")]
1724 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1725 #[doc(alias = "GDK_MEMORY_A8")]
1726 A8,
1727 #[cfg(feature = "v4_12")]
1728 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1729 #[doc(alias = "GDK_MEMORY_A16")]
1730 A16,
1731 #[cfg(feature = "v4_12")]
1732 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1733 #[doc(alias = "GDK_MEMORY_A16_FLOAT")]
1734 A16Float,
1735 #[cfg(feature = "v4_12")]
1736 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
1737 #[doc(alias = "GDK_MEMORY_A32_FLOAT")]
1738 A32Float,
1739 #[cfg(feature = "v4_14")]
1740 #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1741 #[doc(alias = "GDK_MEMORY_A8B8G8R8_PREMULTIPLIED")]
1742 A8b8g8r8Premultiplied,
1743 #[cfg(feature = "v4_14")]
1744 #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1745 #[doc(alias = "GDK_MEMORY_B8G8R8X8")]
1746 B8g8r8x8,
1747 #[cfg(feature = "v4_14")]
1748 #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1749 #[doc(alias = "GDK_MEMORY_X8R8G8B8")]
1750 X8r8g8b8,
1751 #[cfg(feature = "v4_14")]
1752 #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1753 #[doc(alias = "GDK_MEMORY_R8G8B8X8")]
1754 R8g8b8x8,
1755 #[cfg(feature = "v4_14")]
1756 #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1757 #[doc(alias = "GDK_MEMORY_X8B8G8R8")]
1758 X8b8g8r8,
1759 #[cfg(feature = "v4_20")]
1760 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1761 #[doc(alias = "GDK_MEMORY_G8_B8R8_420")]
1762 G8B8r8420,
1763 #[cfg(feature = "v4_20")]
1764 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1765 #[doc(alias = "GDK_MEMORY_G8_R8B8_420")]
1766 G8R8b8420,
1767 #[cfg(feature = "v4_20")]
1768 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1769 #[doc(alias = "GDK_MEMORY_G8_B8R8_422")]
1770 G8B8r8422,
1771 #[cfg(feature = "v4_20")]
1772 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1773 #[doc(alias = "GDK_MEMORY_G8_R8B8_422")]
1774 G8R8b8422,
1775 #[cfg(feature = "v4_20")]
1776 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1777 #[doc(alias = "GDK_MEMORY_G8_B8R8_444")]
1778 G8B8r8444,
1779 #[cfg(feature = "v4_20")]
1780 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1781 #[doc(alias = "GDK_MEMORY_G8_R8B8_444")]
1782 G8R8b8444,
1783 #[cfg(feature = "v4_20")]
1784 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1785 #[doc(alias = "GDK_MEMORY_G10X6_B10X6R10X6_420")]
1786 G10x6B10x6r10x6420,
1787 #[cfg(feature = "v4_20")]
1788 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1789 #[doc(alias = "GDK_MEMORY_G12X4_B12X4R12X4_420")]
1790 G12x4B12x4r12x4420,
1791 #[cfg(feature = "v4_20")]
1792 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1793 #[doc(alias = "GDK_MEMORY_G16_B16R16_420")]
1794 G16B16r16420,
1795 #[cfg(feature = "v4_20")]
1796 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1797 #[doc(alias = "GDK_MEMORY_G8_B8_R8_410")]
1798 G8B8R8410,
1799 #[cfg(feature = "v4_20")]
1800 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1801 #[doc(alias = "GDK_MEMORY_G8_R8_B8_410")]
1802 G8R8B8410,
1803 #[cfg(feature = "v4_20")]
1804 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1805 #[doc(alias = "GDK_MEMORY_G8_B8_R8_411")]
1806 G8B8R8411,
1807 #[cfg(feature = "v4_20")]
1808 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1809 #[doc(alias = "GDK_MEMORY_G8_R8_B8_411")]
1810 G8R8B8411,
1811 #[cfg(feature = "v4_20")]
1812 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1813 #[doc(alias = "GDK_MEMORY_G8_B8_R8_420")]
1814 G8B8R8420,
1815 #[cfg(feature = "v4_20")]
1816 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1817 #[doc(alias = "GDK_MEMORY_G8_R8_B8_420")]
1818 G8R8B8420,
1819 #[cfg(feature = "v4_20")]
1820 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1821 #[doc(alias = "GDK_MEMORY_G8_B8_R8_422")]
1822 G8B8R8422,
1823 #[cfg(feature = "v4_20")]
1824 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1825 #[doc(alias = "GDK_MEMORY_G8_R8_B8_422")]
1826 G8R8B8422,
1827 #[cfg(feature = "v4_20")]
1828 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1829 #[doc(alias = "GDK_MEMORY_G8_B8_R8_444")]
1830 G8B8R8444,
1831 #[cfg(feature = "v4_20")]
1832 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1833 #[doc(alias = "GDK_MEMORY_G8_R8_B8_444")]
1834 G8R8B8444,
1835 #[cfg(feature = "v4_20")]
1836 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1837 #[doc(alias = "GDK_MEMORY_G8B8G8R8_422")]
1838 G8b8g8r8422,
1839 #[cfg(feature = "v4_20")]
1840 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1841 #[doc(alias = "GDK_MEMORY_G8R8G8B8_422")]
1842 G8r8g8b8422,
1843 #[cfg(feature = "v4_20")]
1844 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1845 #[doc(alias = "GDK_MEMORY_R8G8B8G8_422")]
1846 R8g8b8g8422,
1847 #[cfg(feature = "v4_20")]
1848 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1849 #[doc(alias = "GDK_MEMORY_B8G8R8G8_422")]
1850 B8g8r8g8422,
1851 #[cfg(feature = "v4_20")]
1852 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1853 #[doc(alias = "GDK_MEMORY_X6G10_X6B10_X6R10_420")]
1854 X6g10X6b10X6r10420,
1855 #[cfg(feature = "v4_20")]
1856 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1857 #[doc(alias = "GDK_MEMORY_X6G10_X6B10_X6R10_422")]
1858 X6g10X6b10X6r10422,
1859 #[cfg(feature = "v4_20")]
1860 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1861 #[doc(alias = "GDK_MEMORY_X6G10_X6B10_X6R10_444")]
1862 X6g10X6b10X6r10444,
1863 #[cfg(feature = "v4_20")]
1864 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1865 #[doc(alias = "GDK_MEMORY_X4G12_X4B12_X4R12_420")]
1866 X4g12X4b12X4r12420,
1867 #[cfg(feature = "v4_20")]
1868 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1869 #[doc(alias = "GDK_MEMORY_X4G12_X4B12_X4R12_422")]
1870 X4g12X4b12X4r12422,
1871 #[cfg(feature = "v4_20")]
1872 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1873 #[doc(alias = "GDK_MEMORY_X4G12_X4B12_X4R12_444")]
1874 X4g12X4b12X4r12444,
1875 #[cfg(feature = "v4_20")]
1876 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1877 #[doc(alias = "GDK_MEMORY_G16_B16_R16_420")]
1878 G16B16R16420,
1879 #[cfg(feature = "v4_20")]
1880 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1881 #[doc(alias = "GDK_MEMORY_G16_B16_R16_422")]
1882 G16B16R16422,
1883 #[cfg(feature = "v4_20")]
1884 #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1885 #[doc(alias = "GDK_MEMORY_G16_B16_R16_444")]
1886 G16B16R16444,
1887 #[doc(hidden)]
1888 __Unknown(i32),
1889}
1890
1891#[doc(hidden)]
1892impl IntoGlib for MemoryFormat {
1893 type GlibType = ffi::GdkMemoryFormat;
1894
1895 fn into_glib(self) -> ffi::GdkMemoryFormat {
1896 match self {
1897 Self::B8g8r8a8Premultiplied => ffi::GDK_MEMORY_B8G8R8A8_PREMULTIPLIED,
1898 Self::A8r8g8b8Premultiplied => ffi::GDK_MEMORY_A8R8G8B8_PREMULTIPLIED,
1899 Self::R8g8b8a8Premultiplied => ffi::GDK_MEMORY_R8G8B8A8_PREMULTIPLIED,
1900 Self::B8g8r8a8 => ffi::GDK_MEMORY_B8G8R8A8,
1901 Self::A8r8g8b8 => ffi::GDK_MEMORY_A8R8G8B8,
1902 Self::R8g8b8a8 => ffi::GDK_MEMORY_R8G8B8A8,
1903 Self::A8b8g8r8 => ffi::GDK_MEMORY_A8B8G8R8,
1904 Self::R8g8b8 => ffi::GDK_MEMORY_R8G8B8,
1905 Self::B8g8r8 => ffi::GDK_MEMORY_B8G8R8,
1906 #[cfg(feature = "v4_6")]
1907 Self::R16g16b16 => ffi::GDK_MEMORY_R16G16B16,
1908 #[cfg(feature = "v4_6")]
1909 Self::R16g16b16a16Premultiplied => ffi::GDK_MEMORY_R16G16B16A16_PREMULTIPLIED,
1910 #[cfg(feature = "v4_6")]
1911 Self::R16g16b16a16 => ffi::GDK_MEMORY_R16G16B16A16,
1912 #[cfg(feature = "v4_6")]
1913 Self::R16g16b16Float => ffi::GDK_MEMORY_R16G16B16_FLOAT,
1914 #[cfg(feature = "v4_6")]
1915 Self::R16g16b16a16FloatPremultiplied => {
1916 ffi::GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED
1917 }
1918 #[cfg(feature = "v4_6")]
1919 Self::R16g16b16a16Float => ffi::GDK_MEMORY_R16G16B16A16_FLOAT,
1920 #[cfg(feature = "v4_6")]
1921 Self::R32g32b32Float => ffi::GDK_MEMORY_R32G32B32_FLOAT,
1922 #[cfg(feature = "v4_6")]
1923 Self::R32g32b32a32FloatPremultiplied => {
1924 ffi::GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED
1925 }
1926 #[cfg(feature = "v4_6")]
1927 Self::R32g32b32a32Float => ffi::GDK_MEMORY_R32G32B32A32_FLOAT,
1928 #[cfg(feature = "v4_12")]
1929 Self::G8a8Premultiplied => ffi::GDK_MEMORY_G8A8_PREMULTIPLIED,
1930 #[cfg(feature = "v4_12")]
1931 Self::G8a8 => ffi::GDK_MEMORY_G8A8,
1932 #[cfg(feature = "v4_12")]
1933 Self::G8 => ffi::GDK_MEMORY_G8,
1934 #[cfg(feature = "v4_12")]
1935 Self::G16a16Premultiplied => ffi::GDK_MEMORY_G16A16_PREMULTIPLIED,
1936 #[cfg(feature = "v4_12")]
1937 Self::G16a16 => ffi::GDK_MEMORY_G16A16,
1938 #[cfg(feature = "v4_12")]
1939 Self::G16 => ffi::GDK_MEMORY_G16,
1940 #[cfg(feature = "v4_12")]
1941 Self::A8 => ffi::GDK_MEMORY_A8,
1942 #[cfg(feature = "v4_12")]
1943 Self::A16 => ffi::GDK_MEMORY_A16,
1944 #[cfg(feature = "v4_12")]
1945 Self::A16Float => ffi::GDK_MEMORY_A16_FLOAT,
1946 #[cfg(feature = "v4_12")]
1947 Self::A32Float => ffi::GDK_MEMORY_A32_FLOAT,
1948 #[cfg(feature = "v4_14")]
1949 Self::A8b8g8r8Premultiplied => ffi::GDK_MEMORY_A8B8G8R8_PREMULTIPLIED,
1950 #[cfg(feature = "v4_14")]
1951 Self::B8g8r8x8 => ffi::GDK_MEMORY_B8G8R8X8,
1952 #[cfg(feature = "v4_14")]
1953 Self::X8r8g8b8 => ffi::GDK_MEMORY_X8R8G8B8,
1954 #[cfg(feature = "v4_14")]
1955 Self::R8g8b8x8 => ffi::GDK_MEMORY_R8G8B8X8,
1956 #[cfg(feature = "v4_14")]
1957 Self::X8b8g8r8 => ffi::GDK_MEMORY_X8B8G8R8,
1958 #[cfg(feature = "v4_20")]
1959 Self::G8B8r8420 => ffi::GDK_MEMORY_G8_B8R8_420,
1960 #[cfg(feature = "v4_20")]
1961 Self::G8R8b8420 => ffi::GDK_MEMORY_G8_R8B8_420,
1962 #[cfg(feature = "v4_20")]
1963 Self::G8B8r8422 => ffi::GDK_MEMORY_G8_B8R8_422,
1964 #[cfg(feature = "v4_20")]
1965 Self::G8R8b8422 => ffi::GDK_MEMORY_G8_R8B8_422,
1966 #[cfg(feature = "v4_20")]
1967 Self::G8B8r8444 => ffi::GDK_MEMORY_G8_B8R8_444,
1968 #[cfg(feature = "v4_20")]
1969 Self::G8R8b8444 => ffi::GDK_MEMORY_G8_R8B8_444,
1970 #[cfg(feature = "v4_20")]
1971 Self::G10x6B10x6r10x6420 => ffi::GDK_MEMORY_G10X6_B10X6R10X6_420,
1972 #[cfg(feature = "v4_20")]
1973 Self::G12x4B12x4r12x4420 => ffi::GDK_MEMORY_G12X4_B12X4R12X4_420,
1974 #[cfg(feature = "v4_20")]
1975 Self::G16B16r16420 => ffi::GDK_MEMORY_G16_B16R16_420,
1976 #[cfg(feature = "v4_20")]
1977 Self::G8B8R8410 => ffi::GDK_MEMORY_G8_B8_R8_410,
1978 #[cfg(feature = "v4_20")]
1979 Self::G8R8B8410 => ffi::GDK_MEMORY_G8_R8_B8_410,
1980 #[cfg(feature = "v4_20")]
1981 Self::G8B8R8411 => ffi::GDK_MEMORY_G8_B8_R8_411,
1982 #[cfg(feature = "v4_20")]
1983 Self::G8R8B8411 => ffi::GDK_MEMORY_G8_R8_B8_411,
1984 #[cfg(feature = "v4_20")]
1985 Self::G8B8R8420 => ffi::GDK_MEMORY_G8_B8_R8_420,
1986 #[cfg(feature = "v4_20")]
1987 Self::G8R8B8420 => ffi::GDK_MEMORY_G8_R8_B8_420,
1988 #[cfg(feature = "v4_20")]
1989 Self::G8B8R8422 => ffi::GDK_MEMORY_G8_B8_R8_422,
1990 #[cfg(feature = "v4_20")]
1991 Self::G8R8B8422 => ffi::GDK_MEMORY_G8_R8_B8_422,
1992 #[cfg(feature = "v4_20")]
1993 Self::G8B8R8444 => ffi::GDK_MEMORY_G8_B8_R8_444,
1994 #[cfg(feature = "v4_20")]
1995 Self::G8R8B8444 => ffi::GDK_MEMORY_G8_R8_B8_444,
1996 #[cfg(feature = "v4_20")]
1997 Self::G8b8g8r8422 => ffi::GDK_MEMORY_G8B8G8R8_422,
1998 #[cfg(feature = "v4_20")]
1999 Self::G8r8g8b8422 => ffi::GDK_MEMORY_G8R8G8B8_422,
2000 #[cfg(feature = "v4_20")]
2001 Self::R8g8b8g8422 => ffi::GDK_MEMORY_R8G8B8G8_422,
2002 #[cfg(feature = "v4_20")]
2003 Self::B8g8r8g8422 => ffi::GDK_MEMORY_B8G8R8G8_422,
2004 #[cfg(feature = "v4_20")]
2005 Self::X6g10X6b10X6r10420 => ffi::GDK_MEMORY_X6G10_X6B10_X6R10_420,
2006 #[cfg(feature = "v4_20")]
2007 Self::X6g10X6b10X6r10422 => ffi::GDK_MEMORY_X6G10_X6B10_X6R10_422,
2008 #[cfg(feature = "v4_20")]
2009 Self::X6g10X6b10X6r10444 => ffi::GDK_MEMORY_X6G10_X6B10_X6R10_444,
2010 #[cfg(feature = "v4_20")]
2011 Self::X4g12X4b12X4r12420 => ffi::GDK_MEMORY_X4G12_X4B12_X4R12_420,
2012 #[cfg(feature = "v4_20")]
2013 Self::X4g12X4b12X4r12422 => ffi::GDK_MEMORY_X4G12_X4B12_X4R12_422,
2014 #[cfg(feature = "v4_20")]
2015 Self::X4g12X4b12X4r12444 => ffi::GDK_MEMORY_X4G12_X4B12_X4R12_444,
2016 #[cfg(feature = "v4_20")]
2017 Self::G16B16R16420 => ffi::GDK_MEMORY_G16_B16_R16_420,
2018 #[cfg(feature = "v4_20")]
2019 Self::G16B16R16422 => ffi::GDK_MEMORY_G16_B16_R16_422,
2020 #[cfg(feature = "v4_20")]
2021 Self::G16B16R16444 => ffi::GDK_MEMORY_G16_B16_R16_444,
2022 Self::__Unknown(value) => value,
2023 }
2024 }
2025}
2026
2027#[doc(hidden)]
2028impl FromGlib<ffi::GdkMemoryFormat> for MemoryFormat {
2029 unsafe fn from_glib(value: ffi::GdkMemoryFormat) -> Self {
2030 skip_assert_initialized!();
2031
2032 match value {
2033 ffi::GDK_MEMORY_B8G8R8A8_PREMULTIPLIED => Self::B8g8r8a8Premultiplied,
2034 ffi::GDK_MEMORY_A8R8G8B8_PREMULTIPLIED => Self::A8r8g8b8Premultiplied,
2035 ffi::GDK_MEMORY_R8G8B8A8_PREMULTIPLIED => Self::R8g8b8a8Premultiplied,
2036 ffi::GDK_MEMORY_B8G8R8A8 => Self::B8g8r8a8,
2037 ffi::GDK_MEMORY_A8R8G8B8 => Self::A8r8g8b8,
2038 ffi::GDK_MEMORY_R8G8B8A8 => Self::R8g8b8a8,
2039 ffi::GDK_MEMORY_A8B8G8R8 => Self::A8b8g8r8,
2040 ffi::GDK_MEMORY_R8G8B8 => Self::R8g8b8,
2041 ffi::GDK_MEMORY_B8G8R8 => Self::B8g8r8,
2042 #[cfg(feature = "v4_6")]
2043 ffi::GDK_MEMORY_R16G16B16 => Self::R16g16b16,
2044 #[cfg(feature = "v4_6")]
2045 ffi::GDK_MEMORY_R16G16B16A16_PREMULTIPLIED => Self::R16g16b16a16Premultiplied,
2046 #[cfg(feature = "v4_6")]
2047 ffi::GDK_MEMORY_R16G16B16A16 => Self::R16g16b16a16,
2048 #[cfg(feature = "v4_6")]
2049 ffi::GDK_MEMORY_R16G16B16_FLOAT => Self::R16g16b16Float,
2050 #[cfg(feature = "v4_6")]
2051 ffi::GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED => {
2052 Self::R16g16b16a16FloatPremultiplied
2053 }
2054 #[cfg(feature = "v4_6")]
2055 ffi::GDK_MEMORY_R16G16B16A16_FLOAT => Self::R16g16b16a16Float,
2056 #[cfg(feature = "v4_6")]
2057 ffi::GDK_MEMORY_R32G32B32_FLOAT => Self::R32g32b32Float,
2058 #[cfg(feature = "v4_6")]
2059 ffi::GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED => {
2060 Self::R32g32b32a32FloatPremultiplied
2061 }
2062 #[cfg(feature = "v4_6")]
2063 ffi::GDK_MEMORY_R32G32B32A32_FLOAT => Self::R32g32b32a32Float,
2064 #[cfg(feature = "v4_12")]
2065 ffi::GDK_MEMORY_G8A8_PREMULTIPLIED => Self::G8a8Premultiplied,
2066 #[cfg(feature = "v4_12")]
2067 ffi::GDK_MEMORY_G8A8 => Self::G8a8,
2068 #[cfg(feature = "v4_12")]
2069 ffi::GDK_MEMORY_G8 => Self::G8,
2070 #[cfg(feature = "v4_12")]
2071 ffi::GDK_MEMORY_G16A16_PREMULTIPLIED => Self::G16a16Premultiplied,
2072 #[cfg(feature = "v4_12")]
2073 ffi::GDK_MEMORY_G16A16 => Self::G16a16,
2074 #[cfg(feature = "v4_12")]
2075 ffi::GDK_MEMORY_G16 => Self::G16,
2076 #[cfg(feature = "v4_12")]
2077 ffi::GDK_MEMORY_A8 => Self::A8,
2078 #[cfg(feature = "v4_12")]
2079 ffi::GDK_MEMORY_A16 => Self::A16,
2080 #[cfg(feature = "v4_12")]
2081 ffi::GDK_MEMORY_A16_FLOAT => Self::A16Float,
2082 #[cfg(feature = "v4_12")]
2083 ffi::GDK_MEMORY_A32_FLOAT => Self::A32Float,
2084 #[cfg(feature = "v4_14")]
2085 ffi::GDK_MEMORY_A8B8G8R8_PREMULTIPLIED => Self::A8b8g8r8Premultiplied,
2086 #[cfg(feature = "v4_14")]
2087 ffi::GDK_MEMORY_B8G8R8X8 => Self::B8g8r8x8,
2088 #[cfg(feature = "v4_14")]
2089 ffi::GDK_MEMORY_X8R8G8B8 => Self::X8r8g8b8,
2090 #[cfg(feature = "v4_14")]
2091 ffi::GDK_MEMORY_R8G8B8X8 => Self::R8g8b8x8,
2092 #[cfg(feature = "v4_14")]
2093 ffi::GDK_MEMORY_X8B8G8R8 => Self::X8b8g8r8,
2094 #[cfg(feature = "v4_20")]
2095 ffi::GDK_MEMORY_G8_B8R8_420 => Self::G8B8r8420,
2096 #[cfg(feature = "v4_20")]
2097 ffi::GDK_MEMORY_G8_R8B8_420 => Self::G8R8b8420,
2098 #[cfg(feature = "v4_20")]
2099 ffi::GDK_MEMORY_G8_B8R8_422 => Self::G8B8r8422,
2100 #[cfg(feature = "v4_20")]
2101 ffi::GDK_MEMORY_G8_R8B8_422 => Self::G8R8b8422,
2102 #[cfg(feature = "v4_20")]
2103 ffi::GDK_MEMORY_G8_B8R8_444 => Self::G8B8r8444,
2104 #[cfg(feature = "v4_20")]
2105 ffi::GDK_MEMORY_G8_R8B8_444 => Self::G8R8b8444,
2106 #[cfg(feature = "v4_20")]
2107 ffi::GDK_MEMORY_G10X6_B10X6R10X6_420 => Self::G10x6B10x6r10x6420,
2108 #[cfg(feature = "v4_20")]
2109 ffi::GDK_MEMORY_G12X4_B12X4R12X4_420 => Self::G12x4B12x4r12x4420,
2110 #[cfg(feature = "v4_20")]
2111 ffi::GDK_MEMORY_G16_B16R16_420 => Self::G16B16r16420,
2112 #[cfg(feature = "v4_20")]
2113 ffi::GDK_MEMORY_G8_B8_R8_410 => Self::G8B8R8410,
2114 #[cfg(feature = "v4_20")]
2115 ffi::GDK_MEMORY_G8_R8_B8_410 => Self::G8R8B8410,
2116 #[cfg(feature = "v4_20")]
2117 ffi::GDK_MEMORY_G8_B8_R8_411 => Self::G8B8R8411,
2118 #[cfg(feature = "v4_20")]
2119 ffi::GDK_MEMORY_G8_R8_B8_411 => Self::G8R8B8411,
2120 #[cfg(feature = "v4_20")]
2121 ffi::GDK_MEMORY_G8_B8_R8_420 => Self::G8B8R8420,
2122 #[cfg(feature = "v4_20")]
2123 ffi::GDK_MEMORY_G8_R8_B8_420 => Self::G8R8B8420,
2124 #[cfg(feature = "v4_20")]
2125 ffi::GDK_MEMORY_G8_B8_R8_422 => Self::G8B8R8422,
2126 #[cfg(feature = "v4_20")]
2127 ffi::GDK_MEMORY_G8_R8_B8_422 => Self::G8R8B8422,
2128 #[cfg(feature = "v4_20")]
2129 ffi::GDK_MEMORY_G8_B8_R8_444 => Self::G8B8R8444,
2130 #[cfg(feature = "v4_20")]
2131 ffi::GDK_MEMORY_G8_R8_B8_444 => Self::G8R8B8444,
2132 #[cfg(feature = "v4_20")]
2133 ffi::GDK_MEMORY_G8B8G8R8_422 => Self::G8b8g8r8422,
2134 #[cfg(feature = "v4_20")]
2135 ffi::GDK_MEMORY_G8R8G8B8_422 => Self::G8r8g8b8422,
2136 #[cfg(feature = "v4_20")]
2137 ffi::GDK_MEMORY_R8G8B8G8_422 => Self::R8g8b8g8422,
2138 #[cfg(feature = "v4_20")]
2139 ffi::GDK_MEMORY_B8G8R8G8_422 => Self::B8g8r8g8422,
2140 #[cfg(feature = "v4_20")]
2141 ffi::GDK_MEMORY_X6G10_X6B10_X6R10_420 => Self::X6g10X6b10X6r10420,
2142 #[cfg(feature = "v4_20")]
2143 ffi::GDK_MEMORY_X6G10_X6B10_X6R10_422 => Self::X6g10X6b10X6r10422,
2144 #[cfg(feature = "v4_20")]
2145 ffi::GDK_MEMORY_X6G10_X6B10_X6R10_444 => Self::X6g10X6b10X6r10444,
2146 #[cfg(feature = "v4_20")]
2147 ffi::GDK_MEMORY_X4G12_X4B12_X4R12_420 => Self::X4g12X4b12X4r12420,
2148 #[cfg(feature = "v4_20")]
2149 ffi::GDK_MEMORY_X4G12_X4B12_X4R12_422 => Self::X4g12X4b12X4r12422,
2150 #[cfg(feature = "v4_20")]
2151 ffi::GDK_MEMORY_X4G12_X4B12_X4R12_444 => Self::X4g12X4b12X4r12444,
2152 #[cfg(feature = "v4_20")]
2153 ffi::GDK_MEMORY_G16_B16_R16_420 => Self::G16B16R16420,
2154 #[cfg(feature = "v4_20")]
2155 ffi::GDK_MEMORY_G16_B16_R16_422 => Self::G16B16R16422,
2156 #[cfg(feature = "v4_20")]
2157 ffi::GDK_MEMORY_G16_B16_R16_444 => Self::G16B16R16444,
2158 value => Self::__Unknown(value),
2159 }
2160 }
2161}
2162
2163impl StaticType for MemoryFormat {
2164 #[inline]
2165 #[doc(alias = "gdk_memory_format_get_type")]
2166 fn static_type() -> glib::Type {
2167 unsafe { from_glib(ffi::gdk_memory_format_get_type()) }
2168 }
2169}
2170
2171impl glib::HasParamSpec for MemoryFormat {
2172 type ParamSpec = glib::ParamSpecEnum;
2173 type SetValue = Self;
2174 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2175
2176 fn param_spec_builder() -> Self::BuilderFn {
2177 Self::ParamSpec::builder_with_default
2178 }
2179}
2180
2181impl glib::value::ValueType for MemoryFormat {
2182 type Type = Self;
2183}
2184
2185unsafe impl<'a> glib::value::FromValue<'a> for MemoryFormat {
2186 type Checker = glib::value::GenericValueTypeChecker<Self>;
2187
2188 #[inline]
2189 unsafe fn from_value(value: &'a glib::Value) -> Self {
2190 skip_assert_initialized!();
2191 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2192 }
2193}
2194
2195impl ToValue for MemoryFormat {
2196 #[inline]
2197 fn to_value(&self) -> glib::Value {
2198 let mut value = glib::Value::for_value_type::<Self>();
2199 unsafe {
2200 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2201 }
2202 value
2203 }
2204
2205 #[inline]
2206 fn value_type(&self) -> glib::Type {
2207 Self::static_type()
2208 }
2209}
2210
2211impl From<MemoryFormat> for glib::Value {
2212 #[inline]
2213 fn from(v: MemoryFormat) -> Self {
2214 skip_assert_initialized!();
2215 ToValue::to_value(&v)
2216 }
2217}
2218
2219#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2220#[non_exhaustive]
2221#[doc(alias = "GdkNotifyType")]
2222pub enum NotifyType {
2223 #[doc(alias = "GDK_NOTIFY_ANCESTOR")]
2224 Ancestor,
2225 #[doc(alias = "GDK_NOTIFY_VIRTUAL")]
2226 Virtual,
2227 #[doc(alias = "GDK_NOTIFY_INFERIOR")]
2228 Inferior,
2229 #[doc(alias = "GDK_NOTIFY_NONLINEAR")]
2230 Nonlinear,
2231 #[doc(alias = "GDK_NOTIFY_NONLINEAR_VIRTUAL")]
2232 NonlinearVirtual,
2233 #[doc(alias = "GDK_NOTIFY_UNKNOWN")]
2234 Unknown,
2235 #[doc(hidden)]
2236 __Unknown(i32),
2237}
2238
2239#[doc(hidden)]
2240impl IntoGlib for NotifyType {
2241 type GlibType = ffi::GdkNotifyType;
2242
2243 #[inline]
2244 fn into_glib(self) -> ffi::GdkNotifyType {
2245 match self {
2246 Self::Ancestor => ffi::GDK_NOTIFY_ANCESTOR,
2247 Self::Virtual => ffi::GDK_NOTIFY_VIRTUAL,
2248 Self::Inferior => ffi::GDK_NOTIFY_INFERIOR,
2249 Self::Nonlinear => ffi::GDK_NOTIFY_NONLINEAR,
2250 Self::NonlinearVirtual => ffi::GDK_NOTIFY_NONLINEAR_VIRTUAL,
2251 Self::Unknown => ffi::GDK_NOTIFY_UNKNOWN,
2252 Self::__Unknown(value) => value,
2253 }
2254 }
2255}
2256
2257#[doc(hidden)]
2258impl FromGlib<ffi::GdkNotifyType> for NotifyType {
2259 #[inline]
2260 unsafe fn from_glib(value: ffi::GdkNotifyType) -> Self {
2261 skip_assert_initialized!();
2262
2263 match value {
2264 ffi::GDK_NOTIFY_ANCESTOR => Self::Ancestor,
2265 ffi::GDK_NOTIFY_VIRTUAL => Self::Virtual,
2266 ffi::GDK_NOTIFY_INFERIOR => Self::Inferior,
2267 ffi::GDK_NOTIFY_NONLINEAR => Self::Nonlinear,
2268 ffi::GDK_NOTIFY_NONLINEAR_VIRTUAL => Self::NonlinearVirtual,
2269 ffi::GDK_NOTIFY_UNKNOWN => Self::Unknown,
2270 value => Self::__Unknown(value),
2271 }
2272 }
2273}
2274
2275impl StaticType for NotifyType {
2276 #[inline]
2277 #[doc(alias = "gdk_notify_type_get_type")]
2278 fn static_type() -> glib::Type {
2279 unsafe { from_glib(ffi::gdk_notify_type_get_type()) }
2280 }
2281}
2282
2283impl glib::HasParamSpec for NotifyType {
2284 type ParamSpec = glib::ParamSpecEnum;
2285 type SetValue = Self;
2286 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2287
2288 fn param_spec_builder() -> Self::BuilderFn {
2289 Self::ParamSpec::builder_with_default
2290 }
2291}
2292
2293impl glib::value::ValueType for NotifyType {
2294 type Type = Self;
2295}
2296
2297unsafe impl<'a> glib::value::FromValue<'a> for NotifyType {
2298 type Checker = glib::value::GenericValueTypeChecker<Self>;
2299
2300 #[inline]
2301 unsafe fn from_value(value: &'a glib::Value) -> Self {
2302 skip_assert_initialized!();
2303 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2304 }
2305}
2306
2307impl ToValue for NotifyType {
2308 #[inline]
2309 fn to_value(&self) -> glib::Value {
2310 let mut value = glib::Value::for_value_type::<Self>();
2311 unsafe {
2312 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2313 }
2314 value
2315 }
2316
2317 #[inline]
2318 fn value_type(&self) -> glib::Type {
2319 Self::static_type()
2320 }
2321}
2322
2323impl From<NotifyType> for glib::Value {
2324 #[inline]
2325 fn from(v: NotifyType) -> Self {
2326 skip_assert_initialized!();
2327 ToValue::to_value(&v)
2328 }
2329}
2330
2331#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2332#[non_exhaustive]
2333#[doc(alias = "GdkScrollDirection")]
2334pub enum ScrollDirection {
2335 #[doc(alias = "GDK_SCROLL_UP")]
2336 Up,
2337 #[doc(alias = "GDK_SCROLL_DOWN")]
2338 Down,
2339 #[doc(alias = "GDK_SCROLL_LEFT")]
2340 Left,
2341 #[doc(alias = "GDK_SCROLL_RIGHT")]
2342 Right,
2343 #[doc(alias = "GDK_SCROLL_SMOOTH")]
2344 Smooth,
2345 #[doc(hidden)]
2346 __Unknown(i32),
2347}
2348
2349#[doc(hidden)]
2350impl IntoGlib for ScrollDirection {
2351 type GlibType = ffi::GdkScrollDirection;
2352
2353 #[inline]
2354 fn into_glib(self) -> ffi::GdkScrollDirection {
2355 match self {
2356 Self::Up => ffi::GDK_SCROLL_UP,
2357 Self::Down => ffi::GDK_SCROLL_DOWN,
2358 Self::Left => ffi::GDK_SCROLL_LEFT,
2359 Self::Right => ffi::GDK_SCROLL_RIGHT,
2360 Self::Smooth => ffi::GDK_SCROLL_SMOOTH,
2361 Self::__Unknown(value) => value,
2362 }
2363 }
2364}
2365
2366#[doc(hidden)]
2367impl FromGlib<ffi::GdkScrollDirection> for ScrollDirection {
2368 #[inline]
2369 unsafe fn from_glib(value: ffi::GdkScrollDirection) -> Self {
2370 skip_assert_initialized!();
2371
2372 match value {
2373 ffi::GDK_SCROLL_UP => Self::Up,
2374 ffi::GDK_SCROLL_DOWN => Self::Down,
2375 ffi::GDK_SCROLL_LEFT => Self::Left,
2376 ffi::GDK_SCROLL_RIGHT => Self::Right,
2377 ffi::GDK_SCROLL_SMOOTH => Self::Smooth,
2378 value => Self::__Unknown(value),
2379 }
2380 }
2381}
2382
2383impl StaticType for ScrollDirection {
2384 #[inline]
2385 #[doc(alias = "gdk_scroll_direction_get_type")]
2386 fn static_type() -> glib::Type {
2387 unsafe { from_glib(ffi::gdk_scroll_direction_get_type()) }
2388 }
2389}
2390
2391impl glib::HasParamSpec for ScrollDirection {
2392 type ParamSpec = glib::ParamSpecEnum;
2393 type SetValue = Self;
2394 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2395
2396 fn param_spec_builder() -> Self::BuilderFn {
2397 Self::ParamSpec::builder_with_default
2398 }
2399}
2400
2401impl glib::value::ValueType for ScrollDirection {
2402 type Type = Self;
2403}
2404
2405unsafe impl<'a> glib::value::FromValue<'a> for ScrollDirection {
2406 type Checker = glib::value::GenericValueTypeChecker<Self>;
2407
2408 #[inline]
2409 unsafe fn from_value(value: &'a glib::Value) -> Self {
2410 skip_assert_initialized!();
2411 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2412 }
2413}
2414
2415impl ToValue for ScrollDirection {
2416 #[inline]
2417 fn to_value(&self) -> glib::Value {
2418 let mut value = glib::Value::for_value_type::<Self>();
2419 unsafe {
2420 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2421 }
2422 value
2423 }
2424
2425 #[inline]
2426 fn value_type(&self) -> glib::Type {
2427 Self::static_type()
2428 }
2429}
2430
2431impl From<ScrollDirection> for glib::Value {
2432 #[inline]
2433 fn from(v: ScrollDirection) -> Self {
2434 skip_assert_initialized!();
2435 ToValue::to_value(&v)
2436 }
2437}
2438
2439#[cfg(feature = "v4_20")]
2440#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2441#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2442#[non_exhaustive]
2443#[doc(alias = "GdkScrollRelativeDirection")]
2444pub enum ScrollRelativeDirection {
2445 #[doc(alias = "GDK_SCROLL_RELATIVE_DIRECTION_IDENTICAL")]
2446 Identical,
2447 #[doc(alias = "GDK_SCROLL_RELATIVE_DIRECTION_INVERTED")]
2448 Inverted,
2449 #[doc(alias = "GDK_SCROLL_RELATIVE_DIRECTION_UNKNOWN")]
2450 Unknown,
2451 #[doc(hidden)]
2452 __Unknown(i32),
2453}
2454
2455#[cfg(feature = "v4_20")]
2456#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2457#[doc(hidden)]
2458impl IntoGlib for ScrollRelativeDirection {
2459 type GlibType = ffi::GdkScrollRelativeDirection;
2460
2461 #[inline]
2462 fn into_glib(self) -> ffi::GdkScrollRelativeDirection {
2463 match self {
2464 Self::Identical => ffi::GDK_SCROLL_RELATIVE_DIRECTION_IDENTICAL,
2465 Self::Inverted => ffi::GDK_SCROLL_RELATIVE_DIRECTION_INVERTED,
2466 Self::Unknown => ffi::GDK_SCROLL_RELATIVE_DIRECTION_UNKNOWN,
2467 Self::__Unknown(value) => value,
2468 }
2469 }
2470}
2471
2472#[cfg(feature = "v4_20")]
2473#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2474#[doc(hidden)]
2475impl FromGlib<ffi::GdkScrollRelativeDirection> for ScrollRelativeDirection {
2476 #[inline]
2477 unsafe fn from_glib(value: ffi::GdkScrollRelativeDirection) -> Self {
2478 skip_assert_initialized!();
2479
2480 match value {
2481 ffi::GDK_SCROLL_RELATIVE_DIRECTION_IDENTICAL => Self::Identical,
2482 ffi::GDK_SCROLL_RELATIVE_DIRECTION_INVERTED => Self::Inverted,
2483 ffi::GDK_SCROLL_RELATIVE_DIRECTION_UNKNOWN => Self::Unknown,
2484 value => Self::__Unknown(value),
2485 }
2486 }
2487}
2488
2489#[cfg(feature = "v4_20")]
2490#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2491impl StaticType for ScrollRelativeDirection {
2492 #[inline]
2493 #[doc(alias = "gdk_scroll_relative_direction_get_type")]
2494 fn static_type() -> glib::Type {
2495 unsafe { from_glib(ffi::gdk_scroll_relative_direction_get_type()) }
2496 }
2497}
2498
2499#[cfg(feature = "v4_20")]
2500#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2501impl glib::HasParamSpec for ScrollRelativeDirection {
2502 type ParamSpec = glib::ParamSpecEnum;
2503 type SetValue = Self;
2504 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2505
2506 fn param_spec_builder() -> Self::BuilderFn {
2507 Self::ParamSpec::builder_with_default
2508 }
2509}
2510
2511#[cfg(feature = "v4_20")]
2512#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2513impl glib::value::ValueType for ScrollRelativeDirection {
2514 type Type = Self;
2515}
2516
2517#[cfg(feature = "v4_20")]
2518#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2519unsafe impl<'a> glib::value::FromValue<'a> for ScrollRelativeDirection {
2520 type Checker = glib::value::GenericValueTypeChecker<Self>;
2521
2522 #[inline]
2523 unsafe fn from_value(value: &'a glib::Value) -> Self {
2524 skip_assert_initialized!();
2525 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2526 }
2527}
2528
2529#[cfg(feature = "v4_20")]
2530#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2531impl ToValue for ScrollRelativeDirection {
2532 #[inline]
2533 fn to_value(&self) -> glib::Value {
2534 let mut value = glib::Value::for_value_type::<Self>();
2535 unsafe {
2536 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2537 }
2538 value
2539 }
2540
2541 #[inline]
2542 fn value_type(&self) -> glib::Type {
2543 Self::static_type()
2544 }
2545}
2546
2547#[cfg(feature = "v4_20")]
2548#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
2549impl From<ScrollRelativeDirection> for glib::Value {
2550 #[inline]
2551 fn from(v: ScrollRelativeDirection) -> Self {
2552 skip_assert_initialized!();
2553 ToValue::to_value(&v)
2554 }
2555}
2556
2557#[cfg(feature = "v4_8")]
2558#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2559#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2560#[non_exhaustive]
2561#[doc(alias = "GdkScrollUnit")]
2562pub enum ScrollUnit {
2563 #[doc(alias = "GDK_SCROLL_UNIT_WHEEL")]
2564 Wheel,
2565 #[doc(alias = "GDK_SCROLL_UNIT_SURFACE")]
2566 Surface,
2567 #[doc(hidden)]
2568 __Unknown(i32),
2569}
2570
2571#[cfg(feature = "v4_8")]
2572#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2573#[doc(hidden)]
2574impl IntoGlib for ScrollUnit {
2575 type GlibType = ffi::GdkScrollUnit;
2576
2577 #[inline]
2578 fn into_glib(self) -> ffi::GdkScrollUnit {
2579 match self {
2580 Self::Wheel => ffi::GDK_SCROLL_UNIT_WHEEL,
2581 Self::Surface => ffi::GDK_SCROLL_UNIT_SURFACE,
2582 Self::__Unknown(value) => value,
2583 }
2584 }
2585}
2586
2587#[cfg(feature = "v4_8")]
2588#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2589#[doc(hidden)]
2590impl FromGlib<ffi::GdkScrollUnit> for ScrollUnit {
2591 #[inline]
2592 unsafe fn from_glib(value: ffi::GdkScrollUnit) -> Self {
2593 skip_assert_initialized!();
2594
2595 match value {
2596 ffi::GDK_SCROLL_UNIT_WHEEL => Self::Wheel,
2597 ffi::GDK_SCROLL_UNIT_SURFACE => Self::Surface,
2598 value => Self::__Unknown(value),
2599 }
2600 }
2601}
2602
2603#[cfg(feature = "v4_8")]
2604#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2605impl StaticType for ScrollUnit {
2606 #[inline]
2607 #[doc(alias = "gdk_scroll_unit_get_type")]
2608 fn static_type() -> glib::Type {
2609 unsafe { from_glib(ffi::gdk_scroll_unit_get_type()) }
2610 }
2611}
2612
2613#[cfg(feature = "v4_8")]
2614#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2615impl glib::HasParamSpec for ScrollUnit {
2616 type ParamSpec = glib::ParamSpecEnum;
2617 type SetValue = Self;
2618 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2619
2620 fn param_spec_builder() -> Self::BuilderFn {
2621 Self::ParamSpec::builder_with_default
2622 }
2623}
2624
2625#[cfg(feature = "v4_8")]
2626#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2627impl glib::value::ValueType for ScrollUnit {
2628 type Type = Self;
2629}
2630
2631#[cfg(feature = "v4_8")]
2632#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2633unsafe impl<'a> glib::value::FromValue<'a> for ScrollUnit {
2634 type Checker = glib::value::GenericValueTypeChecker<Self>;
2635
2636 #[inline]
2637 unsafe fn from_value(value: &'a glib::Value) -> Self {
2638 skip_assert_initialized!();
2639 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2640 }
2641}
2642
2643#[cfg(feature = "v4_8")]
2644#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2645impl ToValue for ScrollUnit {
2646 #[inline]
2647 fn to_value(&self) -> glib::Value {
2648 let mut value = glib::Value::for_value_type::<Self>();
2649 unsafe {
2650 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2651 }
2652 value
2653 }
2654
2655 #[inline]
2656 fn value_type(&self) -> glib::Type {
2657 Self::static_type()
2658 }
2659}
2660
2661#[cfg(feature = "v4_8")]
2662#[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))]
2663impl From<ScrollUnit> for glib::Value {
2664 #[inline]
2665 fn from(v: ScrollUnit) -> Self {
2666 skip_assert_initialized!();
2667 ToValue::to_value(&v)
2668 }
2669}
2670
2671#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2672#[non_exhaustive]
2673#[doc(alias = "GdkSubpixelLayout")]
2674pub enum SubpixelLayout {
2675 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_UNKNOWN")]
2676 Unknown,
2677 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_NONE")]
2678 None,
2679 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB")]
2680 HorizontalRgb,
2681 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR")]
2682 HorizontalBgr,
2683 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB")]
2684 VerticalRgb,
2685 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR")]
2686 VerticalBgr,
2687 #[doc(hidden)]
2688 __Unknown(i32),
2689}
2690
2691#[doc(hidden)]
2692impl IntoGlib for SubpixelLayout {
2693 type GlibType = ffi::GdkSubpixelLayout;
2694
2695 #[inline]
2696 fn into_glib(self) -> ffi::GdkSubpixelLayout {
2697 match self {
2698 Self::Unknown => ffi::GDK_SUBPIXEL_LAYOUT_UNKNOWN,
2699 Self::None => ffi::GDK_SUBPIXEL_LAYOUT_NONE,
2700 Self::HorizontalRgb => ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB,
2701 Self::HorizontalBgr => ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR,
2702 Self::VerticalRgb => ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB,
2703 Self::VerticalBgr => ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR,
2704 Self::__Unknown(value) => value,
2705 }
2706 }
2707}
2708
2709#[doc(hidden)]
2710impl FromGlib<ffi::GdkSubpixelLayout> for SubpixelLayout {
2711 #[inline]
2712 unsafe fn from_glib(value: ffi::GdkSubpixelLayout) -> Self {
2713 skip_assert_initialized!();
2714
2715 match value {
2716 ffi::GDK_SUBPIXEL_LAYOUT_UNKNOWN => Self::Unknown,
2717 ffi::GDK_SUBPIXEL_LAYOUT_NONE => Self::None,
2718 ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB => Self::HorizontalRgb,
2719 ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR => Self::HorizontalBgr,
2720 ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB => Self::VerticalRgb,
2721 ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR => Self::VerticalBgr,
2722 value => Self::__Unknown(value),
2723 }
2724 }
2725}
2726
2727impl StaticType for SubpixelLayout {
2728 #[inline]
2729 #[doc(alias = "gdk_subpixel_layout_get_type")]
2730 fn static_type() -> glib::Type {
2731 unsafe { from_glib(ffi::gdk_subpixel_layout_get_type()) }
2732 }
2733}
2734
2735impl glib::HasParamSpec for SubpixelLayout {
2736 type ParamSpec = glib::ParamSpecEnum;
2737 type SetValue = Self;
2738 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2739
2740 fn param_spec_builder() -> Self::BuilderFn {
2741 Self::ParamSpec::builder_with_default
2742 }
2743}
2744
2745impl glib::value::ValueType for SubpixelLayout {
2746 type Type = Self;
2747}
2748
2749unsafe impl<'a> glib::value::FromValue<'a> for SubpixelLayout {
2750 type Checker = glib::value::GenericValueTypeChecker<Self>;
2751
2752 #[inline]
2753 unsafe fn from_value(value: &'a glib::Value) -> Self {
2754 skip_assert_initialized!();
2755 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2756 }
2757}
2758
2759impl ToValue for SubpixelLayout {
2760 #[inline]
2761 fn to_value(&self) -> glib::Value {
2762 let mut value = glib::Value::for_value_type::<Self>();
2763 unsafe {
2764 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2765 }
2766 value
2767 }
2768
2769 #[inline]
2770 fn value_type(&self) -> glib::Type {
2771 Self::static_type()
2772 }
2773}
2774
2775impl From<SubpixelLayout> for glib::Value {
2776 #[inline]
2777 fn from(v: SubpixelLayout) -> Self {
2778 skip_assert_initialized!();
2779 ToValue::to_value(&v)
2780 }
2781}
2782
2783#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2784#[non_exhaustive]
2785#[doc(alias = "GdkSurfaceEdge")]
2786pub enum SurfaceEdge {
2787 #[doc(alias = "GDK_SURFACE_EDGE_NORTH_WEST")]
2788 NorthWest,
2789 #[doc(alias = "GDK_SURFACE_EDGE_NORTH")]
2790 North,
2791 #[doc(alias = "GDK_SURFACE_EDGE_NORTH_EAST")]
2792 NorthEast,
2793 #[doc(alias = "GDK_SURFACE_EDGE_WEST")]
2794 West,
2795 #[doc(alias = "GDK_SURFACE_EDGE_EAST")]
2796 East,
2797 #[doc(alias = "GDK_SURFACE_EDGE_SOUTH_WEST")]
2798 SouthWest,
2799 #[doc(alias = "GDK_SURFACE_EDGE_SOUTH")]
2800 South,
2801 #[doc(alias = "GDK_SURFACE_EDGE_SOUTH_EAST")]
2802 SouthEast,
2803 #[doc(hidden)]
2804 __Unknown(i32),
2805}
2806
2807#[doc(hidden)]
2808impl IntoGlib for SurfaceEdge {
2809 type GlibType = ffi::GdkSurfaceEdge;
2810
2811 #[inline]
2812 fn into_glib(self) -> ffi::GdkSurfaceEdge {
2813 match self {
2814 Self::NorthWest => ffi::GDK_SURFACE_EDGE_NORTH_WEST,
2815 Self::North => ffi::GDK_SURFACE_EDGE_NORTH,
2816 Self::NorthEast => ffi::GDK_SURFACE_EDGE_NORTH_EAST,
2817 Self::West => ffi::GDK_SURFACE_EDGE_WEST,
2818 Self::East => ffi::GDK_SURFACE_EDGE_EAST,
2819 Self::SouthWest => ffi::GDK_SURFACE_EDGE_SOUTH_WEST,
2820 Self::South => ffi::GDK_SURFACE_EDGE_SOUTH,
2821 Self::SouthEast => ffi::GDK_SURFACE_EDGE_SOUTH_EAST,
2822 Self::__Unknown(value) => value,
2823 }
2824 }
2825}
2826
2827#[doc(hidden)]
2828impl FromGlib<ffi::GdkSurfaceEdge> for SurfaceEdge {
2829 #[inline]
2830 unsafe fn from_glib(value: ffi::GdkSurfaceEdge) -> Self {
2831 skip_assert_initialized!();
2832
2833 match value {
2834 ffi::GDK_SURFACE_EDGE_NORTH_WEST => Self::NorthWest,
2835 ffi::GDK_SURFACE_EDGE_NORTH => Self::North,
2836 ffi::GDK_SURFACE_EDGE_NORTH_EAST => Self::NorthEast,
2837 ffi::GDK_SURFACE_EDGE_WEST => Self::West,
2838 ffi::GDK_SURFACE_EDGE_EAST => Self::East,
2839 ffi::GDK_SURFACE_EDGE_SOUTH_WEST => Self::SouthWest,
2840 ffi::GDK_SURFACE_EDGE_SOUTH => Self::South,
2841 ffi::GDK_SURFACE_EDGE_SOUTH_EAST => Self::SouthEast,
2842 value => Self::__Unknown(value),
2843 }
2844 }
2845}
2846
2847impl StaticType for SurfaceEdge {
2848 #[inline]
2849 #[doc(alias = "gdk_surface_edge_get_type")]
2850 fn static_type() -> glib::Type {
2851 unsafe { from_glib(ffi::gdk_surface_edge_get_type()) }
2852 }
2853}
2854
2855impl glib::HasParamSpec for SurfaceEdge {
2856 type ParamSpec = glib::ParamSpecEnum;
2857 type SetValue = Self;
2858 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2859
2860 fn param_spec_builder() -> Self::BuilderFn {
2861 Self::ParamSpec::builder_with_default
2862 }
2863}
2864
2865impl glib::value::ValueType for SurfaceEdge {
2866 type Type = Self;
2867}
2868
2869unsafe impl<'a> glib::value::FromValue<'a> for SurfaceEdge {
2870 type Checker = glib::value::GenericValueTypeChecker<Self>;
2871
2872 #[inline]
2873 unsafe fn from_value(value: &'a glib::Value) -> Self {
2874 skip_assert_initialized!();
2875 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2876 }
2877}
2878
2879impl ToValue for SurfaceEdge {
2880 #[inline]
2881 fn to_value(&self) -> glib::Value {
2882 let mut value = glib::Value::for_value_type::<Self>();
2883 unsafe {
2884 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2885 }
2886 value
2887 }
2888
2889 #[inline]
2890 fn value_type(&self) -> glib::Type {
2891 Self::static_type()
2892 }
2893}
2894
2895impl From<SurfaceEdge> for glib::Value {
2896 #[inline]
2897 fn from(v: SurfaceEdge) -> Self {
2898 skip_assert_initialized!();
2899 ToValue::to_value(&v)
2900 }
2901}
2902
2903#[cfg(feature = "v4_6")]
2904#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2905#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2906#[non_exhaustive]
2907#[doc(alias = "GdkTextureError")]
2908pub enum TextureError {
2909 #[doc(alias = "GDK_TEXTURE_ERROR_TOO_LARGE")]
2910 TooLarge,
2911 #[doc(alias = "GDK_TEXTURE_ERROR_CORRUPT_IMAGE")]
2912 CorruptImage,
2913 #[doc(alias = "GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT")]
2914 UnsupportedContent,
2915 #[doc(alias = "GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT")]
2916 UnsupportedFormat,
2917 #[doc(hidden)]
2918 __Unknown(i32),
2919}
2920
2921#[cfg(feature = "v4_6")]
2922#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2923#[doc(hidden)]
2924impl IntoGlib for TextureError {
2925 type GlibType = ffi::GdkTextureError;
2926
2927 #[inline]
2928 fn into_glib(self) -> ffi::GdkTextureError {
2929 match self {
2930 Self::TooLarge => ffi::GDK_TEXTURE_ERROR_TOO_LARGE,
2931 Self::CorruptImage => ffi::GDK_TEXTURE_ERROR_CORRUPT_IMAGE,
2932 Self::UnsupportedContent => ffi::GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT,
2933 Self::UnsupportedFormat => ffi::GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT,
2934 Self::__Unknown(value) => value,
2935 }
2936 }
2937}
2938
2939#[cfg(feature = "v4_6")]
2940#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2941#[doc(hidden)]
2942impl FromGlib<ffi::GdkTextureError> for TextureError {
2943 #[inline]
2944 unsafe fn from_glib(value: ffi::GdkTextureError) -> Self {
2945 skip_assert_initialized!();
2946
2947 match value {
2948 ffi::GDK_TEXTURE_ERROR_TOO_LARGE => Self::TooLarge,
2949 ffi::GDK_TEXTURE_ERROR_CORRUPT_IMAGE => Self::CorruptImage,
2950 ffi::GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT => Self::UnsupportedContent,
2951 ffi::GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT => Self::UnsupportedFormat,
2952 value => Self::__Unknown(value),
2953 }
2954 }
2955}
2956
2957#[cfg(feature = "v4_6")]
2958#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2959impl glib::error::ErrorDomain for TextureError {
2960 #[inline]
2961 fn domain() -> glib::Quark {
2962 skip_assert_initialized!();
2963
2964 unsafe { from_glib(ffi::gdk_texture_error_quark()) }
2965 }
2966
2967 #[inline]
2968 fn code(self) -> i32 {
2969 self.into_glib()
2970 }
2971
2972 #[inline]
2973 #[allow(clippy::match_single_binding)]
2974 fn from(code: i32) -> Option<Self> {
2975 skip_assert_initialized!();
2976 match unsafe { from_glib(code) } {
2977 value => Some(value),
2978 }
2979 }
2980}
2981
2982#[cfg(feature = "v4_6")]
2983#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2984impl StaticType for TextureError {
2985 #[inline]
2986 #[doc(alias = "gdk_texture_error_get_type")]
2987 fn static_type() -> glib::Type {
2988 unsafe { from_glib(ffi::gdk_texture_error_get_type()) }
2989 }
2990}
2991
2992#[cfg(feature = "v4_6")]
2993#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2994impl glib::HasParamSpec for TextureError {
2995 type ParamSpec = glib::ParamSpecEnum;
2996 type SetValue = Self;
2997 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2998
2999 fn param_spec_builder() -> Self::BuilderFn {
3000 Self::ParamSpec::builder_with_default
3001 }
3002}
3003
3004#[cfg(feature = "v4_6")]
3005#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
3006impl glib::value::ValueType for TextureError {
3007 type Type = Self;
3008}
3009
3010#[cfg(feature = "v4_6")]
3011#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
3012unsafe impl<'a> glib::value::FromValue<'a> for TextureError {
3013 type Checker = glib::value::GenericValueTypeChecker<Self>;
3014
3015 #[inline]
3016 unsafe fn from_value(value: &'a glib::Value) -> Self {
3017 skip_assert_initialized!();
3018 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3019 }
3020}
3021
3022#[cfg(feature = "v4_6")]
3023#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
3024impl ToValue for TextureError {
3025 #[inline]
3026 fn to_value(&self) -> glib::Value {
3027 let mut value = glib::Value::for_value_type::<Self>();
3028 unsafe {
3029 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3030 }
3031 value
3032 }
3033
3034 #[inline]
3035 fn value_type(&self) -> glib::Type {
3036 Self::static_type()
3037 }
3038}
3039
3040#[cfg(feature = "v4_6")]
3041#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
3042impl From<TextureError> for glib::Value {
3043 #[inline]
3044 fn from(v: TextureError) -> Self {
3045 skip_assert_initialized!();
3046 ToValue::to_value(&v)
3047 }
3048}
3049
3050#[cfg(feature = "v4_4")]
3051#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3052#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3053#[non_exhaustive]
3054#[doc(alias = "GdkTitlebarGesture")]
3055pub enum TitlebarGesture {
3056 #[doc(alias = "GDK_TITLEBAR_GESTURE_DOUBLE_CLICK")]
3057 DoubleClick,
3058 #[doc(alias = "GDK_TITLEBAR_GESTURE_RIGHT_CLICK")]
3059 RightClick,
3060 #[doc(alias = "GDK_TITLEBAR_GESTURE_MIDDLE_CLICK")]
3061 MiddleClick,
3062 #[doc(hidden)]
3063 __Unknown(i32),
3064}
3065
3066#[cfg(feature = "v4_4")]
3067#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3068#[doc(hidden)]
3069impl IntoGlib for TitlebarGesture {
3070 type GlibType = ffi::GdkTitlebarGesture;
3071
3072 #[inline]
3073 fn into_glib(self) -> ffi::GdkTitlebarGesture {
3074 match self {
3075 Self::DoubleClick => ffi::GDK_TITLEBAR_GESTURE_DOUBLE_CLICK,
3076 Self::RightClick => ffi::GDK_TITLEBAR_GESTURE_RIGHT_CLICK,
3077 Self::MiddleClick => ffi::GDK_TITLEBAR_GESTURE_MIDDLE_CLICK,
3078 Self::__Unknown(value) => value,
3079 }
3080 }
3081}
3082
3083#[cfg(feature = "v4_4")]
3084#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3085#[doc(hidden)]
3086impl FromGlib<ffi::GdkTitlebarGesture> for TitlebarGesture {
3087 #[inline]
3088 unsafe fn from_glib(value: ffi::GdkTitlebarGesture) -> Self {
3089 skip_assert_initialized!();
3090
3091 match value {
3092 ffi::GDK_TITLEBAR_GESTURE_DOUBLE_CLICK => Self::DoubleClick,
3093 ffi::GDK_TITLEBAR_GESTURE_RIGHT_CLICK => Self::RightClick,
3094 ffi::GDK_TITLEBAR_GESTURE_MIDDLE_CLICK => Self::MiddleClick,
3095 value => Self::__Unknown(value),
3096 }
3097 }
3098}
3099
3100#[cfg(feature = "v4_4")]
3101#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3102impl StaticType for TitlebarGesture {
3103 #[inline]
3104 #[doc(alias = "gdk_titlebar_gesture_get_type")]
3105 fn static_type() -> glib::Type {
3106 unsafe { from_glib(ffi::gdk_titlebar_gesture_get_type()) }
3107 }
3108}
3109
3110#[cfg(feature = "v4_4")]
3111#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3112impl glib::HasParamSpec for TitlebarGesture {
3113 type ParamSpec = glib::ParamSpecEnum;
3114 type SetValue = Self;
3115 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3116
3117 fn param_spec_builder() -> Self::BuilderFn {
3118 Self::ParamSpec::builder_with_default
3119 }
3120}
3121
3122#[cfg(feature = "v4_4")]
3123#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3124impl glib::value::ValueType for TitlebarGesture {
3125 type Type = Self;
3126}
3127
3128#[cfg(feature = "v4_4")]
3129#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3130unsafe impl<'a> glib::value::FromValue<'a> for TitlebarGesture {
3131 type Checker = glib::value::GenericValueTypeChecker<Self>;
3132
3133 #[inline]
3134 unsafe fn from_value(value: &'a glib::Value) -> Self {
3135 skip_assert_initialized!();
3136 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3137 }
3138}
3139
3140#[cfg(feature = "v4_4")]
3141#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3142impl ToValue for TitlebarGesture {
3143 #[inline]
3144 fn to_value(&self) -> glib::Value {
3145 let mut value = glib::Value::for_value_type::<Self>();
3146 unsafe {
3147 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3148 }
3149 value
3150 }
3151
3152 #[inline]
3153 fn value_type(&self) -> glib::Type {
3154 Self::static_type()
3155 }
3156}
3157
3158#[cfg(feature = "v4_4")]
3159#[cfg_attr(docsrs, doc(cfg(feature = "v4_4")))]
3160impl From<TitlebarGesture> for glib::Value {
3161 #[inline]
3162 fn from(v: TitlebarGesture) -> Self {
3163 skip_assert_initialized!();
3164 ToValue::to_value(&v)
3165 }
3166}
3167
3168#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3169#[non_exhaustive]
3170#[doc(alias = "GdkTouchpadGesturePhase")]
3171pub enum TouchpadGesturePhase {
3172 #[doc(alias = "GDK_TOUCHPAD_GESTURE_PHASE_BEGIN")]
3173 Begin,
3174 #[doc(alias = "GDK_TOUCHPAD_GESTURE_PHASE_UPDATE")]
3175 Update,
3176 #[doc(alias = "GDK_TOUCHPAD_GESTURE_PHASE_END")]
3177 End,
3178 #[doc(alias = "GDK_TOUCHPAD_GESTURE_PHASE_CANCEL")]
3179 Cancel,
3180 #[doc(hidden)]
3181 __Unknown(i32),
3182}
3183
3184#[doc(hidden)]
3185impl IntoGlib for TouchpadGesturePhase {
3186 type GlibType = ffi::GdkTouchpadGesturePhase;
3187
3188 #[inline]
3189 fn into_glib(self) -> ffi::GdkTouchpadGesturePhase {
3190 match self {
3191 Self::Begin => ffi::GDK_TOUCHPAD_GESTURE_PHASE_BEGIN,
3192 Self::Update => ffi::GDK_TOUCHPAD_GESTURE_PHASE_UPDATE,
3193 Self::End => ffi::GDK_TOUCHPAD_GESTURE_PHASE_END,
3194 Self::Cancel => ffi::GDK_TOUCHPAD_GESTURE_PHASE_CANCEL,
3195 Self::__Unknown(value) => value,
3196 }
3197 }
3198}
3199
3200#[doc(hidden)]
3201impl FromGlib<ffi::GdkTouchpadGesturePhase> for TouchpadGesturePhase {
3202 #[inline]
3203 unsafe fn from_glib(value: ffi::GdkTouchpadGesturePhase) -> Self {
3204 skip_assert_initialized!();
3205
3206 match value {
3207 ffi::GDK_TOUCHPAD_GESTURE_PHASE_BEGIN => Self::Begin,
3208 ffi::GDK_TOUCHPAD_GESTURE_PHASE_UPDATE => Self::Update,
3209 ffi::GDK_TOUCHPAD_GESTURE_PHASE_END => Self::End,
3210 ffi::GDK_TOUCHPAD_GESTURE_PHASE_CANCEL => Self::Cancel,
3211 value => Self::__Unknown(value),
3212 }
3213 }
3214}
3215
3216impl StaticType for TouchpadGesturePhase {
3217 #[inline]
3218 #[doc(alias = "gdk_touchpad_gesture_phase_get_type")]
3219 fn static_type() -> glib::Type {
3220 unsafe { from_glib(ffi::gdk_touchpad_gesture_phase_get_type()) }
3221 }
3222}
3223
3224impl glib::HasParamSpec for TouchpadGesturePhase {
3225 type ParamSpec = glib::ParamSpecEnum;
3226 type SetValue = Self;
3227 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3228
3229 fn param_spec_builder() -> Self::BuilderFn {
3230 Self::ParamSpec::builder_with_default
3231 }
3232}
3233
3234impl glib::value::ValueType for TouchpadGesturePhase {
3235 type Type = Self;
3236}
3237
3238unsafe impl<'a> glib::value::FromValue<'a> for TouchpadGesturePhase {
3239 type Checker = glib::value::GenericValueTypeChecker<Self>;
3240
3241 #[inline]
3242 unsafe fn from_value(value: &'a glib::Value) -> Self {
3243 skip_assert_initialized!();
3244 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3245 }
3246}
3247
3248impl ToValue for TouchpadGesturePhase {
3249 #[inline]
3250 fn to_value(&self) -> glib::Value {
3251 let mut value = glib::Value::for_value_type::<Self>();
3252 unsafe {
3253 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3254 }
3255 value
3256 }
3257
3258 #[inline]
3259 fn value_type(&self) -> glib::Type {
3260 Self::static_type()
3261 }
3262}
3263
3264impl From<TouchpadGesturePhase> for glib::Value {
3265 #[inline]
3266 fn from(v: TouchpadGesturePhase) -> Self {
3267 skip_assert_initialized!();
3268 ToValue::to_value(&v)
3269 }
3270}
3271
3272#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3273#[non_exhaustive]
3274#[doc(alias = "GdkVulkanError")]
3275pub enum VulkanError {
3276 #[doc(alias = "GDK_VULKAN_ERROR_UNSUPPORTED")]
3277 Unsupported,
3278 #[doc(alias = "GDK_VULKAN_ERROR_NOT_AVAILABLE")]
3279 NotAvailable,
3280 #[doc(hidden)]
3281 __Unknown(i32),
3282}
3283
3284#[doc(hidden)]
3285impl IntoGlib for VulkanError {
3286 type GlibType = ffi::GdkVulkanError;
3287
3288 #[inline]
3289 fn into_glib(self) -> ffi::GdkVulkanError {
3290 match self {
3291 Self::Unsupported => ffi::GDK_VULKAN_ERROR_UNSUPPORTED,
3292 Self::NotAvailable => ffi::GDK_VULKAN_ERROR_NOT_AVAILABLE,
3293 Self::__Unknown(value) => value,
3294 }
3295 }
3296}
3297
3298#[doc(hidden)]
3299impl FromGlib<ffi::GdkVulkanError> for VulkanError {
3300 #[inline]
3301 unsafe fn from_glib(value: ffi::GdkVulkanError) -> Self {
3302 skip_assert_initialized!();
3303
3304 match value {
3305 ffi::GDK_VULKAN_ERROR_UNSUPPORTED => Self::Unsupported,
3306 ffi::GDK_VULKAN_ERROR_NOT_AVAILABLE => Self::NotAvailable,
3307 value => Self::__Unknown(value),
3308 }
3309 }
3310}
3311
3312impl glib::error::ErrorDomain for VulkanError {
3313 #[inline]
3314 fn domain() -> glib::Quark {
3315 skip_assert_initialized!();
3316
3317 unsafe { from_glib(ffi::gdk_vulkan_error_quark()) }
3318 }
3319
3320 #[inline]
3321 fn code(self) -> i32 {
3322 self.into_glib()
3323 }
3324
3325 #[inline]
3326 #[allow(clippy::match_single_binding)]
3327 fn from(code: i32) -> Option<Self> {
3328 skip_assert_initialized!();
3329 match unsafe { from_glib(code) } {
3330 value => Some(value),
3331 }
3332 }
3333}
3334
3335impl StaticType for VulkanError {
3336 #[inline]
3337 #[doc(alias = "gdk_vulkan_error_get_type")]
3338 fn static_type() -> glib::Type {
3339 unsafe { from_glib(ffi::gdk_vulkan_error_get_type()) }
3340 }
3341}
3342
3343impl glib::HasParamSpec for VulkanError {
3344 type ParamSpec = glib::ParamSpecEnum;
3345 type SetValue = Self;
3346 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3347
3348 fn param_spec_builder() -> Self::BuilderFn {
3349 Self::ParamSpec::builder_with_default
3350 }
3351}
3352
3353impl glib::value::ValueType for VulkanError {
3354 type Type = Self;
3355}
3356
3357unsafe impl<'a> glib::value::FromValue<'a> for VulkanError {
3358 type Checker = glib::value::GenericValueTypeChecker<Self>;
3359
3360 #[inline]
3361 unsafe fn from_value(value: &'a glib::Value) -> Self {
3362 skip_assert_initialized!();
3363 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3364 }
3365}
3366
3367impl ToValue for VulkanError {
3368 #[inline]
3369 fn to_value(&self) -> glib::Value {
3370 let mut value = glib::Value::for_value_type::<Self>();
3371 unsafe {
3372 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3373 }
3374 value
3375 }
3376
3377 #[inline]
3378 fn value_type(&self) -> glib::Type {
3379 Self::static_type()
3380 }
3381}
3382
3383impl From<VulkanError> for glib::Value {
3384 #[inline]
3385 fn from(v: VulkanError) -> Self {
3386 skip_assert_initialized!();
3387 ToValue::to_value(&v)
3388 }
3389}