1use crate::ffi;
6use glib::{prelude::*, translate::*};
7
8#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
16#[non_exhaustive]
17#[doc(alias = "GdkAxisUse")]
18pub enum AxisUse {
19 #[doc(alias = "GDK_AXIS_IGNORE")]
21 Ignore,
22 #[doc(alias = "GDK_AXIS_X")]
24 X,
25 #[doc(alias = "GDK_AXIS_Y")]
27 Y,
28 #[doc(alias = "GDK_AXIS_PRESSURE")]
30 Pressure,
31 #[doc(alias = "GDK_AXIS_XTILT")]
33 Xtilt,
34 #[doc(alias = "GDK_AXIS_YTILT")]
36 Ytilt,
37 #[doc(alias = "GDK_AXIS_WHEEL")]
39 Wheel,
40 #[doc(alias = "GDK_AXIS_DISTANCE")]
42 Distance,
43 #[doc(alias = "GDK_AXIS_ROTATION")]
45 Rotation,
46 #[doc(alias = "GDK_AXIS_SLIDER")]
48 Slider,
49 #[doc(alias = "GDK_AXIS_LAST")]
51 Last,
52 #[doc(hidden)]
53 __Unknown(i32),
54}
55
56#[doc(hidden)]
57impl IntoGlib for AxisUse {
58 type GlibType = ffi::GdkAxisUse;
59
60 #[inline]
61 fn into_glib(self) -> ffi::GdkAxisUse {
62 match self {
63 Self::Ignore => ffi::GDK_AXIS_IGNORE,
64 Self::X => ffi::GDK_AXIS_X,
65 Self::Y => ffi::GDK_AXIS_Y,
66 Self::Pressure => ffi::GDK_AXIS_PRESSURE,
67 Self::Xtilt => ffi::GDK_AXIS_XTILT,
68 Self::Ytilt => ffi::GDK_AXIS_YTILT,
69 Self::Wheel => ffi::GDK_AXIS_WHEEL,
70 Self::Distance => ffi::GDK_AXIS_DISTANCE,
71 Self::Rotation => ffi::GDK_AXIS_ROTATION,
72 Self::Slider => ffi::GDK_AXIS_SLIDER,
73 Self::Last => ffi::GDK_AXIS_LAST,
74 Self::__Unknown(value) => value,
75 }
76 }
77}
78
79#[doc(hidden)]
80impl FromGlib<ffi::GdkAxisUse> for AxisUse {
81 #[inline]
82 unsafe fn from_glib(value: ffi::GdkAxisUse) -> Self {
83 skip_assert_initialized!();
84
85 match value {
86 ffi::GDK_AXIS_IGNORE => Self::Ignore,
87 ffi::GDK_AXIS_X => Self::X,
88 ffi::GDK_AXIS_Y => Self::Y,
89 ffi::GDK_AXIS_PRESSURE => Self::Pressure,
90 ffi::GDK_AXIS_XTILT => Self::Xtilt,
91 ffi::GDK_AXIS_YTILT => Self::Ytilt,
92 ffi::GDK_AXIS_WHEEL => Self::Wheel,
93 ffi::GDK_AXIS_DISTANCE => Self::Distance,
94 ffi::GDK_AXIS_ROTATION => Self::Rotation,
95 ffi::GDK_AXIS_SLIDER => Self::Slider,
96 ffi::GDK_AXIS_LAST => Self::Last,
97 value => Self::__Unknown(value),
98 }
99 }
100}
101
102impl StaticType for AxisUse {
103 #[inline]
104 #[doc(alias = "gdk_axis_use_get_type")]
105 fn static_type() -> glib::Type {
106 unsafe { from_glib(ffi::gdk_axis_use_get_type()) }
107 }
108}
109
110impl glib::HasParamSpec for AxisUse {
111 type ParamSpec = glib::ParamSpecEnum;
112 type SetValue = Self;
113 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
114
115 fn param_spec_builder() -> Self::BuilderFn {
116 Self::ParamSpec::builder_with_default
117 }
118}
119
120impl glib::value::ValueType for AxisUse {
121 type Type = Self;
122}
123
124unsafe impl<'a> glib::value::FromValue<'a> for AxisUse {
125 type Checker = glib::value::GenericValueTypeChecker<Self>;
126
127 #[inline]
128 unsafe fn from_value(value: &'a glib::Value) -> Self {
129 skip_assert_initialized!();
130 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
131 }
132}
133
134impl ToValue for AxisUse {
135 #[inline]
136 fn to_value(&self) -> glib::Value {
137 let mut value = glib::Value::for_value_type::<Self>();
138 unsafe {
139 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
140 }
141 value
142 }
143
144 #[inline]
145 fn value_type(&self) -> glib::Type {
146 Self::static_type()
147 }
148}
149
150impl From<AxisUse> for glib::Value {
151 #[inline]
152 fn from(v: AxisUse) -> Self {
153 skip_assert_initialized!();
154 ToValue::to_value(&v)
155 }
156}
157
158#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
161#[non_exhaustive]
162#[doc(alias = "GdkByteOrder")]
163pub enum ByteOrder {
164 #[doc(alias = "GDK_LSB_FIRST")]
168 LsbFirst,
169 #[doc(alias = "GDK_MSB_FIRST")]
173 MsbFirst,
174 #[doc(hidden)]
175 __Unknown(i32),
176}
177
178#[doc(hidden)]
179impl IntoGlib for ByteOrder {
180 type GlibType = ffi::GdkByteOrder;
181
182 #[inline]
183 fn into_glib(self) -> ffi::GdkByteOrder {
184 match self {
185 Self::LsbFirst => ffi::GDK_LSB_FIRST,
186 Self::MsbFirst => ffi::GDK_MSB_FIRST,
187 Self::__Unknown(value) => value,
188 }
189 }
190}
191
192#[doc(hidden)]
193impl FromGlib<ffi::GdkByteOrder> for ByteOrder {
194 #[inline]
195 unsafe fn from_glib(value: ffi::GdkByteOrder) -> Self {
196 skip_assert_initialized!();
197
198 match value {
199 ffi::GDK_LSB_FIRST => Self::LsbFirst,
200 ffi::GDK_MSB_FIRST => Self::MsbFirst,
201 value => Self::__Unknown(value),
202 }
203 }
204}
205
206impl StaticType for ByteOrder {
207 #[inline]
208 #[doc(alias = "gdk_byte_order_get_type")]
209 fn static_type() -> glib::Type {
210 unsafe { from_glib(ffi::gdk_byte_order_get_type()) }
211 }
212}
213
214impl glib::HasParamSpec for ByteOrder {
215 type ParamSpec = glib::ParamSpecEnum;
216 type SetValue = Self;
217 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
218
219 fn param_spec_builder() -> Self::BuilderFn {
220 Self::ParamSpec::builder_with_default
221 }
222}
223
224impl glib::value::ValueType for ByteOrder {
225 type Type = Self;
226}
227
228unsafe impl<'a> glib::value::FromValue<'a> for ByteOrder {
229 type Checker = glib::value::GenericValueTypeChecker<Self>;
230
231 #[inline]
232 unsafe fn from_value(value: &'a glib::Value) -> Self {
233 skip_assert_initialized!();
234 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
235 }
236}
237
238impl ToValue for ByteOrder {
239 #[inline]
240 fn to_value(&self) -> glib::Value {
241 let mut value = glib::Value::for_value_type::<Self>();
242 unsafe {
243 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
244 }
245 value
246 }
247
248 #[inline]
249 fn value_type(&self) -> glib::Type {
250 Self::static_type()
251 }
252}
253
254impl From<ByteOrder> for glib::Value {
255 #[inline]
256 fn from(v: ByteOrder) -> Self {
257 skip_assert_initialized!();
258 ToValue::to_value(&v)
259 }
260}
261
262#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
264#[non_exhaustive]
265#[doc(alias = "GdkCrossingMode")]
266pub enum CrossingMode {
267 #[doc(alias = "GDK_CROSSING_NORMAL")]
269 Normal,
270 #[doc(alias = "GDK_CROSSING_GRAB")]
272 Grab,
273 #[doc(alias = "GDK_CROSSING_UNGRAB")]
275 Ungrab,
276 #[doc(alias = "GDK_CROSSING_GTK_GRAB")]
278 GtkGrab,
279 #[doc(alias = "GDK_CROSSING_GTK_UNGRAB")]
281 GtkUngrab,
282 #[doc(alias = "GDK_CROSSING_STATE_CHANGED")]
285 StateChanged,
286 #[doc(alias = "GDK_CROSSING_TOUCH_BEGIN")]
289 TouchBegin,
290 #[doc(alias = "GDK_CROSSING_TOUCH_END")]
293 TouchEnd,
294 #[doc(alias = "GDK_CROSSING_DEVICE_SWITCH")]
298 DeviceSwitch,
299 #[doc(hidden)]
300 __Unknown(i32),
301}
302
303#[doc(hidden)]
304impl IntoGlib for CrossingMode {
305 type GlibType = ffi::GdkCrossingMode;
306
307 #[inline]
308 fn into_glib(self) -> ffi::GdkCrossingMode {
309 match self {
310 Self::Normal => ffi::GDK_CROSSING_NORMAL,
311 Self::Grab => ffi::GDK_CROSSING_GRAB,
312 Self::Ungrab => ffi::GDK_CROSSING_UNGRAB,
313 Self::GtkGrab => ffi::GDK_CROSSING_GTK_GRAB,
314 Self::GtkUngrab => ffi::GDK_CROSSING_GTK_UNGRAB,
315 Self::StateChanged => ffi::GDK_CROSSING_STATE_CHANGED,
316 Self::TouchBegin => ffi::GDK_CROSSING_TOUCH_BEGIN,
317 Self::TouchEnd => ffi::GDK_CROSSING_TOUCH_END,
318 Self::DeviceSwitch => ffi::GDK_CROSSING_DEVICE_SWITCH,
319 Self::__Unknown(value) => value,
320 }
321 }
322}
323
324#[doc(hidden)]
325impl FromGlib<ffi::GdkCrossingMode> for CrossingMode {
326 #[inline]
327 unsafe fn from_glib(value: ffi::GdkCrossingMode) -> Self {
328 skip_assert_initialized!();
329
330 match value {
331 ffi::GDK_CROSSING_NORMAL => Self::Normal,
332 ffi::GDK_CROSSING_GRAB => Self::Grab,
333 ffi::GDK_CROSSING_UNGRAB => Self::Ungrab,
334 ffi::GDK_CROSSING_GTK_GRAB => Self::GtkGrab,
335 ffi::GDK_CROSSING_GTK_UNGRAB => Self::GtkUngrab,
336 ffi::GDK_CROSSING_STATE_CHANGED => Self::StateChanged,
337 ffi::GDK_CROSSING_TOUCH_BEGIN => Self::TouchBegin,
338 ffi::GDK_CROSSING_TOUCH_END => Self::TouchEnd,
339 ffi::GDK_CROSSING_DEVICE_SWITCH => Self::DeviceSwitch,
340 value => Self::__Unknown(value),
341 }
342 }
343}
344
345impl StaticType for CrossingMode {
346 #[inline]
347 #[doc(alias = "gdk_crossing_mode_get_type")]
348 fn static_type() -> glib::Type {
349 unsafe { from_glib(ffi::gdk_crossing_mode_get_type()) }
350 }
351}
352
353impl glib::HasParamSpec for CrossingMode {
354 type ParamSpec = glib::ParamSpecEnum;
355 type SetValue = Self;
356 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
357
358 fn param_spec_builder() -> Self::BuilderFn {
359 Self::ParamSpec::builder_with_default
360 }
361}
362
363impl glib::value::ValueType for CrossingMode {
364 type Type = Self;
365}
366
367unsafe impl<'a> glib::value::FromValue<'a> for CrossingMode {
368 type Checker = glib::value::GenericValueTypeChecker<Self>;
369
370 #[inline]
371 unsafe fn from_value(value: &'a glib::Value) -> Self {
372 skip_assert_initialized!();
373 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
374 }
375}
376
377impl ToValue for CrossingMode {
378 #[inline]
379 fn to_value(&self) -> glib::Value {
380 let mut value = glib::Value::for_value_type::<Self>();
381 unsafe {
382 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
383 }
384 value
385 }
386
387 #[inline]
388 fn value_type(&self) -> glib::Type {
389 Self::static_type()
390 }
391}
392
393impl From<CrossingMode> for glib::Value {
394 #[inline]
395 fn from(v: CrossingMode) -> Self {
396 skip_assert_initialized!();
397 ToValue::to_value(&v)
398 }
399}
400
401#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
408#[non_exhaustive]
409#[doc(alias = "GdkCursorType")]
410pub enum CursorType {
411 #[doc(alias = "GDK_X_CURSOR")]
413 XCursor,
414 #[doc(alias = "GDK_ARROW")]
416 Arrow,
417 #[doc(alias = "GDK_BASED_ARROW_DOWN")]
419 BasedArrowDown,
420 #[doc(alias = "GDK_BASED_ARROW_UP")]
422 BasedArrowUp,
423 #[doc(alias = "GDK_BOAT")]
425 Boat,
426 #[doc(alias = "GDK_BOGOSITY")]
428 Bogosity,
429 #[doc(alias = "GDK_BOTTOM_LEFT_CORNER")]
431 BottomLeftCorner,
432 #[doc(alias = "GDK_BOTTOM_RIGHT_CORNER")]
434 BottomRightCorner,
435 #[doc(alias = "GDK_BOTTOM_SIDE")]
437 BottomSide,
438 #[doc(alias = "GDK_BOTTOM_TEE")]
440 BottomTee,
441 #[doc(alias = "GDK_BOX_SPIRAL")]
443 BoxSpiral,
444 #[doc(alias = "GDK_CENTER_PTR")]
446 CenterPtr,
447 #[doc(alias = "GDK_CIRCLE")]
449 Circle,
450 #[doc(alias = "GDK_CLOCK")]
452 Clock,
453 #[doc(alias = "GDK_COFFEE_MUG")]
455 CoffeeMug,
456 #[doc(alias = "GDK_CROSS")]
458 Cross,
459 #[doc(alias = "GDK_CROSS_REVERSE")]
461 CrossReverse,
462 #[doc(alias = "GDK_CROSSHAIR")]
464 Crosshair,
465 #[doc(alias = "GDK_DIAMOND_CROSS")]
467 DiamondCross,
468 #[doc(alias = "GDK_DOT")]
470 Dot,
471 #[doc(alias = "GDK_DOTBOX")]
473 Dotbox,
474 #[doc(alias = "GDK_DOUBLE_ARROW")]
476 DoubleArrow,
477 #[doc(alias = "GDK_DRAFT_LARGE")]
479 DraftLarge,
480 #[doc(alias = "GDK_DRAFT_SMALL")]
482 DraftSmall,
483 #[doc(alias = "GDK_DRAPED_BOX")]
485 DrapedBox,
486 #[doc(alias = "GDK_EXCHANGE")]
488 Exchange,
489 #[doc(alias = "GDK_FLEUR")]
491 Fleur,
492 #[doc(alias = "GDK_GOBBLER")]
494 Gobbler,
495 #[doc(alias = "GDK_GUMBY")]
497 Gumby,
498 #[doc(alias = "GDK_HAND1")]
500 Hand1,
501 #[doc(alias = "GDK_HAND2")]
503 Hand2,
504 #[doc(alias = "GDK_HEART")]
506 Heart,
507 #[doc(alias = "GDK_ICON")]
509 Icon,
510 #[doc(alias = "GDK_IRON_CROSS")]
512 IronCross,
513 #[doc(alias = "GDK_LEFT_PTR")]
515 LeftPtr,
516 #[doc(alias = "GDK_LEFT_SIDE")]
518 LeftSide,
519 #[doc(alias = "GDK_LEFT_TEE")]
521 LeftTee,
522 #[doc(alias = "GDK_LEFTBUTTON")]
524 Leftbutton,
525 #[doc(alias = "GDK_LL_ANGLE")]
527 LlAngle,
528 #[doc(alias = "GDK_LR_ANGLE")]
530 LrAngle,
531 #[doc(alias = "GDK_MAN")]
533 Man,
534 #[doc(alias = "GDK_MIDDLEBUTTON")]
536 Middlebutton,
537 #[doc(alias = "GDK_MOUSE")]
539 Mouse,
540 #[doc(alias = "GDK_PENCIL")]
542 Pencil,
543 #[doc(alias = "GDK_PIRATE")]
545 Pirate,
546 #[doc(alias = "GDK_PLUS")]
548 Plus,
549 #[doc(alias = "GDK_QUESTION_ARROW")]
551 QuestionArrow,
552 #[doc(alias = "GDK_RIGHT_PTR")]
554 RightPtr,
555 #[doc(alias = "GDK_RIGHT_SIDE")]
557 RightSide,
558 #[doc(alias = "GDK_RIGHT_TEE")]
560 RightTee,
561 #[doc(alias = "GDK_RIGHTBUTTON")]
563 Rightbutton,
564 #[doc(alias = "GDK_RTL_LOGO")]
566 RtlLogo,
567 #[doc(alias = "GDK_SAILBOAT")]
569 Sailboat,
570 #[doc(alias = "GDK_SB_DOWN_ARROW")]
572 SbDownArrow,
573 #[doc(alias = "GDK_SB_H_DOUBLE_ARROW")]
575 SbHDoubleArrow,
576 #[doc(alias = "GDK_SB_LEFT_ARROW")]
578 SbLeftArrow,
579 #[doc(alias = "GDK_SB_RIGHT_ARROW")]
581 SbRightArrow,
582 #[doc(alias = "GDK_SB_UP_ARROW")]
584 SbUpArrow,
585 #[doc(alias = "GDK_SB_V_DOUBLE_ARROW")]
587 SbVDoubleArrow,
588 #[doc(alias = "GDK_SHUTTLE")]
590 Shuttle,
591 #[doc(alias = "GDK_SIZING")]
593 Sizing,
594 #[doc(alias = "GDK_SPIDER")]
596 Spider,
597 #[doc(alias = "GDK_SPRAYCAN")]
599 Spraycan,
600 #[doc(alias = "GDK_STAR")]
602 Star,
603 #[doc(alias = "GDK_TARGET")]
605 Target,
606 #[doc(alias = "GDK_TCROSS")]
608 Tcross,
609 #[doc(alias = "GDK_TOP_LEFT_ARROW")]
611 TopLeftArrow,
612 #[doc(alias = "GDK_TOP_LEFT_CORNER")]
614 TopLeftCorner,
615 #[doc(alias = "GDK_TOP_RIGHT_CORNER")]
617 TopRightCorner,
618 #[doc(alias = "GDK_TOP_SIDE")]
620 TopSide,
621 #[doc(alias = "GDK_TOP_TEE")]
623 TopTee,
624 #[doc(alias = "GDK_TREK")]
626 Trek,
627 #[doc(alias = "GDK_UL_ANGLE")]
629 UlAngle,
630 #[doc(alias = "GDK_UMBRELLA")]
632 Umbrella,
633 #[doc(alias = "GDK_UR_ANGLE")]
635 UrAngle,
636 #[doc(alias = "GDK_WATCH")]
638 Watch,
639 #[doc(alias = "GDK_XTERM")]
641 Xterm,
642 #[doc(alias = "GDK_LAST_CURSOR")]
644 LastCursor,
645 #[doc(alias = "GDK_BLANK_CURSOR")]
647 BlankCursor,
648 #[doc(alias = "GDK_CURSOR_IS_PIXMAP")]
651 CursorIsPixmap,
652 #[doc(hidden)]
653 __Unknown(i32),
654}
655
656#[doc(hidden)]
657impl IntoGlib for CursorType {
658 type GlibType = ffi::GdkCursorType;
659
660 fn into_glib(self) -> ffi::GdkCursorType {
661 match self {
662 Self::XCursor => ffi::GDK_X_CURSOR,
663 Self::Arrow => ffi::GDK_ARROW,
664 Self::BasedArrowDown => ffi::GDK_BASED_ARROW_DOWN,
665 Self::BasedArrowUp => ffi::GDK_BASED_ARROW_UP,
666 Self::Boat => ffi::GDK_BOAT,
667 Self::Bogosity => ffi::GDK_BOGOSITY,
668 Self::BottomLeftCorner => ffi::GDK_BOTTOM_LEFT_CORNER,
669 Self::BottomRightCorner => ffi::GDK_BOTTOM_RIGHT_CORNER,
670 Self::BottomSide => ffi::GDK_BOTTOM_SIDE,
671 Self::BottomTee => ffi::GDK_BOTTOM_TEE,
672 Self::BoxSpiral => ffi::GDK_BOX_SPIRAL,
673 Self::CenterPtr => ffi::GDK_CENTER_PTR,
674 Self::Circle => ffi::GDK_CIRCLE,
675 Self::Clock => ffi::GDK_CLOCK,
676 Self::CoffeeMug => ffi::GDK_COFFEE_MUG,
677 Self::Cross => ffi::GDK_CROSS,
678 Self::CrossReverse => ffi::GDK_CROSS_REVERSE,
679 Self::Crosshair => ffi::GDK_CROSSHAIR,
680 Self::DiamondCross => ffi::GDK_DIAMOND_CROSS,
681 Self::Dot => ffi::GDK_DOT,
682 Self::Dotbox => ffi::GDK_DOTBOX,
683 Self::DoubleArrow => ffi::GDK_DOUBLE_ARROW,
684 Self::DraftLarge => ffi::GDK_DRAFT_LARGE,
685 Self::DraftSmall => ffi::GDK_DRAFT_SMALL,
686 Self::DrapedBox => ffi::GDK_DRAPED_BOX,
687 Self::Exchange => ffi::GDK_EXCHANGE,
688 Self::Fleur => ffi::GDK_FLEUR,
689 Self::Gobbler => ffi::GDK_GOBBLER,
690 Self::Gumby => ffi::GDK_GUMBY,
691 Self::Hand1 => ffi::GDK_HAND1,
692 Self::Hand2 => ffi::GDK_HAND2,
693 Self::Heart => ffi::GDK_HEART,
694 Self::Icon => ffi::GDK_ICON,
695 Self::IronCross => ffi::GDK_IRON_CROSS,
696 Self::LeftPtr => ffi::GDK_LEFT_PTR,
697 Self::LeftSide => ffi::GDK_LEFT_SIDE,
698 Self::LeftTee => ffi::GDK_LEFT_TEE,
699 Self::Leftbutton => ffi::GDK_LEFTBUTTON,
700 Self::LlAngle => ffi::GDK_LL_ANGLE,
701 Self::LrAngle => ffi::GDK_LR_ANGLE,
702 Self::Man => ffi::GDK_MAN,
703 Self::Middlebutton => ffi::GDK_MIDDLEBUTTON,
704 Self::Mouse => ffi::GDK_MOUSE,
705 Self::Pencil => ffi::GDK_PENCIL,
706 Self::Pirate => ffi::GDK_PIRATE,
707 Self::Plus => ffi::GDK_PLUS,
708 Self::QuestionArrow => ffi::GDK_QUESTION_ARROW,
709 Self::RightPtr => ffi::GDK_RIGHT_PTR,
710 Self::RightSide => ffi::GDK_RIGHT_SIDE,
711 Self::RightTee => ffi::GDK_RIGHT_TEE,
712 Self::Rightbutton => ffi::GDK_RIGHTBUTTON,
713 Self::RtlLogo => ffi::GDK_RTL_LOGO,
714 Self::Sailboat => ffi::GDK_SAILBOAT,
715 Self::SbDownArrow => ffi::GDK_SB_DOWN_ARROW,
716 Self::SbHDoubleArrow => ffi::GDK_SB_H_DOUBLE_ARROW,
717 Self::SbLeftArrow => ffi::GDK_SB_LEFT_ARROW,
718 Self::SbRightArrow => ffi::GDK_SB_RIGHT_ARROW,
719 Self::SbUpArrow => ffi::GDK_SB_UP_ARROW,
720 Self::SbVDoubleArrow => ffi::GDK_SB_V_DOUBLE_ARROW,
721 Self::Shuttle => ffi::GDK_SHUTTLE,
722 Self::Sizing => ffi::GDK_SIZING,
723 Self::Spider => ffi::GDK_SPIDER,
724 Self::Spraycan => ffi::GDK_SPRAYCAN,
725 Self::Star => ffi::GDK_STAR,
726 Self::Target => ffi::GDK_TARGET,
727 Self::Tcross => ffi::GDK_TCROSS,
728 Self::TopLeftArrow => ffi::GDK_TOP_LEFT_ARROW,
729 Self::TopLeftCorner => ffi::GDK_TOP_LEFT_CORNER,
730 Self::TopRightCorner => ffi::GDK_TOP_RIGHT_CORNER,
731 Self::TopSide => ffi::GDK_TOP_SIDE,
732 Self::TopTee => ffi::GDK_TOP_TEE,
733 Self::Trek => ffi::GDK_TREK,
734 Self::UlAngle => ffi::GDK_UL_ANGLE,
735 Self::Umbrella => ffi::GDK_UMBRELLA,
736 Self::UrAngle => ffi::GDK_UR_ANGLE,
737 Self::Watch => ffi::GDK_WATCH,
738 Self::Xterm => ffi::GDK_XTERM,
739 Self::LastCursor => ffi::GDK_LAST_CURSOR,
740 Self::BlankCursor => ffi::GDK_BLANK_CURSOR,
741 Self::CursorIsPixmap => ffi::GDK_CURSOR_IS_PIXMAP,
742 Self::__Unknown(value) => value,
743 }
744 }
745}
746
747#[doc(hidden)]
748impl FromGlib<ffi::GdkCursorType> for CursorType {
749 unsafe fn from_glib(value: ffi::GdkCursorType) -> Self {
750 skip_assert_initialized!();
751
752 match value {
753 ffi::GDK_X_CURSOR => Self::XCursor,
754 ffi::GDK_ARROW => Self::Arrow,
755 ffi::GDK_BASED_ARROW_DOWN => Self::BasedArrowDown,
756 ffi::GDK_BASED_ARROW_UP => Self::BasedArrowUp,
757 ffi::GDK_BOAT => Self::Boat,
758 ffi::GDK_BOGOSITY => Self::Bogosity,
759 ffi::GDK_BOTTOM_LEFT_CORNER => Self::BottomLeftCorner,
760 ffi::GDK_BOTTOM_RIGHT_CORNER => Self::BottomRightCorner,
761 ffi::GDK_BOTTOM_SIDE => Self::BottomSide,
762 ffi::GDK_BOTTOM_TEE => Self::BottomTee,
763 ffi::GDK_BOX_SPIRAL => Self::BoxSpiral,
764 ffi::GDK_CENTER_PTR => Self::CenterPtr,
765 ffi::GDK_CIRCLE => Self::Circle,
766 ffi::GDK_CLOCK => Self::Clock,
767 ffi::GDK_COFFEE_MUG => Self::CoffeeMug,
768 ffi::GDK_CROSS => Self::Cross,
769 ffi::GDK_CROSS_REVERSE => Self::CrossReverse,
770 ffi::GDK_CROSSHAIR => Self::Crosshair,
771 ffi::GDK_DIAMOND_CROSS => Self::DiamondCross,
772 ffi::GDK_DOT => Self::Dot,
773 ffi::GDK_DOTBOX => Self::Dotbox,
774 ffi::GDK_DOUBLE_ARROW => Self::DoubleArrow,
775 ffi::GDK_DRAFT_LARGE => Self::DraftLarge,
776 ffi::GDK_DRAFT_SMALL => Self::DraftSmall,
777 ffi::GDK_DRAPED_BOX => Self::DrapedBox,
778 ffi::GDK_EXCHANGE => Self::Exchange,
779 ffi::GDK_FLEUR => Self::Fleur,
780 ffi::GDK_GOBBLER => Self::Gobbler,
781 ffi::GDK_GUMBY => Self::Gumby,
782 ffi::GDK_HAND1 => Self::Hand1,
783 ffi::GDK_HAND2 => Self::Hand2,
784 ffi::GDK_HEART => Self::Heart,
785 ffi::GDK_ICON => Self::Icon,
786 ffi::GDK_IRON_CROSS => Self::IronCross,
787 ffi::GDK_LEFT_PTR => Self::LeftPtr,
788 ffi::GDK_LEFT_SIDE => Self::LeftSide,
789 ffi::GDK_LEFT_TEE => Self::LeftTee,
790 ffi::GDK_LEFTBUTTON => Self::Leftbutton,
791 ffi::GDK_LL_ANGLE => Self::LlAngle,
792 ffi::GDK_LR_ANGLE => Self::LrAngle,
793 ffi::GDK_MAN => Self::Man,
794 ffi::GDK_MIDDLEBUTTON => Self::Middlebutton,
795 ffi::GDK_MOUSE => Self::Mouse,
796 ffi::GDK_PENCIL => Self::Pencil,
797 ffi::GDK_PIRATE => Self::Pirate,
798 ffi::GDK_PLUS => Self::Plus,
799 ffi::GDK_QUESTION_ARROW => Self::QuestionArrow,
800 ffi::GDK_RIGHT_PTR => Self::RightPtr,
801 ffi::GDK_RIGHT_SIDE => Self::RightSide,
802 ffi::GDK_RIGHT_TEE => Self::RightTee,
803 ffi::GDK_RIGHTBUTTON => Self::Rightbutton,
804 ffi::GDK_RTL_LOGO => Self::RtlLogo,
805 ffi::GDK_SAILBOAT => Self::Sailboat,
806 ffi::GDK_SB_DOWN_ARROW => Self::SbDownArrow,
807 ffi::GDK_SB_H_DOUBLE_ARROW => Self::SbHDoubleArrow,
808 ffi::GDK_SB_LEFT_ARROW => Self::SbLeftArrow,
809 ffi::GDK_SB_RIGHT_ARROW => Self::SbRightArrow,
810 ffi::GDK_SB_UP_ARROW => Self::SbUpArrow,
811 ffi::GDK_SB_V_DOUBLE_ARROW => Self::SbVDoubleArrow,
812 ffi::GDK_SHUTTLE => Self::Shuttle,
813 ffi::GDK_SIZING => Self::Sizing,
814 ffi::GDK_SPIDER => Self::Spider,
815 ffi::GDK_SPRAYCAN => Self::Spraycan,
816 ffi::GDK_STAR => Self::Star,
817 ffi::GDK_TARGET => Self::Target,
818 ffi::GDK_TCROSS => Self::Tcross,
819 ffi::GDK_TOP_LEFT_ARROW => Self::TopLeftArrow,
820 ffi::GDK_TOP_LEFT_CORNER => Self::TopLeftCorner,
821 ffi::GDK_TOP_RIGHT_CORNER => Self::TopRightCorner,
822 ffi::GDK_TOP_SIDE => Self::TopSide,
823 ffi::GDK_TOP_TEE => Self::TopTee,
824 ffi::GDK_TREK => Self::Trek,
825 ffi::GDK_UL_ANGLE => Self::UlAngle,
826 ffi::GDK_UMBRELLA => Self::Umbrella,
827 ffi::GDK_UR_ANGLE => Self::UrAngle,
828 ffi::GDK_WATCH => Self::Watch,
829 ffi::GDK_XTERM => Self::Xterm,
830 ffi::GDK_LAST_CURSOR => Self::LastCursor,
831 ffi::GDK_BLANK_CURSOR => Self::BlankCursor,
832 ffi::GDK_CURSOR_IS_PIXMAP => Self::CursorIsPixmap,
833 value => Self::__Unknown(value),
834 }
835 }
836}
837
838impl StaticType for CursorType {
839 #[inline]
840 #[doc(alias = "gdk_cursor_type_get_type")]
841 fn static_type() -> glib::Type {
842 unsafe { from_glib(ffi::gdk_cursor_type_get_type()) }
843 }
844}
845
846impl glib::HasParamSpec for CursorType {
847 type ParamSpec = glib::ParamSpecEnum;
848 type SetValue = Self;
849 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
850
851 fn param_spec_builder() -> Self::BuilderFn {
852 Self::ParamSpec::builder_with_default
853 }
854}
855
856impl glib::value::ValueType for CursorType {
857 type Type = Self;
858}
859
860unsafe impl<'a> glib::value::FromValue<'a> for CursorType {
861 type Checker = glib::value::GenericValueTypeChecker<Self>;
862
863 #[inline]
864 unsafe fn from_value(value: &'a glib::Value) -> Self {
865 skip_assert_initialized!();
866 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
867 }
868}
869
870impl ToValue for CursorType {
871 #[inline]
872 fn to_value(&self) -> glib::Value {
873 let mut value = glib::Value::for_value_type::<Self>();
874 unsafe {
875 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
876 }
877 value
878 }
879
880 #[inline]
881 fn value_type(&self) -> glib::Type {
882 Self::static_type()
883 }
884}
885
886impl From<CursorType> for glib::Value {
887 #[inline]
888 fn from(v: CursorType) -> Self {
889 skip_assert_initialized!();
890 ToValue::to_value(&v)
891 }
892}
893
894#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
896#[non_exhaustive]
897#[doc(alias = "GdkDevicePadFeature")]
898pub enum DevicePadFeature {
899 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_BUTTON")]
901 Button,
902 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_RING")]
904 Ring,
905 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_STRIP")]
907 Strip,
908 #[doc(hidden)]
909 __Unknown(i32),
910}
911
912#[doc(hidden)]
913impl IntoGlib for DevicePadFeature {
914 type GlibType = ffi::GdkDevicePadFeature;
915
916 #[inline]
917 fn into_glib(self) -> ffi::GdkDevicePadFeature {
918 match self {
919 Self::Button => ffi::GDK_DEVICE_PAD_FEATURE_BUTTON,
920 Self::Ring => ffi::GDK_DEVICE_PAD_FEATURE_RING,
921 Self::Strip => ffi::GDK_DEVICE_PAD_FEATURE_STRIP,
922 Self::__Unknown(value) => value,
923 }
924 }
925}
926
927#[doc(hidden)]
928impl FromGlib<ffi::GdkDevicePadFeature> for DevicePadFeature {
929 #[inline]
930 unsafe fn from_glib(value: ffi::GdkDevicePadFeature) -> Self {
931 skip_assert_initialized!();
932
933 match value {
934 ffi::GDK_DEVICE_PAD_FEATURE_BUTTON => Self::Button,
935 ffi::GDK_DEVICE_PAD_FEATURE_RING => Self::Ring,
936 ffi::GDK_DEVICE_PAD_FEATURE_STRIP => Self::Strip,
937 value => Self::__Unknown(value),
938 }
939 }
940}
941
942impl StaticType for DevicePadFeature {
943 #[inline]
944 #[doc(alias = "gdk_device_pad_feature_get_type")]
945 fn static_type() -> glib::Type {
946 unsafe { from_glib(ffi::gdk_device_pad_feature_get_type()) }
947 }
948}
949
950impl glib::HasParamSpec for DevicePadFeature {
951 type ParamSpec = glib::ParamSpecEnum;
952 type SetValue = Self;
953 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
954
955 fn param_spec_builder() -> Self::BuilderFn {
956 Self::ParamSpec::builder_with_default
957 }
958}
959
960impl glib::value::ValueType for DevicePadFeature {
961 type Type = Self;
962}
963
964unsafe impl<'a> glib::value::FromValue<'a> for DevicePadFeature {
965 type Checker = glib::value::GenericValueTypeChecker<Self>;
966
967 #[inline]
968 unsafe fn from_value(value: &'a glib::Value) -> Self {
969 skip_assert_initialized!();
970 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
971 }
972}
973
974impl ToValue for DevicePadFeature {
975 #[inline]
976 fn to_value(&self) -> glib::Value {
977 let mut value = glib::Value::for_value_type::<Self>();
978 unsafe {
979 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
980 }
981 value
982 }
983
984 #[inline]
985 fn value_type(&self) -> glib::Type {
986 Self::static_type()
987 }
988}
989
990impl From<DevicePadFeature> for glib::Value {
991 #[inline]
992 fn from(v: DevicePadFeature) -> Self {
993 skip_assert_initialized!();
994 ToValue::to_value(&v)
995 }
996}
997
998#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1001#[non_exhaustive]
1002#[doc(alias = "GdkDeviceToolType")]
1003pub enum DeviceToolType {
1004 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_UNKNOWN")]
1006 Unknown,
1007 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_PEN")]
1009 Pen,
1010 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_ERASER")]
1012 Eraser,
1013 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_BRUSH")]
1015 Brush,
1016 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_PENCIL")]
1018 Pencil,
1019 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_AIRBRUSH")]
1021 Airbrush,
1022 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_MOUSE")]
1024 Mouse,
1025 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_LENS")]
1027 Lens,
1028 #[doc(hidden)]
1029 __Unknown(i32),
1030}
1031
1032#[doc(hidden)]
1033impl IntoGlib for DeviceToolType {
1034 type GlibType = ffi::GdkDeviceToolType;
1035
1036 #[inline]
1037 fn into_glib(self) -> ffi::GdkDeviceToolType {
1038 match self {
1039 Self::Unknown => ffi::GDK_DEVICE_TOOL_TYPE_UNKNOWN,
1040 Self::Pen => ffi::GDK_DEVICE_TOOL_TYPE_PEN,
1041 Self::Eraser => ffi::GDK_DEVICE_TOOL_TYPE_ERASER,
1042 Self::Brush => ffi::GDK_DEVICE_TOOL_TYPE_BRUSH,
1043 Self::Pencil => ffi::GDK_DEVICE_TOOL_TYPE_PENCIL,
1044 Self::Airbrush => ffi::GDK_DEVICE_TOOL_TYPE_AIRBRUSH,
1045 Self::Mouse => ffi::GDK_DEVICE_TOOL_TYPE_MOUSE,
1046 Self::Lens => ffi::GDK_DEVICE_TOOL_TYPE_LENS,
1047 Self::__Unknown(value) => value,
1048 }
1049 }
1050}
1051
1052#[doc(hidden)]
1053impl FromGlib<ffi::GdkDeviceToolType> for DeviceToolType {
1054 #[inline]
1055 unsafe fn from_glib(value: ffi::GdkDeviceToolType) -> Self {
1056 skip_assert_initialized!();
1057
1058 match value {
1059 ffi::GDK_DEVICE_TOOL_TYPE_UNKNOWN => Self::Unknown,
1060 ffi::GDK_DEVICE_TOOL_TYPE_PEN => Self::Pen,
1061 ffi::GDK_DEVICE_TOOL_TYPE_ERASER => Self::Eraser,
1062 ffi::GDK_DEVICE_TOOL_TYPE_BRUSH => Self::Brush,
1063 ffi::GDK_DEVICE_TOOL_TYPE_PENCIL => Self::Pencil,
1064 ffi::GDK_DEVICE_TOOL_TYPE_AIRBRUSH => Self::Airbrush,
1065 ffi::GDK_DEVICE_TOOL_TYPE_MOUSE => Self::Mouse,
1066 ffi::GDK_DEVICE_TOOL_TYPE_LENS => Self::Lens,
1067 value => Self::__Unknown(value),
1068 }
1069 }
1070}
1071
1072impl StaticType for DeviceToolType {
1073 #[inline]
1074 #[doc(alias = "gdk_device_tool_type_get_type")]
1075 fn static_type() -> glib::Type {
1076 unsafe { from_glib(ffi::gdk_device_tool_type_get_type()) }
1077 }
1078}
1079
1080impl glib::HasParamSpec for DeviceToolType {
1081 type ParamSpec = glib::ParamSpecEnum;
1082 type SetValue = Self;
1083 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1084
1085 fn param_spec_builder() -> Self::BuilderFn {
1086 Self::ParamSpec::builder_with_default
1087 }
1088}
1089
1090impl glib::value::ValueType for DeviceToolType {
1091 type Type = Self;
1092}
1093
1094unsafe impl<'a> glib::value::FromValue<'a> for DeviceToolType {
1095 type Checker = glib::value::GenericValueTypeChecker<Self>;
1096
1097 #[inline]
1098 unsafe fn from_value(value: &'a glib::Value) -> Self {
1099 skip_assert_initialized!();
1100 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1101 }
1102}
1103
1104impl ToValue for DeviceToolType {
1105 #[inline]
1106 fn to_value(&self) -> glib::Value {
1107 let mut value = glib::Value::for_value_type::<Self>();
1108 unsafe {
1109 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1110 }
1111 value
1112 }
1113
1114 #[inline]
1115 fn value_type(&self) -> glib::Type {
1116 Self::static_type()
1117 }
1118}
1119
1120impl From<DeviceToolType> for glib::Value {
1121 #[inline]
1122 fn from(v: DeviceToolType) -> Self {
1123 skip_assert_initialized!();
1124 ToValue::to_value(&v)
1125 }
1126}
1127
1128#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1131#[non_exhaustive]
1132#[doc(alias = "GdkDeviceType")]
1133pub enum DeviceType {
1134 #[doc(alias = "GDK_DEVICE_TYPE_MASTER")]
1137 Master,
1138 #[doc(alias = "GDK_DEVICE_TYPE_SLAVE")]
1140 Slave,
1141 #[doc(alias = "GDK_DEVICE_TYPE_FLOATING")]
1144 Floating,
1145 #[doc(hidden)]
1146 __Unknown(i32),
1147}
1148
1149#[doc(hidden)]
1150impl IntoGlib for DeviceType {
1151 type GlibType = ffi::GdkDeviceType;
1152
1153 #[inline]
1154 fn into_glib(self) -> ffi::GdkDeviceType {
1155 match self {
1156 Self::Master => ffi::GDK_DEVICE_TYPE_MASTER,
1157 Self::Slave => ffi::GDK_DEVICE_TYPE_SLAVE,
1158 Self::Floating => ffi::GDK_DEVICE_TYPE_FLOATING,
1159 Self::__Unknown(value) => value,
1160 }
1161 }
1162}
1163
1164#[doc(hidden)]
1165impl FromGlib<ffi::GdkDeviceType> for DeviceType {
1166 #[inline]
1167 unsafe fn from_glib(value: ffi::GdkDeviceType) -> Self {
1168 skip_assert_initialized!();
1169
1170 match value {
1171 ffi::GDK_DEVICE_TYPE_MASTER => Self::Master,
1172 ffi::GDK_DEVICE_TYPE_SLAVE => Self::Slave,
1173 ffi::GDK_DEVICE_TYPE_FLOATING => Self::Floating,
1174 value => Self::__Unknown(value),
1175 }
1176 }
1177}
1178
1179impl StaticType for DeviceType {
1180 #[inline]
1181 #[doc(alias = "gdk_device_type_get_type")]
1182 fn static_type() -> glib::Type {
1183 unsafe { from_glib(ffi::gdk_device_type_get_type()) }
1184 }
1185}
1186
1187impl glib::HasParamSpec for DeviceType {
1188 type ParamSpec = glib::ParamSpecEnum;
1189 type SetValue = Self;
1190 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1191
1192 fn param_spec_builder() -> Self::BuilderFn {
1193 Self::ParamSpec::builder_with_default
1194 }
1195}
1196
1197impl glib::value::ValueType for DeviceType {
1198 type Type = Self;
1199}
1200
1201unsafe impl<'a> glib::value::FromValue<'a> for DeviceType {
1202 type Checker = glib::value::GenericValueTypeChecker<Self>;
1203
1204 #[inline]
1205 unsafe fn from_value(value: &'a glib::Value) -> Self {
1206 skip_assert_initialized!();
1207 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1208 }
1209}
1210
1211impl ToValue for DeviceType {
1212 #[inline]
1213 fn to_value(&self) -> glib::Value {
1214 let mut value = glib::Value::for_value_type::<Self>();
1215 unsafe {
1216 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1217 }
1218 value
1219 }
1220
1221 #[inline]
1222 fn value_type(&self) -> glib::Type {
1223 Self::static_type()
1224 }
1225}
1226
1227impl From<DeviceType> for glib::Value {
1228 #[inline]
1229 fn from(v: DeviceType) -> Self {
1230 skip_assert_initialized!();
1231 ToValue::to_value(&v)
1232 }
1233}
1234
1235#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1237#[non_exhaustive]
1238#[doc(alias = "GdkDragCancelReason")]
1239pub enum DragCancelReason {
1240 #[doc(alias = "GDK_DRAG_CANCEL_NO_TARGET")]
1242 NoTarget,
1243 #[doc(alias = "GDK_DRAG_CANCEL_USER_CANCELLED")]
1245 UserCancelled,
1246 #[doc(alias = "GDK_DRAG_CANCEL_ERROR")]
1248 Error,
1249 #[doc(hidden)]
1250 __Unknown(i32),
1251}
1252
1253#[doc(hidden)]
1254impl IntoGlib for DragCancelReason {
1255 type GlibType = ffi::GdkDragCancelReason;
1256
1257 #[inline]
1258 fn into_glib(self) -> ffi::GdkDragCancelReason {
1259 match self {
1260 Self::NoTarget => ffi::GDK_DRAG_CANCEL_NO_TARGET,
1261 Self::UserCancelled => ffi::GDK_DRAG_CANCEL_USER_CANCELLED,
1262 Self::Error => ffi::GDK_DRAG_CANCEL_ERROR,
1263 Self::__Unknown(value) => value,
1264 }
1265 }
1266}
1267
1268#[doc(hidden)]
1269impl FromGlib<ffi::GdkDragCancelReason> for DragCancelReason {
1270 #[inline]
1271 unsafe fn from_glib(value: ffi::GdkDragCancelReason) -> Self {
1272 skip_assert_initialized!();
1273
1274 match value {
1275 ffi::GDK_DRAG_CANCEL_NO_TARGET => Self::NoTarget,
1276 ffi::GDK_DRAG_CANCEL_USER_CANCELLED => Self::UserCancelled,
1277 ffi::GDK_DRAG_CANCEL_ERROR => Self::Error,
1278 value => Self::__Unknown(value),
1279 }
1280 }
1281}
1282
1283impl StaticType for DragCancelReason {
1284 #[inline]
1285 #[doc(alias = "gdk_drag_cancel_reason_get_type")]
1286 fn static_type() -> glib::Type {
1287 unsafe { from_glib(ffi::gdk_drag_cancel_reason_get_type()) }
1288 }
1289}
1290
1291impl glib::HasParamSpec for DragCancelReason {
1292 type ParamSpec = glib::ParamSpecEnum;
1293 type SetValue = Self;
1294 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1295
1296 fn param_spec_builder() -> Self::BuilderFn {
1297 Self::ParamSpec::builder_with_default
1298 }
1299}
1300
1301impl glib::value::ValueType for DragCancelReason {
1302 type Type = Self;
1303}
1304
1305unsafe impl<'a> glib::value::FromValue<'a> for DragCancelReason {
1306 type Checker = glib::value::GenericValueTypeChecker<Self>;
1307
1308 #[inline]
1309 unsafe fn from_value(value: &'a glib::Value) -> Self {
1310 skip_assert_initialized!();
1311 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1312 }
1313}
1314
1315impl ToValue for DragCancelReason {
1316 #[inline]
1317 fn to_value(&self) -> glib::Value {
1318 let mut value = glib::Value::for_value_type::<Self>();
1319 unsafe {
1320 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1321 }
1322 value
1323 }
1324
1325 #[inline]
1326 fn value_type(&self) -> glib::Type {
1327 Self::static_type()
1328 }
1329}
1330
1331impl From<DragCancelReason> for glib::Value {
1332 #[inline]
1333 fn from(v: DragCancelReason) -> Self {
1334 skip_assert_initialized!();
1335 ToValue::to_value(&v)
1336 }
1337}
1338
1339#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1342#[non_exhaustive]
1343#[doc(alias = "GdkDragProtocol")]
1344pub enum DragProtocol {
1345 #[doc(alias = "GDK_DRAG_PROTO_NONE")]
1347 None,
1348 #[doc(alias = "GDK_DRAG_PROTO_MOTIF")]
1350 Motif,
1351 #[doc(alias = "GDK_DRAG_PROTO_XDND")]
1353 Xdnd,
1354 #[doc(alias = "GDK_DRAG_PROTO_ROOTWIN")]
1357 Rootwin,
1358 #[doc(alias = "GDK_DRAG_PROTO_WIN32_DROPFILES")]
1360 Win32Dropfiles,
1361 #[doc(alias = "GDK_DRAG_PROTO_OLE2")]
1363 Ole2,
1364 #[doc(alias = "GDK_DRAG_PROTO_LOCAL")]
1366 Local,
1367 #[doc(alias = "GDK_DRAG_PROTO_WAYLAND")]
1369 Wayland,
1370 #[doc(hidden)]
1371 __Unknown(i32),
1372}
1373
1374#[doc(hidden)]
1375impl IntoGlib for DragProtocol {
1376 type GlibType = ffi::GdkDragProtocol;
1377
1378 #[inline]
1379 fn into_glib(self) -> ffi::GdkDragProtocol {
1380 match self {
1381 Self::None => ffi::GDK_DRAG_PROTO_NONE,
1382 Self::Motif => ffi::GDK_DRAG_PROTO_MOTIF,
1383 Self::Xdnd => ffi::GDK_DRAG_PROTO_XDND,
1384 Self::Rootwin => ffi::GDK_DRAG_PROTO_ROOTWIN,
1385 Self::Win32Dropfiles => ffi::GDK_DRAG_PROTO_WIN32_DROPFILES,
1386 Self::Ole2 => ffi::GDK_DRAG_PROTO_OLE2,
1387 Self::Local => ffi::GDK_DRAG_PROTO_LOCAL,
1388 Self::Wayland => ffi::GDK_DRAG_PROTO_WAYLAND,
1389 Self::__Unknown(value) => value,
1390 }
1391 }
1392}
1393
1394#[doc(hidden)]
1395impl FromGlib<ffi::GdkDragProtocol> for DragProtocol {
1396 #[inline]
1397 unsafe fn from_glib(value: ffi::GdkDragProtocol) -> Self {
1398 skip_assert_initialized!();
1399
1400 match value {
1401 ffi::GDK_DRAG_PROTO_NONE => Self::None,
1402 ffi::GDK_DRAG_PROTO_MOTIF => Self::Motif,
1403 ffi::GDK_DRAG_PROTO_XDND => Self::Xdnd,
1404 ffi::GDK_DRAG_PROTO_ROOTWIN => Self::Rootwin,
1405 ffi::GDK_DRAG_PROTO_WIN32_DROPFILES => Self::Win32Dropfiles,
1406 ffi::GDK_DRAG_PROTO_OLE2 => Self::Ole2,
1407 ffi::GDK_DRAG_PROTO_LOCAL => Self::Local,
1408 ffi::GDK_DRAG_PROTO_WAYLAND => Self::Wayland,
1409 value => Self::__Unknown(value),
1410 }
1411 }
1412}
1413
1414impl StaticType for DragProtocol {
1415 #[inline]
1416 #[doc(alias = "gdk_drag_protocol_get_type")]
1417 fn static_type() -> glib::Type {
1418 unsafe { from_glib(ffi::gdk_drag_protocol_get_type()) }
1419 }
1420}
1421
1422impl glib::HasParamSpec for DragProtocol {
1423 type ParamSpec = glib::ParamSpecEnum;
1424 type SetValue = Self;
1425 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1426
1427 fn param_spec_builder() -> Self::BuilderFn {
1428 Self::ParamSpec::builder_with_default
1429 }
1430}
1431
1432impl glib::value::ValueType for DragProtocol {
1433 type Type = Self;
1434}
1435
1436unsafe impl<'a> glib::value::FromValue<'a> for DragProtocol {
1437 type Checker = glib::value::GenericValueTypeChecker<Self>;
1438
1439 #[inline]
1440 unsafe fn from_value(value: &'a glib::Value) -> Self {
1441 skip_assert_initialized!();
1442 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1443 }
1444}
1445
1446impl ToValue for DragProtocol {
1447 #[inline]
1448 fn to_value(&self) -> glib::Value {
1449 let mut value = glib::Value::for_value_type::<Self>();
1450 unsafe {
1451 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1452 }
1453 value
1454 }
1455
1456 #[inline]
1457 fn value_type(&self) -> glib::Type {
1458 Self::static_type()
1459 }
1460}
1461
1462impl From<DragProtocol> for glib::Value {
1463 #[inline]
1464 fn from(v: DragProtocol) -> Self {
1465 skip_assert_initialized!();
1466 ToValue::to_value(&v)
1467 }
1468}
1469
1470#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1483#[non_exhaustive]
1484#[doc(alias = "GdkEventType")]
1485pub enum EventType {
1486 #[doc(alias = "GDK_NOTHING")]
1488 Nothing,
1489 #[doc(alias = "GDK_DELETE")]
1493 Delete,
1494 #[doc(alias = "GDK_DESTROY")]
1496 Destroy,
1497 #[doc(alias = "GDK_EXPOSE")]
1500 Expose,
1501 #[doc(alias = "GDK_MOTION_NOTIFY")]
1503 MotionNotify,
1504 #[doc(alias = "GDK_BUTTON_PRESS")]
1506 ButtonPress,
1507 #[doc(alias = "GDK_2BUTTON_PRESS")]
1511 _2buttonPress,
1512 #[doc(alias = "GDK_3BUTTON_PRESS")]
1515 _3buttonPress,
1516 #[doc(alias = "GDK_BUTTON_RELEASE")]
1518 ButtonRelease,
1519 #[doc(alias = "GDK_KEY_PRESS")]
1521 KeyPress,
1522 #[doc(alias = "GDK_KEY_RELEASE")]
1524 KeyRelease,
1525 #[doc(alias = "GDK_ENTER_NOTIFY")]
1527 EnterNotify,
1528 #[doc(alias = "GDK_LEAVE_NOTIFY")]
1530 LeaveNotify,
1531 #[doc(alias = "GDK_FOCUS_CHANGE")]
1533 FocusChange,
1534 #[doc(alias = "GDK_CONFIGURE")]
1537 Configure,
1538 #[doc(alias = "GDK_MAP")]
1540 Map,
1541 #[doc(alias = "GDK_UNMAP")]
1543 Unmap,
1544 #[doc(alias = "GDK_PROPERTY_NOTIFY")]
1546 PropertyNotify,
1547 #[doc(alias = "GDK_SELECTION_CLEAR")]
1549 SelectionClear,
1550 #[doc(alias = "GDK_SELECTION_REQUEST")]
1552 SelectionRequest,
1553 #[doc(alias = "GDK_SELECTION_NOTIFY")]
1555 SelectionNotify,
1556 #[doc(alias = "GDK_PROXIMITY_IN")]
1559 ProximityIn,
1560 #[doc(alias = "GDK_PROXIMITY_OUT")]
1563 ProximityOut,
1564 #[doc(alias = "GDK_DRAG_ENTER")]
1566 DragEnter,
1567 #[doc(alias = "GDK_DRAG_LEAVE")]
1569 DragLeave,
1570 #[doc(alias = "GDK_DRAG_MOTION")]
1573 DragMotion,
1574 #[doc(alias = "GDK_DRAG_STATUS")]
1577 DragStatus,
1578 #[doc(alias = "GDK_DROP_START")]
1580 DropStart,
1581 #[doc(alias = "GDK_DROP_FINISHED")]
1583 DropFinished,
1584 #[doc(alias = "GDK_CLIENT_EVENT")]
1586 ClientEvent,
1587 #[doc(alias = "GDK_VISIBILITY_NOTIFY")]
1589 VisibilityNotify,
1590 #[doc(alias = "GDK_SCROLL")]
1592 Scroll,
1593 #[doc(alias = "GDK_WINDOW_STATE")]
1596 WindowState,
1597 #[doc(alias = "GDK_SETTING")]
1599 Setting,
1600 #[doc(alias = "GDK_OWNER_CHANGE")]
1603 OwnerChange,
1604 #[doc(alias = "GDK_GRAB_BROKEN")]
1607 GrabBroken,
1608 #[doc(alias = "GDK_DAMAGE")]
1611 Damage,
1612 #[doc(alias = "GDK_TOUCH_BEGIN")]
1615 TouchBegin,
1616 #[doc(alias = "GDK_TOUCH_UPDATE")]
1619 TouchUpdate,
1620 #[doc(alias = "GDK_TOUCH_END")]
1623 TouchEnd,
1624 #[doc(alias = "GDK_TOUCH_CANCEL")]
1627 TouchCancel,
1628 #[doc(alias = "GDK_TOUCHPAD_SWIPE")]
1631 TouchpadSwipe,
1632 #[doc(alias = "GDK_TOUCHPAD_PINCH")]
1635 TouchpadPinch,
1636 #[doc(alias = "GDK_PAD_BUTTON_PRESS")]
1639 PadButtonPress,
1640 #[doc(alias = "GDK_PAD_BUTTON_RELEASE")]
1643 PadButtonRelease,
1644 #[doc(alias = "GDK_PAD_RING")]
1647 PadRing,
1648 #[doc(alias = "GDK_PAD_STRIP")]
1651 PadStrip,
1652 #[doc(alias = "GDK_PAD_GROUP_MODE")]
1655 PadGroupMode,
1656 #[doc(alias = "GDK_EVENT_LAST")]
1658 EventLast,
1659 #[doc(hidden)]
1660 __Unknown(i32),
1661}
1662
1663#[doc(hidden)]
1664impl IntoGlib for EventType {
1665 type GlibType = ffi::GdkEventType;
1666
1667 fn into_glib(self) -> ffi::GdkEventType {
1668 match self {
1669 Self::Nothing => ffi::GDK_NOTHING,
1670 Self::Delete => ffi::GDK_DELETE,
1671 Self::Destroy => ffi::GDK_DESTROY,
1672 Self::Expose => ffi::GDK_EXPOSE,
1673 Self::MotionNotify => ffi::GDK_MOTION_NOTIFY,
1674 Self::ButtonPress => ffi::GDK_BUTTON_PRESS,
1675 Self::_2buttonPress => ffi::GDK_2BUTTON_PRESS,
1676 Self::_3buttonPress => ffi::GDK_3BUTTON_PRESS,
1677 Self::ButtonRelease => ffi::GDK_BUTTON_RELEASE,
1678 Self::KeyPress => ffi::GDK_KEY_PRESS,
1679 Self::KeyRelease => ffi::GDK_KEY_RELEASE,
1680 Self::EnterNotify => ffi::GDK_ENTER_NOTIFY,
1681 Self::LeaveNotify => ffi::GDK_LEAVE_NOTIFY,
1682 Self::FocusChange => ffi::GDK_FOCUS_CHANGE,
1683 Self::Configure => ffi::GDK_CONFIGURE,
1684 Self::Map => ffi::GDK_MAP,
1685 Self::Unmap => ffi::GDK_UNMAP,
1686 Self::PropertyNotify => ffi::GDK_PROPERTY_NOTIFY,
1687 Self::SelectionClear => ffi::GDK_SELECTION_CLEAR,
1688 Self::SelectionRequest => ffi::GDK_SELECTION_REQUEST,
1689 Self::SelectionNotify => ffi::GDK_SELECTION_NOTIFY,
1690 Self::ProximityIn => ffi::GDK_PROXIMITY_IN,
1691 Self::ProximityOut => ffi::GDK_PROXIMITY_OUT,
1692 Self::DragEnter => ffi::GDK_DRAG_ENTER,
1693 Self::DragLeave => ffi::GDK_DRAG_LEAVE,
1694 Self::DragMotion => ffi::GDK_DRAG_MOTION,
1695 Self::DragStatus => ffi::GDK_DRAG_STATUS,
1696 Self::DropStart => ffi::GDK_DROP_START,
1697 Self::DropFinished => ffi::GDK_DROP_FINISHED,
1698 Self::ClientEvent => ffi::GDK_CLIENT_EVENT,
1699 Self::VisibilityNotify => ffi::GDK_VISIBILITY_NOTIFY,
1700 Self::Scroll => ffi::GDK_SCROLL,
1701 Self::WindowState => ffi::GDK_WINDOW_STATE,
1702 Self::Setting => ffi::GDK_SETTING,
1703 Self::OwnerChange => ffi::GDK_OWNER_CHANGE,
1704 Self::GrabBroken => ffi::GDK_GRAB_BROKEN,
1705 Self::Damage => ffi::GDK_DAMAGE,
1706 Self::TouchBegin => ffi::GDK_TOUCH_BEGIN,
1707 Self::TouchUpdate => ffi::GDK_TOUCH_UPDATE,
1708 Self::TouchEnd => ffi::GDK_TOUCH_END,
1709 Self::TouchCancel => ffi::GDK_TOUCH_CANCEL,
1710 Self::TouchpadSwipe => ffi::GDK_TOUCHPAD_SWIPE,
1711 Self::TouchpadPinch => ffi::GDK_TOUCHPAD_PINCH,
1712 Self::PadButtonPress => ffi::GDK_PAD_BUTTON_PRESS,
1713 Self::PadButtonRelease => ffi::GDK_PAD_BUTTON_RELEASE,
1714 Self::PadRing => ffi::GDK_PAD_RING,
1715 Self::PadStrip => ffi::GDK_PAD_STRIP,
1716 Self::PadGroupMode => ffi::GDK_PAD_GROUP_MODE,
1717 Self::EventLast => ffi::GDK_EVENT_LAST,
1718 Self::__Unknown(value) => value,
1719 }
1720 }
1721}
1722
1723#[doc(hidden)]
1724impl FromGlib<ffi::GdkEventType> for EventType {
1725 unsafe fn from_glib(value: ffi::GdkEventType) -> Self {
1726 skip_assert_initialized!();
1727
1728 match value {
1729 ffi::GDK_NOTHING => Self::Nothing,
1730 ffi::GDK_DELETE => Self::Delete,
1731 ffi::GDK_DESTROY => Self::Destroy,
1732 ffi::GDK_EXPOSE => Self::Expose,
1733 ffi::GDK_MOTION_NOTIFY => Self::MotionNotify,
1734 ffi::GDK_BUTTON_PRESS => Self::ButtonPress,
1735 ffi::GDK_2BUTTON_PRESS => Self::_2buttonPress,
1736 ffi::GDK_3BUTTON_PRESS => Self::_3buttonPress,
1737 ffi::GDK_BUTTON_RELEASE => Self::ButtonRelease,
1738 ffi::GDK_KEY_PRESS => Self::KeyPress,
1739 ffi::GDK_KEY_RELEASE => Self::KeyRelease,
1740 ffi::GDK_ENTER_NOTIFY => Self::EnterNotify,
1741 ffi::GDK_LEAVE_NOTIFY => Self::LeaveNotify,
1742 ffi::GDK_FOCUS_CHANGE => Self::FocusChange,
1743 ffi::GDK_CONFIGURE => Self::Configure,
1744 ffi::GDK_MAP => Self::Map,
1745 ffi::GDK_UNMAP => Self::Unmap,
1746 ffi::GDK_PROPERTY_NOTIFY => Self::PropertyNotify,
1747 ffi::GDK_SELECTION_CLEAR => Self::SelectionClear,
1748 ffi::GDK_SELECTION_REQUEST => Self::SelectionRequest,
1749 ffi::GDK_SELECTION_NOTIFY => Self::SelectionNotify,
1750 ffi::GDK_PROXIMITY_IN => Self::ProximityIn,
1751 ffi::GDK_PROXIMITY_OUT => Self::ProximityOut,
1752 ffi::GDK_DRAG_ENTER => Self::DragEnter,
1753 ffi::GDK_DRAG_LEAVE => Self::DragLeave,
1754 ffi::GDK_DRAG_MOTION => Self::DragMotion,
1755 ffi::GDK_DRAG_STATUS => Self::DragStatus,
1756 ffi::GDK_DROP_START => Self::DropStart,
1757 ffi::GDK_DROP_FINISHED => Self::DropFinished,
1758 ffi::GDK_CLIENT_EVENT => Self::ClientEvent,
1759 ffi::GDK_VISIBILITY_NOTIFY => Self::VisibilityNotify,
1760 ffi::GDK_SCROLL => Self::Scroll,
1761 ffi::GDK_WINDOW_STATE => Self::WindowState,
1762 ffi::GDK_SETTING => Self::Setting,
1763 ffi::GDK_OWNER_CHANGE => Self::OwnerChange,
1764 ffi::GDK_GRAB_BROKEN => Self::GrabBroken,
1765 ffi::GDK_DAMAGE => Self::Damage,
1766 ffi::GDK_TOUCH_BEGIN => Self::TouchBegin,
1767 ffi::GDK_TOUCH_UPDATE => Self::TouchUpdate,
1768 ffi::GDK_TOUCH_END => Self::TouchEnd,
1769 ffi::GDK_TOUCH_CANCEL => Self::TouchCancel,
1770 ffi::GDK_TOUCHPAD_SWIPE => Self::TouchpadSwipe,
1771 ffi::GDK_TOUCHPAD_PINCH => Self::TouchpadPinch,
1772 ffi::GDK_PAD_BUTTON_PRESS => Self::PadButtonPress,
1773 ffi::GDK_PAD_BUTTON_RELEASE => Self::PadButtonRelease,
1774 ffi::GDK_PAD_RING => Self::PadRing,
1775 ffi::GDK_PAD_STRIP => Self::PadStrip,
1776 ffi::GDK_PAD_GROUP_MODE => Self::PadGroupMode,
1777 ffi::GDK_EVENT_LAST => Self::EventLast,
1778 value => Self::__Unknown(value),
1779 }
1780 }
1781}
1782
1783impl StaticType for EventType {
1784 #[inline]
1785 #[doc(alias = "gdk_event_type_get_type")]
1786 fn static_type() -> glib::Type {
1787 unsafe { from_glib(ffi::gdk_event_type_get_type()) }
1788 }
1789}
1790
1791impl glib::HasParamSpec for EventType {
1792 type ParamSpec = glib::ParamSpecEnum;
1793 type SetValue = Self;
1794 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1795
1796 fn param_spec_builder() -> Self::BuilderFn {
1797 Self::ParamSpec::builder_with_default
1798 }
1799}
1800
1801impl glib::value::ValueType for EventType {
1802 type Type = Self;
1803}
1804
1805unsafe impl<'a> glib::value::FromValue<'a> for EventType {
1806 type Checker = glib::value::GenericValueTypeChecker<Self>;
1807
1808 #[inline]
1809 unsafe fn from_value(value: &'a glib::Value) -> Self {
1810 skip_assert_initialized!();
1811 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1812 }
1813}
1814
1815impl ToValue for EventType {
1816 #[inline]
1817 fn to_value(&self) -> glib::Value {
1818 let mut value = glib::Value::for_value_type::<Self>();
1819 unsafe {
1820 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1821 }
1822 value
1823 }
1824
1825 #[inline]
1826 fn value_type(&self) -> glib::Type {
1827 Self::static_type()
1828 }
1829}
1830
1831impl From<EventType> for glib::Value {
1832 #[inline]
1833 fn from(v: EventType) -> Self {
1834 skip_assert_initialized!();
1835 ToValue::to_value(&v)
1836 }
1837}
1838
1839#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1842#[non_exhaustive]
1843#[doc(alias = "GdkFullscreenMode")]
1844pub enum FullscreenMode {
1845 #[doc(alias = "GDK_FULLSCREEN_ON_CURRENT_MONITOR")]
1847 CurrentMonitor,
1848 #[doc(alias = "GDK_FULLSCREEN_ON_ALL_MONITORS")]
1850 AllMonitors,
1851 #[doc(hidden)]
1852 __Unknown(i32),
1853}
1854
1855#[doc(hidden)]
1856impl IntoGlib for FullscreenMode {
1857 type GlibType = ffi::GdkFullscreenMode;
1858
1859 #[inline]
1860 fn into_glib(self) -> ffi::GdkFullscreenMode {
1861 match self {
1862 Self::CurrentMonitor => ffi::GDK_FULLSCREEN_ON_CURRENT_MONITOR,
1863 Self::AllMonitors => ffi::GDK_FULLSCREEN_ON_ALL_MONITORS,
1864 Self::__Unknown(value) => value,
1865 }
1866 }
1867}
1868
1869#[doc(hidden)]
1870impl FromGlib<ffi::GdkFullscreenMode> for FullscreenMode {
1871 #[inline]
1872 unsafe fn from_glib(value: ffi::GdkFullscreenMode) -> Self {
1873 skip_assert_initialized!();
1874
1875 match value {
1876 ffi::GDK_FULLSCREEN_ON_CURRENT_MONITOR => Self::CurrentMonitor,
1877 ffi::GDK_FULLSCREEN_ON_ALL_MONITORS => Self::AllMonitors,
1878 value => Self::__Unknown(value),
1879 }
1880 }
1881}
1882
1883impl StaticType for FullscreenMode {
1884 #[inline]
1885 #[doc(alias = "gdk_fullscreen_mode_get_type")]
1886 fn static_type() -> glib::Type {
1887 unsafe { from_glib(ffi::gdk_fullscreen_mode_get_type()) }
1888 }
1889}
1890
1891impl glib::HasParamSpec for FullscreenMode {
1892 type ParamSpec = glib::ParamSpecEnum;
1893 type SetValue = Self;
1894 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1895
1896 fn param_spec_builder() -> Self::BuilderFn {
1897 Self::ParamSpec::builder_with_default
1898 }
1899}
1900
1901impl glib::value::ValueType for FullscreenMode {
1902 type Type = Self;
1903}
1904
1905unsafe impl<'a> glib::value::FromValue<'a> for FullscreenMode {
1906 type Checker = glib::value::GenericValueTypeChecker<Self>;
1907
1908 #[inline]
1909 unsafe fn from_value(value: &'a glib::Value) -> Self {
1910 skip_assert_initialized!();
1911 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1912 }
1913}
1914
1915impl ToValue for FullscreenMode {
1916 #[inline]
1917 fn to_value(&self) -> glib::Value {
1918 let mut value = glib::Value::for_value_type::<Self>();
1919 unsafe {
1920 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1921 }
1922 value
1923 }
1924
1925 #[inline]
1926 fn value_type(&self) -> glib::Type {
1927 Self::static_type()
1928 }
1929}
1930
1931impl From<FullscreenMode> for glib::Value {
1932 #[inline]
1933 fn from(v: FullscreenMode) -> Self {
1934 skip_assert_initialized!();
1935 ToValue::to_value(&v)
1936 }
1937}
1938
1939#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1941#[non_exhaustive]
1942#[doc(alias = "GdkGLError")]
1943pub enum GLError {
1944 #[doc(alias = "GDK_GL_ERROR_NOT_AVAILABLE")]
1946 NotAvailable,
1947 #[doc(alias = "GDK_GL_ERROR_UNSUPPORTED_FORMAT")]
1949 UnsupportedFormat,
1950 #[doc(alias = "GDK_GL_ERROR_UNSUPPORTED_PROFILE")]
1952 UnsupportedProfile,
1953 #[doc(hidden)]
1954 __Unknown(i32),
1955}
1956
1957#[doc(hidden)]
1958impl IntoGlib for GLError {
1959 type GlibType = ffi::GdkGLError;
1960
1961 #[inline]
1962 fn into_glib(self) -> ffi::GdkGLError {
1963 match self {
1964 Self::NotAvailable => ffi::GDK_GL_ERROR_NOT_AVAILABLE,
1965 Self::UnsupportedFormat => ffi::GDK_GL_ERROR_UNSUPPORTED_FORMAT,
1966 Self::UnsupportedProfile => ffi::GDK_GL_ERROR_UNSUPPORTED_PROFILE,
1967 Self::__Unknown(value) => value,
1968 }
1969 }
1970}
1971
1972#[doc(hidden)]
1973impl FromGlib<ffi::GdkGLError> for GLError {
1974 #[inline]
1975 unsafe fn from_glib(value: ffi::GdkGLError) -> Self {
1976 skip_assert_initialized!();
1977
1978 match value {
1979 ffi::GDK_GL_ERROR_NOT_AVAILABLE => Self::NotAvailable,
1980 ffi::GDK_GL_ERROR_UNSUPPORTED_FORMAT => Self::UnsupportedFormat,
1981 ffi::GDK_GL_ERROR_UNSUPPORTED_PROFILE => Self::UnsupportedProfile,
1982 value => Self::__Unknown(value),
1983 }
1984 }
1985}
1986
1987impl glib::error::ErrorDomain for GLError {
1988 #[inline]
1989 fn domain() -> glib::Quark {
1990 skip_assert_initialized!();
1991
1992 unsafe { from_glib(ffi::gdk_gl_error_quark()) }
1993 }
1994
1995 #[inline]
1996 fn code(self) -> i32 {
1997 self.into_glib()
1998 }
1999
2000 #[inline]
2001 #[allow(clippy::match_single_binding)]
2002 fn from(code: i32) -> Option<Self> {
2003 skip_assert_initialized!();
2004 match unsafe { from_glib(code) } {
2005 value => Some(value),
2006 }
2007 }
2008}
2009
2010impl StaticType for GLError {
2011 #[inline]
2012 #[doc(alias = "gdk_gl_error_get_type")]
2013 fn static_type() -> glib::Type {
2014 unsafe { from_glib(ffi::gdk_gl_error_get_type()) }
2015 }
2016}
2017
2018impl glib::HasParamSpec for GLError {
2019 type ParamSpec = glib::ParamSpecEnum;
2020 type SetValue = Self;
2021 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2022
2023 fn param_spec_builder() -> Self::BuilderFn {
2024 Self::ParamSpec::builder_with_default
2025 }
2026}
2027
2028impl glib::value::ValueType for GLError {
2029 type Type = Self;
2030}
2031
2032unsafe impl<'a> glib::value::FromValue<'a> for GLError {
2033 type Checker = glib::value::GenericValueTypeChecker<Self>;
2034
2035 #[inline]
2036 unsafe fn from_value(value: &'a glib::Value) -> Self {
2037 skip_assert_initialized!();
2038 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2039 }
2040}
2041
2042impl ToValue for GLError {
2043 #[inline]
2044 fn to_value(&self) -> glib::Value {
2045 let mut value = glib::Value::for_value_type::<Self>();
2046 unsafe {
2047 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2048 }
2049 value
2050 }
2051
2052 #[inline]
2053 fn value_type(&self) -> glib::Type {
2054 Self::static_type()
2055 }
2056}
2057
2058impl From<GLError> for glib::Value {
2059 #[inline]
2060 fn from(v: GLError) -> Self {
2061 skip_assert_initialized!();
2062 ToValue::to_value(&v)
2063 }
2064}
2065
2066#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2068#[non_exhaustive]
2069#[doc(alias = "GdkGrabOwnership")]
2070pub enum GrabOwnership {
2071 #[doc(alias = "GDK_OWNERSHIP_NONE")]
2073 None,
2074 #[doc(alias = "GDK_OWNERSHIP_WINDOW")]
2076 Window,
2077 #[doc(alias = "GDK_OWNERSHIP_APPLICATION")]
2079 Application,
2080 #[doc(hidden)]
2081 __Unknown(i32),
2082}
2083
2084#[doc(hidden)]
2085impl IntoGlib for GrabOwnership {
2086 type GlibType = ffi::GdkGrabOwnership;
2087
2088 #[inline]
2089 fn into_glib(self) -> ffi::GdkGrabOwnership {
2090 match self {
2091 Self::None => ffi::GDK_OWNERSHIP_NONE,
2092 Self::Window => ffi::GDK_OWNERSHIP_WINDOW,
2093 Self::Application => ffi::GDK_OWNERSHIP_APPLICATION,
2094 Self::__Unknown(value) => value,
2095 }
2096 }
2097}
2098
2099#[doc(hidden)]
2100impl FromGlib<ffi::GdkGrabOwnership> for GrabOwnership {
2101 #[inline]
2102 unsafe fn from_glib(value: ffi::GdkGrabOwnership) -> Self {
2103 skip_assert_initialized!();
2104
2105 match value {
2106 ffi::GDK_OWNERSHIP_NONE => Self::None,
2107 ffi::GDK_OWNERSHIP_WINDOW => Self::Window,
2108 ffi::GDK_OWNERSHIP_APPLICATION => Self::Application,
2109 value => Self::__Unknown(value),
2110 }
2111 }
2112}
2113
2114impl StaticType for GrabOwnership {
2115 #[inline]
2116 #[doc(alias = "gdk_grab_ownership_get_type")]
2117 fn static_type() -> glib::Type {
2118 unsafe { from_glib(ffi::gdk_grab_ownership_get_type()) }
2119 }
2120}
2121
2122impl glib::HasParamSpec for GrabOwnership {
2123 type ParamSpec = glib::ParamSpecEnum;
2124 type SetValue = Self;
2125 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2126
2127 fn param_spec_builder() -> Self::BuilderFn {
2128 Self::ParamSpec::builder_with_default
2129 }
2130}
2131
2132impl glib::value::ValueType for GrabOwnership {
2133 type Type = Self;
2134}
2135
2136unsafe impl<'a> glib::value::FromValue<'a> for GrabOwnership {
2137 type Checker = glib::value::GenericValueTypeChecker<Self>;
2138
2139 #[inline]
2140 unsafe fn from_value(value: &'a glib::Value) -> Self {
2141 skip_assert_initialized!();
2142 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2143 }
2144}
2145
2146impl ToValue for GrabOwnership {
2147 #[inline]
2148 fn to_value(&self) -> glib::Value {
2149 let mut value = glib::Value::for_value_type::<Self>();
2150 unsafe {
2151 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2152 }
2153 value
2154 }
2155
2156 #[inline]
2157 fn value_type(&self) -> glib::Type {
2158 Self::static_type()
2159 }
2160}
2161
2162impl From<GrabOwnership> for glib::Value {
2163 #[inline]
2164 fn from(v: GrabOwnership) -> Self {
2165 skip_assert_initialized!();
2166 ToValue::to_value(&v)
2167 }
2168}
2169
2170#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2173#[non_exhaustive]
2174#[doc(alias = "GdkGrabStatus")]
2175pub enum GrabStatus {
2176 #[doc(alias = "GDK_GRAB_SUCCESS")]
2178 Success,
2179 #[doc(alias = "GDK_GRAB_ALREADY_GRABBED")]
2181 AlreadyGrabbed,
2182 #[doc(alias = "GDK_GRAB_INVALID_TIME")]
2185 InvalidTime,
2186 #[doc(alias = "GDK_GRAB_NOT_VIEWABLE")]
2189 NotViewable,
2190 #[doc(alias = "GDK_GRAB_FROZEN")]
2192 Frozen,
2193 #[doc(alias = "GDK_GRAB_FAILED")]
2195 Failed,
2196 #[doc(hidden)]
2197 __Unknown(i32),
2198}
2199
2200#[doc(hidden)]
2201impl IntoGlib for GrabStatus {
2202 type GlibType = ffi::GdkGrabStatus;
2203
2204 #[inline]
2205 fn into_glib(self) -> ffi::GdkGrabStatus {
2206 match self {
2207 Self::Success => ffi::GDK_GRAB_SUCCESS,
2208 Self::AlreadyGrabbed => ffi::GDK_GRAB_ALREADY_GRABBED,
2209 Self::InvalidTime => ffi::GDK_GRAB_INVALID_TIME,
2210 Self::NotViewable => ffi::GDK_GRAB_NOT_VIEWABLE,
2211 Self::Frozen => ffi::GDK_GRAB_FROZEN,
2212 Self::Failed => ffi::GDK_GRAB_FAILED,
2213 Self::__Unknown(value) => value,
2214 }
2215 }
2216}
2217
2218#[doc(hidden)]
2219impl FromGlib<ffi::GdkGrabStatus> for GrabStatus {
2220 #[inline]
2221 unsafe fn from_glib(value: ffi::GdkGrabStatus) -> Self {
2222 skip_assert_initialized!();
2223
2224 match value {
2225 ffi::GDK_GRAB_SUCCESS => Self::Success,
2226 ffi::GDK_GRAB_ALREADY_GRABBED => Self::AlreadyGrabbed,
2227 ffi::GDK_GRAB_INVALID_TIME => Self::InvalidTime,
2228 ffi::GDK_GRAB_NOT_VIEWABLE => Self::NotViewable,
2229 ffi::GDK_GRAB_FROZEN => Self::Frozen,
2230 ffi::GDK_GRAB_FAILED => Self::Failed,
2231 value => Self::__Unknown(value),
2232 }
2233 }
2234}
2235
2236impl StaticType for GrabStatus {
2237 #[inline]
2238 #[doc(alias = "gdk_grab_status_get_type")]
2239 fn static_type() -> glib::Type {
2240 unsafe { from_glib(ffi::gdk_grab_status_get_type()) }
2241 }
2242}
2243
2244impl glib::HasParamSpec for GrabStatus {
2245 type ParamSpec = glib::ParamSpecEnum;
2246 type SetValue = Self;
2247 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2248
2249 fn param_spec_builder() -> Self::BuilderFn {
2250 Self::ParamSpec::builder_with_default
2251 }
2252}
2253
2254impl glib::value::ValueType for GrabStatus {
2255 type Type = Self;
2256}
2257
2258unsafe impl<'a> glib::value::FromValue<'a> for GrabStatus {
2259 type Checker = glib::value::GenericValueTypeChecker<Self>;
2260
2261 #[inline]
2262 unsafe fn from_value(value: &'a glib::Value) -> Self {
2263 skip_assert_initialized!();
2264 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2265 }
2266}
2267
2268impl ToValue for GrabStatus {
2269 #[inline]
2270 fn to_value(&self) -> glib::Value {
2271 let mut value = glib::Value::for_value_type::<Self>();
2272 unsafe {
2273 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2274 }
2275 value
2276 }
2277
2278 #[inline]
2279 fn value_type(&self) -> glib::Type {
2280 Self::static_type()
2281 }
2282}
2283
2284impl From<GrabStatus> for glib::Value {
2285 #[inline]
2286 fn from(v: GrabStatus) -> Self {
2287 skip_assert_initialized!();
2288 ToValue::to_value(&v)
2289 }
2290}
2291
2292#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2298#[non_exhaustive]
2299#[doc(alias = "GdkGravity")]
2300pub enum Gravity {
2301 #[doc(alias = "GDK_GRAVITY_NORTH_WEST")]
2303 NorthWest,
2304 #[doc(alias = "GDK_GRAVITY_NORTH")]
2306 North,
2307 #[doc(alias = "GDK_GRAVITY_NORTH_EAST")]
2309 NorthEast,
2310 #[doc(alias = "GDK_GRAVITY_WEST")]
2312 West,
2313 #[doc(alias = "GDK_GRAVITY_CENTER")]
2315 Center,
2316 #[doc(alias = "GDK_GRAVITY_EAST")]
2318 East,
2319 #[doc(alias = "GDK_GRAVITY_SOUTH_WEST")]
2321 SouthWest,
2322 #[doc(alias = "GDK_GRAVITY_SOUTH")]
2324 South,
2325 #[doc(alias = "GDK_GRAVITY_SOUTH_EAST")]
2327 SouthEast,
2328 #[doc(alias = "GDK_GRAVITY_STATIC")]
2331 Static,
2332 #[doc(hidden)]
2333 __Unknown(i32),
2334}
2335
2336#[doc(hidden)]
2337impl IntoGlib for Gravity {
2338 type GlibType = ffi::GdkGravity;
2339
2340 #[inline]
2341 fn into_glib(self) -> ffi::GdkGravity {
2342 match self {
2343 Self::NorthWest => ffi::GDK_GRAVITY_NORTH_WEST,
2344 Self::North => ffi::GDK_GRAVITY_NORTH,
2345 Self::NorthEast => ffi::GDK_GRAVITY_NORTH_EAST,
2346 Self::West => ffi::GDK_GRAVITY_WEST,
2347 Self::Center => ffi::GDK_GRAVITY_CENTER,
2348 Self::East => ffi::GDK_GRAVITY_EAST,
2349 Self::SouthWest => ffi::GDK_GRAVITY_SOUTH_WEST,
2350 Self::South => ffi::GDK_GRAVITY_SOUTH,
2351 Self::SouthEast => ffi::GDK_GRAVITY_SOUTH_EAST,
2352 Self::Static => ffi::GDK_GRAVITY_STATIC,
2353 Self::__Unknown(value) => value,
2354 }
2355 }
2356}
2357
2358#[doc(hidden)]
2359impl FromGlib<ffi::GdkGravity> for Gravity {
2360 #[inline]
2361 unsafe fn from_glib(value: ffi::GdkGravity) -> Self {
2362 skip_assert_initialized!();
2363
2364 match value {
2365 ffi::GDK_GRAVITY_NORTH_WEST => Self::NorthWest,
2366 ffi::GDK_GRAVITY_NORTH => Self::North,
2367 ffi::GDK_GRAVITY_NORTH_EAST => Self::NorthEast,
2368 ffi::GDK_GRAVITY_WEST => Self::West,
2369 ffi::GDK_GRAVITY_CENTER => Self::Center,
2370 ffi::GDK_GRAVITY_EAST => Self::East,
2371 ffi::GDK_GRAVITY_SOUTH_WEST => Self::SouthWest,
2372 ffi::GDK_GRAVITY_SOUTH => Self::South,
2373 ffi::GDK_GRAVITY_SOUTH_EAST => Self::SouthEast,
2374 ffi::GDK_GRAVITY_STATIC => Self::Static,
2375 value => Self::__Unknown(value),
2376 }
2377 }
2378}
2379
2380impl StaticType for Gravity {
2381 #[inline]
2382 #[doc(alias = "gdk_gravity_get_type")]
2383 fn static_type() -> glib::Type {
2384 unsafe { from_glib(ffi::gdk_gravity_get_type()) }
2385 }
2386}
2387
2388impl glib::HasParamSpec for Gravity {
2389 type ParamSpec = glib::ParamSpecEnum;
2390 type SetValue = Self;
2391 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2392
2393 fn param_spec_builder() -> Self::BuilderFn {
2394 Self::ParamSpec::builder_with_default
2395 }
2396}
2397
2398impl glib::value::ValueType for Gravity {
2399 type Type = Self;
2400}
2401
2402unsafe impl<'a> glib::value::FromValue<'a> for Gravity {
2403 type Checker = glib::value::GenericValueTypeChecker<Self>;
2404
2405 #[inline]
2406 unsafe fn from_value(value: &'a glib::Value) -> Self {
2407 skip_assert_initialized!();
2408 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2409 }
2410}
2411
2412impl ToValue for Gravity {
2413 #[inline]
2414 fn to_value(&self) -> glib::Value {
2415 let mut value = glib::Value::for_value_type::<Self>();
2416 unsafe {
2417 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2418 }
2419 value
2420 }
2421
2422 #[inline]
2423 fn value_type(&self) -> glib::Type {
2424 Self::static_type()
2425 }
2426}
2427
2428impl From<Gravity> for glib::Value {
2429 #[inline]
2430 fn from(v: Gravity) -> Self {
2431 skip_assert_initialized!();
2432 ToValue::to_value(&v)
2433 }
2434}
2435
2436#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2438#[non_exhaustive]
2439#[doc(alias = "GdkInputMode")]
2440pub enum InputMode {
2441 #[doc(alias = "GDK_MODE_DISABLED")]
2443 Disabled,
2444 #[doc(alias = "GDK_MODE_SCREEN")]
2447 Screen,
2448 #[doc(alias = "GDK_MODE_WINDOW")]
2453 Window,
2454 #[doc(hidden)]
2455 __Unknown(i32),
2456}
2457
2458#[doc(hidden)]
2459impl IntoGlib for InputMode {
2460 type GlibType = ffi::GdkInputMode;
2461
2462 #[inline]
2463 fn into_glib(self) -> ffi::GdkInputMode {
2464 match self {
2465 Self::Disabled => ffi::GDK_MODE_DISABLED,
2466 Self::Screen => ffi::GDK_MODE_SCREEN,
2467 Self::Window => ffi::GDK_MODE_WINDOW,
2468 Self::__Unknown(value) => value,
2469 }
2470 }
2471}
2472
2473#[doc(hidden)]
2474impl FromGlib<ffi::GdkInputMode> for InputMode {
2475 #[inline]
2476 unsafe fn from_glib(value: ffi::GdkInputMode) -> Self {
2477 skip_assert_initialized!();
2478
2479 match value {
2480 ffi::GDK_MODE_DISABLED => Self::Disabled,
2481 ffi::GDK_MODE_SCREEN => Self::Screen,
2482 ffi::GDK_MODE_WINDOW => Self::Window,
2483 value => Self::__Unknown(value),
2484 }
2485 }
2486}
2487
2488impl StaticType for InputMode {
2489 #[inline]
2490 #[doc(alias = "gdk_input_mode_get_type")]
2491 fn static_type() -> glib::Type {
2492 unsafe { from_glib(ffi::gdk_input_mode_get_type()) }
2493 }
2494}
2495
2496impl glib::HasParamSpec for InputMode {
2497 type ParamSpec = glib::ParamSpecEnum;
2498 type SetValue = Self;
2499 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2500
2501 fn param_spec_builder() -> Self::BuilderFn {
2502 Self::ParamSpec::builder_with_default
2503 }
2504}
2505
2506impl glib::value::ValueType for InputMode {
2507 type Type = Self;
2508}
2509
2510unsafe impl<'a> glib::value::FromValue<'a> for InputMode {
2511 type Checker = glib::value::GenericValueTypeChecker<Self>;
2512
2513 #[inline]
2514 unsafe fn from_value(value: &'a glib::Value) -> Self {
2515 skip_assert_initialized!();
2516 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2517 }
2518}
2519
2520impl ToValue for InputMode {
2521 #[inline]
2522 fn to_value(&self) -> glib::Value {
2523 let mut value = glib::Value::for_value_type::<Self>();
2524 unsafe {
2525 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2526 }
2527 value
2528 }
2529
2530 #[inline]
2531 fn value_type(&self) -> glib::Type {
2532 Self::static_type()
2533 }
2534}
2535
2536impl From<InputMode> for glib::Value {
2537 #[inline]
2538 fn from(v: InputMode) -> Self {
2539 skip_assert_initialized!();
2540 ToValue::to_value(&v)
2541 }
2542}
2543
2544#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2546#[non_exhaustive]
2547#[doc(alias = "GdkInputSource")]
2548pub enum InputSource {
2549 #[doc(alias = "GDK_SOURCE_MOUSE")]
2552 Mouse,
2553 #[doc(alias = "GDK_SOURCE_PEN")]
2555 Pen,
2556 #[doc(alias = "GDK_SOURCE_ERASER")]
2559 Eraser,
2560 #[doc(alias = "GDK_SOURCE_CURSOR")]
2562 Cursor,
2563 #[doc(alias = "GDK_SOURCE_KEYBOARD")]
2565 Keyboard,
2566 #[doc(alias = "GDK_SOURCE_TOUCHSCREEN")]
2569 Touchscreen,
2570 #[doc(alias = "GDK_SOURCE_TOUCHPAD")]
2573 Touchpad,
2574 #[doc(alias = "GDK_SOURCE_TRACKPOINT")]
2577 Trackpoint,
2578 #[doc(alias = "GDK_SOURCE_TABLET_PAD")]
2582 TabletPad,
2583 #[doc(hidden)]
2584 __Unknown(i32),
2585}
2586
2587#[doc(hidden)]
2588impl IntoGlib for InputSource {
2589 type GlibType = ffi::GdkInputSource;
2590
2591 #[inline]
2592 fn into_glib(self) -> ffi::GdkInputSource {
2593 match self {
2594 Self::Mouse => ffi::GDK_SOURCE_MOUSE,
2595 Self::Pen => ffi::GDK_SOURCE_PEN,
2596 Self::Eraser => ffi::GDK_SOURCE_ERASER,
2597 Self::Cursor => ffi::GDK_SOURCE_CURSOR,
2598 Self::Keyboard => ffi::GDK_SOURCE_KEYBOARD,
2599 Self::Touchscreen => ffi::GDK_SOURCE_TOUCHSCREEN,
2600 Self::Touchpad => ffi::GDK_SOURCE_TOUCHPAD,
2601 Self::Trackpoint => ffi::GDK_SOURCE_TRACKPOINT,
2602 Self::TabletPad => ffi::GDK_SOURCE_TABLET_PAD,
2603 Self::__Unknown(value) => value,
2604 }
2605 }
2606}
2607
2608#[doc(hidden)]
2609impl FromGlib<ffi::GdkInputSource> for InputSource {
2610 #[inline]
2611 unsafe fn from_glib(value: ffi::GdkInputSource) -> Self {
2612 skip_assert_initialized!();
2613
2614 match value {
2615 ffi::GDK_SOURCE_MOUSE => Self::Mouse,
2616 ffi::GDK_SOURCE_PEN => Self::Pen,
2617 ffi::GDK_SOURCE_ERASER => Self::Eraser,
2618 ffi::GDK_SOURCE_CURSOR => Self::Cursor,
2619 ffi::GDK_SOURCE_KEYBOARD => Self::Keyboard,
2620 ffi::GDK_SOURCE_TOUCHSCREEN => Self::Touchscreen,
2621 ffi::GDK_SOURCE_TOUCHPAD => Self::Touchpad,
2622 ffi::GDK_SOURCE_TRACKPOINT => Self::Trackpoint,
2623 ffi::GDK_SOURCE_TABLET_PAD => Self::TabletPad,
2624 value => Self::__Unknown(value),
2625 }
2626 }
2627}
2628
2629impl StaticType for InputSource {
2630 #[inline]
2631 #[doc(alias = "gdk_input_source_get_type")]
2632 fn static_type() -> glib::Type {
2633 unsafe { from_glib(ffi::gdk_input_source_get_type()) }
2634 }
2635}
2636
2637impl glib::HasParamSpec for InputSource {
2638 type ParamSpec = glib::ParamSpecEnum;
2639 type SetValue = Self;
2640 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2641
2642 fn param_spec_builder() -> Self::BuilderFn {
2643 Self::ParamSpec::builder_with_default
2644 }
2645}
2646
2647impl glib::value::ValueType for InputSource {
2648 type Type = Self;
2649}
2650
2651unsafe impl<'a> glib::value::FromValue<'a> for InputSource {
2652 type Checker = glib::value::GenericValueTypeChecker<Self>;
2653
2654 #[inline]
2655 unsafe fn from_value(value: &'a glib::Value) -> Self {
2656 skip_assert_initialized!();
2657 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2658 }
2659}
2660
2661impl ToValue for InputSource {
2662 #[inline]
2663 fn to_value(&self) -> glib::Value {
2664 let mut value = glib::Value::for_value_type::<Self>();
2665 unsafe {
2666 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2667 }
2668 value
2669 }
2670
2671 #[inline]
2672 fn value_type(&self) -> glib::Type {
2673 Self::static_type()
2674 }
2675}
2676
2677impl From<InputSource> for glib::Value {
2678 #[inline]
2679 fn from(v: InputSource) -> Self {
2680 skip_assert_initialized!();
2681 ToValue::to_value(&v)
2682 }
2683}
2684
2685#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2693#[non_exhaustive]
2694#[doc(alias = "GdkModifierIntent")]
2695pub enum ModifierIntent {
2696 #[doc(alias = "GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR")]
2699 PrimaryAccelerator,
2700 #[doc(alias = "GDK_MODIFIER_INTENT_CONTEXT_MENU")]
2704 ContextMenu,
2705 #[doc(alias = "GDK_MODIFIER_INTENT_EXTEND_SELECTION")]
2708 ExtendSelection,
2709 #[doc(alias = "GDK_MODIFIER_INTENT_MODIFY_SELECTION")]
2712 ModifySelection,
2713 #[doc(alias = "GDK_MODIFIER_INTENT_NO_TEXT_INPUT")]
2717 NoTextInput,
2718 #[doc(alias = "GDK_MODIFIER_INTENT_SHIFT_GROUP")]
2721 ShiftGroup,
2722 #[doc(alias = "GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK")]
2728 DefaultModMask,
2729 #[doc(hidden)]
2730 __Unknown(i32),
2731}
2732
2733#[doc(hidden)]
2734impl IntoGlib for ModifierIntent {
2735 type GlibType = ffi::GdkModifierIntent;
2736
2737 #[inline]
2738 fn into_glib(self) -> ffi::GdkModifierIntent {
2739 match self {
2740 Self::PrimaryAccelerator => ffi::GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR,
2741 Self::ContextMenu => ffi::GDK_MODIFIER_INTENT_CONTEXT_MENU,
2742 Self::ExtendSelection => ffi::GDK_MODIFIER_INTENT_EXTEND_SELECTION,
2743 Self::ModifySelection => ffi::GDK_MODIFIER_INTENT_MODIFY_SELECTION,
2744 Self::NoTextInput => ffi::GDK_MODIFIER_INTENT_NO_TEXT_INPUT,
2745 Self::ShiftGroup => ffi::GDK_MODIFIER_INTENT_SHIFT_GROUP,
2746 Self::DefaultModMask => ffi::GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK,
2747 Self::__Unknown(value) => value,
2748 }
2749 }
2750}
2751
2752#[doc(hidden)]
2753impl FromGlib<ffi::GdkModifierIntent> for ModifierIntent {
2754 #[inline]
2755 unsafe fn from_glib(value: ffi::GdkModifierIntent) -> Self {
2756 skip_assert_initialized!();
2757
2758 match value {
2759 ffi::GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR => Self::PrimaryAccelerator,
2760 ffi::GDK_MODIFIER_INTENT_CONTEXT_MENU => Self::ContextMenu,
2761 ffi::GDK_MODIFIER_INTENT_EXTEND_SELECTION => Self::ExtendSelection,
2762 ffi::GDK_MODIFIER_INTENT_MODIFY_SELECTION => Self::ModifySelection,
2763 ffi::GDK_MODIFIER_INTENT_NO_TEXT_INPUT => Self::NoTextInput,
2764 ffi::GDK_MODIFIER_INTENT_SHIFT_GROUP => Self::ShiftGroup,
2765 ffi::GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK => Self::DefaultModMask,
2766 value => Self::__Unknown(value),
2767 }
2768 }
2769}
2770
2771impl StaticType for ModifierIntent {
2772 #[inline]
2773 #[doc(alias = "gdk_modifier_intent_get_type")]
2774 fn static_type() -> glib::Type {
2775 unsafe { from_glib(ffi::gdk_modifier_intent_get_type()) }
2776 }
2777}
2778
2779impl glib::HasParamSpec for ModifierIntent {
2780 type ParamSpec = glib::ParamSpecEnum;
2781 type SetValue = Self;
2782 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2783
2784 fn param_spec_builder() -> Self::BuilderFn {
2785 Self::ParamSpec::builder_with_default
2786 }
2787}
2788
2789impl glib::value::ValueType for ModifierIntent {
2790 type Type = Self;
2791}
2792
2793unsafe impl<'a> glib::value::FromValue<'a> for ModifierIntent {
2794 type Checker = glib::value::GenericValueTypeChecker<Self>;
2795
2796 #[inline]
2797 unsafe fn from_value(value: &'a glib::Value) -> Self {
2798 skip_assert_initialized!();
2799 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2800 }
2801}
2802
2803impl ToValue for ModifierIntent {
2804 #[inline]
2805 fn to_value(&self) -> glib::Value {
2806 let mut value = glib::Value::for_value_type::<Self>();
2807 unsafe {
2808 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2809 }
2810 value
2811 }
2812
2813 #[inline]
2814 fn value_type(&self) -> glib::Type {
2815 Self::static_type()
2816 }
2817}
2818
2819impl From<ModifierIntent> for glib::Value {
2820 #[inline]
2821 fn from(v: ModifierIntent) -> Self {
2822 skip_assert_initialized!();
2823 ToValue::to_value(&v)
2824 }
2825}
2826
2827#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2832#[non_exhaustive]
2833#[doc(alias = "GdkNotifyType")]
2834pub enum NotifyType {
2835 #[doc(alias = "GDK_NOTIFY_ANCESTOR")]
2838 Ancestor,
2839 #[doc(alias = "GDK_NOTIFY_VIRTUAL")]
2842 Virtual,
2843 #[doc(alias = "GDK_NOTIFY_INFERIOR")]
2846 Inferior,
2847 #[doc(alias = "GDK_NOTIFY_NONLINEAR")]
2850 Nonlinear,
2851 #[doc(alias = "GDK_NOTIFY_NONLINEAR_VIRTUAL")]
2856 NonlinearVirtual,
2857 #[doc(alias = "GDK_NOTIFY_UNKNOWN")]
2859 Unknown,
2860 #[doc(hidden)]
2861 __Unknown(i32),
2862}
2863
2864#[doc(hidden)]
2865impl IntoGlib for NotifyType {
2866 type GlibType = ffi::GdkNotifyType;
2867
2868 #[inline]
2869 fn into_glib(self) -> ffi::GdkNotifyType {
2870 match self {
2871 Self::Ancestor => ffi::GDK_NOTIFY_ANCESTOR,
2872 Self::Virtual => ffi::GDK_NOTIFY_VIRTUAL,
2873 Self::Inferior => ffi::GDK_NOTIFY_INFERIOR,
2874 Self::Nonlinear => ffi::GDK_NOTIFY_NONLINEAR,
2875 Self::NonlinearVirtual => ffi::GDK_NOTIFY_NONLINEAR_VIRTUAL,
2876 Self::Unknown => ffi::GDK_NOTIFY_UNKNOWN,
2877 Self::__Unknown(value) => value,
2878 }
2879 }
2880}
2881
2882#[doc(hidden)]
2883impl FromGlib<ffi::GdkNotifyType> for NotifyType {
2884 #[inline]
2885 unsafe fn from_glib(value: ffi::GdkNotifyType) -> Self {
2886 skip_assert_initialized!();
2887
2888 match value {
2889 ffi::GDK_NOTIFY_ANCESTOR => Self::Ancestor,
2890 ffi::GDK_NOTIFY_VIRTUAL => Self::Virtual,
2891 ffi::GDK_NOTIFY_INFERIOR => Self::Inferior,
2892 ffi::GDK_NOTIFY_NONLINEAR => Self::Nonlinear,
2893 ffi::GDK_NOTIFY_NONLINEAR_VIRTUAL => Self::NonlinearVirtual,
2894 ffi::GDK_NOTIFY_UNKNOWN => Self::Unknown,
2895 value => Self::__Unknown(value),
2896 }
2897 }
2898}
2899
2900impl StaticType for NotifyType {
2901 #[inline]
2902 #[doc(alias = "gdk_notify_type_get_type")]
2903 fn static_type() -> glib::Type {
2904 unsafe { from_glib(ffi::gdk_notify_type_get_type()) }
2905 }
2906}
2907
2908impl glib::HasParamSpec for NotifyType {
2909 type ParamSpec = glib::ParamSpecEnum;
2910 type SetValue = Self;
2911 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2912
2913 fn param_spec_builder() -> Self::BuilderFn {
2914 Self::ParamSpec::builder_with_default
2915 }
2916}
2917
2918impl glib::value::ValueType for NotifyType {
2919 type Type = Self;
2920}
2921
2922unsafe impl<'a> glib::value::FromValue<'a> for NotifyType {
2923 type Checker = glib::value::GenericValueTypeChecker<Self>;
2924
2925 #[inline]
2926 unsafe fn from_value(value: &'a glib::Value) -> Self {
2927 skip_assert_initialized!();
2928 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2929 }
2930}
2931
2932impl ToValue for NotifyType {
2933 #[inline]
2934 fn to_value(&self) -> glib::Value {
2935 let mut value = glib::Value::for_value_type::<Self>();
2936 unsafe {
2937 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2938 }
2939 value
2940 }
2941
2942 #[inline]
2943 fn value_type(&self) -> glib::Type {
2944 Self::static_type()
2945 }
2946}
2947
2948impl From<NotifyType> for glib::Value {
2949 #[inline]
2950 fn from(v: NotifyType) -> Self {
2951 skip_assert_initialized!();
2952 ToValue::to_value(&v)
2953 }
2954}
2955
2956#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2958#[non_exhaustive]
2959#[doc(alias = "GdkOwnerChange")]
2960pub enum OwnerChange {
2961 #[doc(alias = "GDK_OWNER_CHANGE_NEW_OWNER")]
2963 NewOwner,
2964 #[doc(alias = "GDK_OWNER_CHANGE_DESTROY")]
2966 Destroy,
2967 #[doc(alias = "GDK_OWNER_CHANGE_CLOSE")]
2969 Close,
2970 #[doc(hidden)]
2971 __Unknown(i32),
2972}
2973
2974#[doc(hidden)]
2975impl IntoGlib for OwnerChange {
2976 type GlibType = ffi::GdkOwnerChange;
2977
2978 #[inline]
2979 fn into_glib(self) -> ffi::GdkOwnerChange {
2980 match self {
2981 Self::NewOwner => ffi::GDK_OWNER_CHANGE_NEW_OWNER,
2982 Self::Destroy => ffi::GDK_OWNER_CHANGE_DESTROY,
2983 Self::Close => ffi::GDK_OWNER_CHANGE_CLOSE,
2984 Self::__Unknown(value) => value,
2985 }
2986 }
2987}
2988
2989#[doc(hidden)]
2990impl FromGlib<ffi::GdkOwnerChange> for OwnerChange {
2991 #[inline]
2992 unsafe fn from_glib(value: ffi::GdkOwnerChange) -> Self {
2993 skip_assert_initialized!();
2994
2995 match value {
2996 ffi::GDK_OWNER_CHANGE_NEW_OWNER => Self::NewOwner,
2997 ffi::GDK_OWNER_CHANGE_DESTROY => Self::Destroy,
2998 ffi::GDK_OWNER_CHANGE_CLOSE => Self::Close,
2999 value => Self::__Unknown(value),
3000 }
3001 }
3002}
3003
3004impl StaticType for OwnerChange {
3005 #[inline]
3006 #[doc(alias = "gdk_owner_change_get_type")]
3007 fn static_type() -> glib::Type {
3008 unsafe { from_glib(ffi::gdk_owner_change_get_type()) }
3009 }
3010}
3011
3012impl glib::HasParamSpec for OwnerChange {
3013 type ParamSpec = glib::ParamSpecEnum;
3014 type SetValue = Self;
3015 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3016
3017 fn param_spec_builder() -> Self::BuilderFn {
3018 Self::ParamSpec::builder_with_default
3019 }
3020}
3021
3022impl glib::value::ValueType for OwnerChange {
3023 type Type = Self;
3024}
3025
3026unsafe impl<'a> glib::value::FromValue<'a> for OwnerChange {
3027 type Checker = glib::value::GenericValueTypeChecker<Self>;
3028
3029 #[inline]
3030 unsafe fn from_value(value: &'a glib::Value) -> Self {
3031 skip_assert_initialized!();
3032 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3033 }
3034}
3035
3036impl ToValue for OwnerChange {
3037 #[inline]
3038 fn to_value(&self) -> glib::Value {
3039 let mut value = glib::Value::for_value_type::<Self>();
3040 unsafe {
3041 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3042 }
3043 value
3044 }
3045
3046 #[inline]
3047 fn value_type(&self) -> glib::Type {
3048 Self::static_type()
3049 }
3050}
3051
3052impl From<OwnerChange> for glib::Value {
3053 #[inline]
3054 fn from(v: OwnerChange) -> Self {
3055 skip_assert_initialized!();
3056 ToValue::to_value(&v)
3057 }
3058}
3059
3060#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3063#[non_exhaustive]
3064#[doc(alias = "GdkPropMode")]
3065pub enum PropMode {
3066 #[doc(alias = "GDK_PROP_MODE_REPLACE")]
3068 Replace,
3069 #[doc(alias = "GDK_PROP_MODE_PREPEND")]
3071 Prepend,
3072 #[doc(alias = "GDK_PROP_MODE_APPEND")]
3074 Append,
3075 #[doc(hidden)]
3076 __Unknown(i32),
3077}
3078
3079#[doc(hidden)]
3080impl IntoGlib for PropMode {
3081 type GlibType = ffi::GdkPropMode;
3082
3083 #[inline]
3084 fn into_glib(self) -> ffi::GdkPropMode {
3085 match self {
3086 Self::Replace => ffi::GDK_PROP_MODE_REPLACE,
3087 Self::Prepend => ffi::GDK_PROP_MODE_PREPEND,
3088 Self::Append => ffi::GDK_PROP_MODE_APPEND,
3089 Self::__Unknown(value) => value,
3090 }
3091 }
3092}
3093
3094#[doc(hidden)]
3095impl FromGlib<ffi::GdkPropMode> for PropMode {
3096 #[inline]
3097 unsafe fn from_glib(value: ffi::GdkPropMode) -> Self {
3098 skip_assert_initialized!();
3099
3100 match value {
3101 ffi::GDK_PROP_MODE_REPLACE => Self::Replace,
3102 ffi::GDK_PROP_MODE_PREPEND => Self::Prepend,
3103 ffi::GDK_PROP_MODE_APPEND => Self::Append,
3104 value => Self::__Unknown(value),
3105 }
3106 }
3107}
3108
3109impl StaticType for PropMode {
3110 #[inline]
3111 #[doc(alias = "gdk_prop_mode_get_type")]
3112 fn static_type() -> glib::Type {
3113 unsafe { from_glib(ffi::gdk_prop_mode_get_type()) }
3114 }
3115}
3116
3117impl glib::HasParamSpec for PropMode {
3118 type ParamSpec = glib::ParamSpecEnum;
3119 type SetValue = Self;
3120 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3121
3122 fn param_spec_builder() -> Self::BuilderFn {
3123 Self::ParamSpec::builder_with_default
3124 }
3125}
3126
3127impl glib::value::ValueType for PropMode {
3128 type Type = Self;
3129}
3130
3131unsafe impl<'a> glib::value::FromValue<'a> for PropMode {
3132 type Checker = glib::value::GenericValueTypeChecker<Self>;
3133
3134 #[inline]
3135 unsafe fn from_value(value: &'a glib::Value) -> Self {
3136 skip_assert_initialized!();
3137 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3138 }
3139}
3140
3141impl ToValue for PropMode {
3142 #[inline]
3143 fn to_value(&self) -> glib::Value {
3144 let mut value = glib::Value::for_value_type::<Self>();
3145 unsafe {
3146 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3147 }
3148 value
3149 }
3150
3151 #[inline]
3152 fn value_type(&self) -> glib::Type {
3153 Self::static_type()
3154 }
3155}
3156
3157impl From<PropMode> for glib::Value {
3158 #[inline]
3159 fn from(v: PropMode) -> Self {
3160 skip_assert_initialized!();
3161 ToValue::to_value(&v)
3162 }
3163}
3164
3165#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3167#[non_exhaustive]
3168#[doc(alias = "GdkPropertyState")]
3169pub enum PropertyState {
3170 #[doc(alias = "GDK_PROPERTY_NEW_VALUE")]
3172 NewValue,
3173 #[doc(alias = "GDK_PROPERTY_DELETE")]
3175 Delete,
3176 #[doc(hidden)]
3177 __Unknown(i32),
3178}
3179
3180#[doc(hidden)]
3181impl IntoGlib for PropertyState {
3182 type GlibType = ffi::GdkPropertyState;
3183
3184 #[inline]
3185 fn into_glib(self) -> ffi::GdkPropertyState {
3186 match self {
3187 Self::NewValue => ffi::GDK_PROPERTY_NEW_VALUE,
3188 Self::Delete => ffi::GDK_PROPERTY_DELETE,
3189 Self::__Unknown(value) => value,
3190 }
3191 }
3192}
3193
3194#[doc(hidden)]
3195impl FromGlib<ffi::GdkPropertyState> for PropertyState {
3196 #[inline]
3197 unsafe fn from_glib(value: ffi::GdkPropertyState) -> Self {
3198 skip_assert_initialized!();
3199
3200 match value {
3201 ffi::GDK_PROPERTY_NEW_VALUE => Self::NewValue,
3202 ffi::GDK_PROPERTY_DELETE => Self::Delete,
3203 value => Self::__Unknown(value),
3204 }
3205 }
3206}
3207
3208impl StaticType for PropertyState {
3209 #[inline]
3210 #[doc(alias = "gdk_property_state_get_type")]
3211 fn static_type() -> glib::Type {
3212 unsafe { from_glib(ffi::gdk_property_state_get_type()) }
3213 }
3214}
3215
3216impl glib::HasParamSpec for PropertyState {
3217 type ParamSpec = glib::ParamSpecEnum;
3218 type SetValue = Self;
3219 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3220
3221 fn param_spec_builder() -> Self::BuilderFn {
3222 Self::ParamSpec::builder_with_default
3223 }
3224}
3225
3226impl glib::value::ValueType for PropertyState {
3227 type Type = Self;
3228}
3229
3230unsafe impl<'a> glib::value::FromValue<'a> for PropertyState {
3231 type Checker = glib::value::GenericValueTypeChecker<Self>;
3232
3233 #[inline]
3234 unsafe fn from_value(value: &'a glib::Value) -> Self {
3235 skip_assert_initialized!();
3236 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3237 }
3238}
3239
3240impl ToValue for PropertyState {
3241 #[inline]
3242 fn to_value(&self) -> glib::Value {
3243 let mut value = glib::Value::for_value_type::<Self>();
3244 unsafe {
3245 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3246 }
3247 value
3248 }
3249
3250 #[inline]
3251 fn value_type(&self) -> glib::Type {
3252 Self::static_type()
3253 }
3254}
3255
3256impl From<PropertyState> for glib::Value {
3257 #[inline]
3258 fn from(v: PropertyState) -> Self {
3259 skip_assert_initialized!();
3260 ToValue::to_value(&v)
3261 }
3262}
3263
3264#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3266#[non_exhaustive]
3267#[doc(alias = "GdkScrollDirection")]
3268pub enum ScrollDirection {
3269 #[doc(alias = "GDK_SCROLL_UP")]
3271 Up,
3272 #[doc(alias = "GDK_SCROLL_DOWN")]
3274 Down,
3275 #[doc(alias = "GDK_SCROLL_LEFT")]
3277 Left,
3278 #[doc(alias = "GDK_SCROLL_RIGHT")]
3280 Right,
3281 #[doc(alias = "GDK_SCROLL_SMOOTH")]
3284 Smooth,
3285 #[doc(hidden)]
3286 __Unknown(i32),
3287}
3288
3289#[doc(hidden)]
3290impl IntoGlib for ScrollDirection {
3291 type GlibType = ffi::GdkScrollDirection;
3292
3293 #[inline]
3294 fn into_glib(self) -> ffi::GdkScrollDirection {
3295 match self {
3296 Self::Up => ffi::GDK_SCROLL_UP,
3297 Self::Down => ffi::GDK_SCROLL_DOWN,
3298 Self::Left => ffi::GDK_SCROLL_LEFT,
3299 Self::Right => ffi::GDK_SCROLL_RIGHT,
3300 Self::Smooth => ffi::GDK_SCROLL_SMOOTH,
3301 Self::__Unknown(value) => value,
3302 }
3303 }
3304}
3305
3306#[doc(hidden)]
3307impl FromGlib<ffi::GdkScrollDirection> for ScrollDirection {
3308 #[inline]
3309 unsafe fn from_glib(value: ffi::GdkScrollDirection) -> Self {
3310 skip_assert_initialized!();
3311
3312 match value {
3313 ffi::GDK_SCROLL_UP => Self::Up,
3314 ffi::GDK_SCROLL_DOWN => Self::Down,
3315 ffi::GDK_SCROLL_LEFT => Self::Left,
3316 ffi::GDK_SCROLL_RIGHT => Self::Right,
3317 ffi::GDK_SCROLL_SMOOTH => Self::Smooth,
3318 value => Self::__Unknown(value),
3319 }
3320 }
3321}
3322
3323impl StaticType for ScrollDirection {
3324 #[inline]
3325 #[doc(alias = "gdk_scroll_direction_get_type")]
3326 fn static_type() -> glib::Type {
3327 unsafe { from_glib(ffi::gdk_scroll_direction_get_type()) }
3328 }
3329}
3330
3331impl glib::HasParamSpec for ScrollDirection {
3332 type ParamSpec = glib::ParamSpecEnum;
3333 type SetValue = Self;
3334 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3335
3336 fn param_spec_builder() -> Self::BuilderFn {
3337 Self::ParamSpec::builder_with_default
3338 }
3339}
3340
3341impl glib::value::ValueType for ScrollDirection {
3342 type Type = Self;
3343}
3344
3345unsafe impl<'a> glib::value::FromValue<'a> for ScrollDirection {
3346 type Checker = glib::value::GenericValueTypeChecker<Self>;
3347
3348 #[inline]
3349 unsafe fn from_value(value: &'a glib::Value) -> Self {
3350 skip_assert_initialized!();
3351 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3352 }
3353}
3354
3355impl ToValue for ScrollDirection {
3356 #[inline]
3357 fn to_value(&self) -> glib::Value {
3358 let mut value = glib::Value::for_value_type::<Self>();
3359 unsafe {
3360 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3361 }
3362 value
3363 }
3364
3365 #[inline]
3366 fn value_type(&self) -> glib::Type {
3367 Self::static_type()
3368 }
3369}
3370
3371impl From<ScrollDirection> for glib::Value {
3372 #[inline]
3373 fn from(v: ScrollDirection) -> Self {
3374 skip_assert_initialized!();
3375 ToValue::to_value(&v)
3376 }
3377}
3378
3379#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3382#[non_exhaustive]
3383#[doc(alias = "GdkSettingAction")]
3384pub enum SettingAction {
3385 #[doc(alias = "GDK_SETTING_ACTION_NEW")]
3387 New,
3388 #[doc(alias = "GDK_SETTING_ACTION_CHANGED")]
3390 Changed,
3391 #[doc(alias = "GDK_SETTING_ACTION_DELETED")]
3393 Deleted,
3394 #[doc(hidden)]
3395 __Unknown(i32),
3396}
3397
3398#[doc(hidden)]
3399impl IntoGlib for SettingAction {
3400 type GlibType = ffi::GdkSettingAction;
3401
3402 #[inline]
3403 fn into_glib(self) -> ffi::GdkSettingAction {
3404 match self {
3405 Self::New => ffi::GDK_SETTING_ACTION_NEW,
3406 Self::Changed => ffi::GDK_SETTING_ACTION_CHANGED,
3407 Self::Deleted => ffi::GDK_SETTING_ACTION_DELETED,
3408 Self::__Unknown(value) => value,
3409 }
3410 }
3411}
3412
3413#[doc(hidden)]
3414impl FromGlib<ffi::GdkSettingAction> for SettingAction {
3415 #[inline]
3416 unsafe fn from_glib(value: ffi::GdkSettingAction) -> Self {
3417 skip_assert_initialized!();
3418
3419 match value {
3420 ffi::GDK_SETTING_ACTION_NEW => Self::New,
3421 ffi::GDK_SETTING_ACTION_CHANGED => Self::Changed,
3422 ffi::GDK_SETTING_ACTION_DELETED => Self::Deleted,
3423 value => Self::__Unknown(value),
3424 }
3425 }
3426}
3427
3428impl StaticType for SettingAction {
3429 #[inline]
3430 #[doc(alias = "gdk_setting_action_get_type")]
3431 fn static_type() -> glib::Type {
3432 unsafe { from_glib(ffi::gdk_setting_action_get_type()) }
3433 }
3434}
3435
3436impl glib::HasParamSpec for SettingAction {
3437 type ParamSpec = glib::ParamSpecEnum;
3438 type SetValue = Self;
3439 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3440
3441 fn param_spec_builder() -> Self::BuilderFn {
3442 Self::ParamSpec::builder_with_default
3443 }
3444}
3445
3446impl glib::value::ValueType for SettingAction {
3447 type Type = Self;
3448}
3449
3450unsafe impl<'a> glib::value::FromValue<'a> for SettingAction {
3451 type Checker = glib::value::GenericValueTypeChecker<Self>;
3452
3453 #[inline]
3454 unsafe fn from_value(value: &'a glib::Value) -> Self {
3455 skip_assert_initialized!();
3456 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3457 }
3458}
3459
3460impl ToValue for SettingAction {
3461 #[inline]
3462 fn to_value(&self) -> glib::Value {
3463 let mut value = glib::Value::for_value_type::<Self>();
3464 unsafe {
3465 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3466 }
3467 value
3468 }
3469
3470 #[inline]
3471 fn value_type(&self) -> glib::Type {
3472 Self::static_type()
3473 }
3474}
3475
3476impl From<SettingAction> for glib::Value {
3477 #[inline]
3478 fn from(v: SettingAction) -> Self {
3479 skip_assert_initialized!();
3480 ToValue::to_value(&v)
3481 }
3482}
3483
3484#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3487#[non_exhaustive]
3488#[doc(alias = "GdkSubpixelLayout")]
3489pub enum SubpixelLayout {
3490 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_UNKNOWN")]
3492 Unknown,
3493 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_NONE")]
3495 None,
3496 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB")]
3498 HorizontalRgb,
3499 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR")]
3501 HorizontalBgr,
3502 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB")]
3504 VerticalRgb,
3505 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR")]
3507 VerticalBgr,
3508 #[doc(hidden)]
3509 __Unknown(i32),
3510}
3511
3512#[doc(hidden)]
3513impl IntoGlib for SubpixelLayout {
3514 type GlibType = ffi::GdkSubpixelLayout;
3515
3516 #[inline]
3517 fn into_glib(self) -> ffi::GdkSubpixelLayout {
3518 match self {
3519 Self::Unknown => ffi::GDK_SUBPIXEL_LAYOUT_UNKNOWN,
3520 Self::None => ffi::GDK_SUBPIXEL_LAYOUT_NONE,
3521 Self::HorizontalRgb => ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB,
3522 Self::HorizontalBgr => ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR,
3523 Self::VerticalRgb => ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB,
3524 Self::VerticalBgr => ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR,
3525 Self::__Unknown(value) => value,
3526 }
3527 }
3528}
3529
3530#[doc(hidden)]
3531impl FromGlib<ffi::GdkSubpixelLayout> for SubpixelLayout {
3532 #[inline]
3533 unsafe fn from_glib(value: ffi::GdkSubpixelLayout) -> Self {
3534 skip_assert_initialized!();
3535
3536 match value {
3537 ffi::GDK_SUBPIXEL_LAYOUT_UNKNOWN => Self::Unknown,
3538 ffi::GDK_SUBPIXEL_LAYOUT_NONE => Self::None,
3539 ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB => Self::HorizontalRgb,
3540 ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR => Self::HorizontalBgr,
3541 ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB => Self::VerticalRgb,
3542 ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR => Self::VerticalBgr,
3543 value => Self::__Unknown(value),
3544 }
3545 }
3546}
3547
3548impl StaticType for SubpixelLayout {
3549 #[inline]
3550 #[doc(alias = "gdk_subpixel_layout_get_type")]
3551 fn static_type() -> glib::Type {
3552 unsafe { from_glib(ffi::gdk_subpixel_layout_get_type()) }
3553 }
3554}
3555
3556impl glib::HasParamSpec for SubpixelLayout {
3557 type ParamSpec = glib::ParamSpecEnum;
3558 type SetValue = Self;
3559 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3560
3561 fn param_spec_builder() -> Self::BuilderFn {
3562 Self::ParamSpec::builder_with_default
3563 }
3564}
3565
3566impl glib::value::ValueType for SubpixelLayout {
3567 type Type = Self;
3568}
3569
3570unsafe impl<'a> glib::value::FromValue<'a> for SubpixelLayout {
3571 type Checker = glib::value::GenericValueTypeChecker<Self>;
3572
3573 #[inline]
3574 unsafe fn from_value(value: &'a glib::Value) -> Self {
3575 skip_assert_initialized!();
3576 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3577 }
3578}
3579
3580impl ToValue for SubpixelLayout {
3581 #[inline]
3582 fn to_value(&self) -> glib::Value {
3583 let mut value = glib::Value::for_value_type::<Self>();
3584 unsafe {
3585 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3586 }
3587 value
3588 }
3589
3590 #[inline]
3591 fn value_type(&self) -> glib::Type {
3592 Self::static_type()
3593 }
3594}
3595
3596impl From<SubpixelLayout> for glib::Value {
3597 #[inline]
3598 fn from(v: SubpixelLayout) -> Self {
3599 skip_assert_initialized!();
3600 ToValue::to_value(&v)
3601 }
3602}
3603
3604#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3606#[non_exhaustive]
3607#[doc(alias = "GdkVisibilityState")]
3608pub enum VisibilityState {
3609 #[doc(alias = "GDK_VISIBILITY_UNOBSCURED")]
3611 Unobscured,
3612 #[doc(alias = "GDK_VISIBILITY_PARTIAL")]
3614 Partial,
3615 #[doc(alias = "GDK_VISIBILITY_FULLY_OBSCURED")]
3617 FullyObscured,
3618 #[doc(hidden)]
3619 __Unknown(i32),
3620}
3621
3622#[doc(hidden)]
3623impl IntoGlib for VisibilityState {
3624 type GlibType = ffi::GdkVisibilityState;
3625
3626 #[inline]
3627 fn into_glib(self) -> ffi::GdkVisibilityState {
3628 match self {
3629 Self::Unobscured => ffi::GDK_VISIBILITY_UNOBSCURED,
3630 Self::Partial => ffi::GDK_VISIBILITY_PARTIAL,
3631 Self::FullyObscured => ffi::GDK_VISIBILITY_FULLY_OBSCURED,
3632 Self::__Unknown(value) => value,
3633 }
3634 }
3635}
3636
3637#[doc(hidden)]
3638impl FromGlib<ffi::GdkVisibilityState> for VisibilityState {
3639 #[inline]
3640 unsafe fn from_glib(value: ffi::GdkVisibilityState) -> Self {
3641 skip_assert_initialized!();
3642
3643 match value {
3644 ffi::GDK_VISIBILITY_UNOBSCURED => Self::Unobscured,
3645 ffi::GDK_VISIBILITY_PARTIAL => Self::Partial,
3646 ffi::GDK_VISIBILITY_FULLY_OBSCURED => Self::FullyObscured,
3647 value => Self::__Unknown(value),
3648 }
3649 }
3650}
3651
3652impl StaticType for VisibilityState {
3653 #[inline]
3654 #[doc(alias = "gdk_visibility_state_get_type")]
3655 fn static_type() -> glib::Type {
3656 unsafe { from_glib(ffi::gdk_visibility_state_get_type()) }
3657 }
3658}
3659
3660impl glib::HasParamSpec for VisibilityState {
3661 type ParamSpec = glib::ParamSpecEnum;
3662 type SetValue = Self;
3663 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3664
3665 fn param_spec_builder() -> Self::BuilderFn {
3666 Self::ParamSpec::builder_with_default
3667 }
3668}
3669
3670impl glib::value::ValueType for VisibilityState {
3671 type Type = Self;
3672}
3673
3674unsafe impl<'a> glib::value::FromValue<'a> for VisibilityState {
3675 type Checker = glib::value::GenericValueTypeChecker<Self>;
3676
3677 #[inline]
3678 unsafe fn from_value(value: &'a glib::Value) -> Self {
3679 skip_assert_initialized!();
3680 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3681 }
3682}
3683
3684impl ToValue for VisibilityState {
3685 #[inline]
3686 fn to_value(&self) -> glib::Value {
3687 let mut value = glib::Value::for_value_type::<Self>();
3688 unsafe {
3689 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3690 }
3691 value
3692 }
3693
3694 #[inline]
3695 fn value_type(&self) -> glib::Type {
3696 Self::static_type()
3697 }
3698}
3699
3700impl From<VisibilityState> for glib::Value {
3701 #[inline]
3702 fn from(v: VisibilityState) -> Self {
3703 skip_assert_initialized!();
3704 ToValue::to_value(&v)
3705 }
3706}
3707
3708#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3711#[non_exhaustive]
3712#[doc(alias = "GdkVisualType")]
3713pub enum VisualType {
3714 #[doc(alias = "GDK_VISUAL_STATIC_GRAY")]
3717 StaticGray,
3718 #[doc(alias = "GDK_VISUAL_GRAYSCALE")]
3722 Grayscale,
3723 #[doc(alias = "GDK_VISUAL_STATIC_COLOR")]
3726 StaticColor,
3727 #[doc(alias = "GDK_VISUAL_PSEUDO_COLOR")]
3731 PseudoColor,
3732 #[doc(alias = "GDK_VISUAL_TRUE_COLOR")]
3737 TrueColor,
3738 #[doc(alias = "GDK_VISUAL_DIRECT_COLOR")]
3743 DirectColor,
3744 #[doc(hidden)]
3745 __Unknown(i32),
3746}
3747
3748#[doc(hidden)]
3749impl IntoGlib for VisualType {
3750 type GlibType = ffi::GdkVisualType;
3751
3752 #[inline]
3753 fn into_glib(self) -> ffi::GdkVisualType {
3754 match self {
3755 Self::StaticGray => ffi::GDK_VISUAL_STATIC_GRAY,
3756 Self::Grayscale => ffi::GDK_VISUAL_GRAYSCALE,
3757 Self::StaticColor => ffi::GDK_VISUAL_STATIC_COLOR,
3758 Self::PseudoColor => ffi::GDK_VISUAL_PSEUDO_COLOR,
3759 Self::TrueColor => ffi::GDK_VISUAL_TRUE_COLOR,
3760 Self::DirectColor => ffi::GDK_VISUAL_DIRECT_COLOR,
3761 Self::__Unknown(value) => value,
3762 }
3763 }
3764}
3765
3766#[doc(hidden)]
3767impl FromGlib<ffi::GdkVisualType> for VisualType {
3768 #[inline]
3769 unsafe fn from_glib(value: ffi::GdkVisualType) -> Self {
3770 skip_assert_initialized!();
3771
3772 match value {
3773 ffi::GDK_VISUAL_STATIC_GRAY => Self::StaticGray,
3774 ffi::GDK_VISUAL_GRAYSCALE => Self::Grayscale,
3775 ffi::GDK_VISUAL_STATIC_COLOR => Self::StaticColor,
3776 ffi::GDK_VISUAL_PSEUDO_COLOR => Self::PseudoColor,
3777 ffi::GDK_VISUAL_TRUE_COLOR => Self::TrueColor,
3778 ffi::GDK_VISUAL_DIRECT_COLOR => Self::DirectColor,
3779 value => Self::__Unknown(value),
3780 }
3781 }
3782}
3783
3784impl StaticType for VisualType {
3785 #[inline]
3786 #[doc(alias = "gdk_visual_type_get_type")]
3787 fn static_type() -> glib::Type {
3788 unsafe { from_glib(ffi::gdk_visual_type_get_type()) }
3789 }
3790}
3791
3792impl glib::HasParamSpec for VisualType {
3793 type ParamSpec = glib::ParamSpecEnum;
3794 type SetValue = Self;
3795 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3796
3797 fn param_spec_builder() -> Self::BuilderFn {
3798 Self::ParamSpec::builder_with_default
3799 }
3800}
3801
3802impl glib::value::ValueType for VisualType {
3803 type Type = Self;
3804}
3805
3806unsafe impl<'a> glib::value::FromValue<'a> for VisualType {
3807 type Checker = glib::value::GenericValueTypeChecker<Self>;
3808
3809 #[inline]
3810 unsafe fn from_value(value: &'a glib::Value) -> Self {
3811 skip_assert_initialized!();
3812 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3813 }
3814}
3815
3816impl ToValue for VisualType {
3817 #[inline]
3818 fn to_value(&self) -> glib::Value {
3819 let mut value = glib::Value::for_value_type::<Self>();
3820 unsafe {
3821 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3822 }
3823 value
3824 }
3825
3826 #[inline]
3827 fn value_type(&self) -> glib::Type {
3828 Self::static_type()
3829 }
3830}
3831
3832impl From<VisualType> for glib::Value {
3833 #[inline]
3834 fn from(v: VisualType) -> Self {
3835 skip_assert_initialized!();
3836 ToValue::to_value(&v)
3837 }
3838}
3839
3840#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3842#[non_exhaustive]
3843#[doc(alias = "GdkWindowEdge")]
3844pub enum WindowEdge {
3845 #[doc(alias = "GDK_WINDOW_EDGE_NORTH_WEST")]
3847 NorthWest,
3848 #[doc(alias = "GDK_WINDOW_EDGE_NORTH")]
3850 North,
3851 #[doc(alias = "GDK_WINDOW_EDGE_NORTH_EAST")]
3853 NorthEast,
3854 #[doc(alias = "GDK_WINDOW_EDGE_WEST")]
3856 West,
3857 #[doc(alias = "GDK_WINDOW_EDGE_EAST")]
3859 East,
3860 #[doc(alias = "GDK_WINDOW_EDGE_SOUTH_WEST")]
3862 SouthWest,
3863 #[doc(alias = "GDK_WINDOW_EDGE_SOUTH")]
3865 South,
3866 #[doc(alias = "GDK_WINDOW_EDGE_SOUTH_EAST")]
3868 SouthEast,
3869 #[doc(hidden)]
3870 __Unknown(i32),
3871}
3872
3873#[doc(hidden)]
3874impl IntoGlib for WindowEdge {
3875 type GlibType = ffi::GdkWindowEdge;
3876
3877 #[inline]
3878 fn into_glib(self) -> ffi::GdkWindowEdge {
3879 match self {
3880 Self::NorthWest => ffi::GDK_WINDOW_EDGE_NORTH_WEST,
3881 Self::North => ffi::GDK_WINDOW_EDGE_NORTH,
3882 Self::NorthEast => ffi::GDK_WINDOW_EDGE_NORTH_EAST,
3883 Self::West => ffi::GDK_WINDOW_EDGE_WEST,
3884 Self::East => ffi::GDK_WINDOW_EDGE_EAST,
3885 Self::SouthWest => ffi::GDK_WINDOW_EDGE_SOUTH_WEST,
3886 Self::South => ffi::GDK_WINDOW_EDGE_SOUTH,
3887 Self::SouthEast => ffi::GDK_WINDOW_EDGE_SOUTH_EAST,
3888 Self::__Unknown(value) => value,
3889 }
3890 }
3891}
3892
3893#[doc(hidden)]
3894impl FromGlib<ffi::GdkWindowEdge> for WindowEdge {
3895 #[inline]
3896 unsafe fn from_glib(value: ffi::GdkWindowEdge) -> Self {
3897 skip_assert_initialized!();
3898
3899 match value {
3900 ffi::GDK_WINDOW_EDGE_NORTH_WEST => Self::NorthWest,
3901 ffi::GDK_WINDOW_EDGE_NORTH => Self::North,
3902 ffi::GDK_WINDOW_EDGE_NORTH_EAST => Self::NorthEast,
3903 ffi::GDK_WINDOW_EDGE_WEST => Self::West,
3904 ffi::GDK_WINDOW_EDGE_EAST => Self::East,
3905 ffi::GDK_WINDOW_EDGE_SOUTH_WEST => Self::SouthWest,
3906 ffi::GDK_WINDOW_EDGE_SOUTH => Self::South,
3907 ffi::GDK_WINDOW_EDGE_SOUTH_EAST => Self::SouthEast,
3908 value => Self::__Unknown(value),
3909 }
3910 }
3911}
3912
3913impl StaticType for WindowEdge {
3914 #[inline]
3915 #[doc(alias = "gdk_window_edge_get_type")]
3916 fn static_type() -> glib::Type {
3917 unsafe { from_glib(ffi::gdk_window_edge_get_type()) }
3918 }
3919}
3920
3921impl glib::HasParamSpec for WindowEdge {
3922 type ParamSpec = glib::ParamSpecEnum;
3923 type SetValue = Self;
3924 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3925
3926 fn param_spec_builder() -> Self::BuilderFn {
3927 Self::ParamSpec::builder_with_default
3928 }
3929}
3930
3931impl glib::value::ValueType for WindowEdge {
3932 type Type = Self;
3933}
3934
3935unsafe impl<'a> glib::value::FromValue<'a> for WindowEdge {
3936 type Checker = glib::value::GenericValueTypeChecker<Self>;
3937
3938 #[inline]
3939 unsafe fn from_value(value: &'a glib::Value) -> Self {
3940 skip_assert_initialized!();
3941 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3942 }
3943}
3944
3945impl ToValue for WindowEdge {
3946 #[inline]
3947 fn to_value(&self) -> glib::Value {
3948 let mut value = glib::Value::for_value_type::<Self>();
3949 unsafe {
3950 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3951 }
3952 value
3953 }
3954
3955 #[inline]
3956 fn value_type(&self) -> glib::Type {
3957 Self::static_type()
3958 }
3959}
3960
3961impl From<WindowEdge> for glib::Value {
3962 #[inline]
3963 fn from(v: WindowEdge) -> Self {
3964 skip_assert_initialized!();
3965 ToValue::to_value(&v)
3966 }
3967}
3968
3969#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3971#[non_exhaustive]
3972#[doc(alias = "GdkWindowType")]
3973pub enum WindowType {
3974 #[doc(alias = "GDK_WINDOW_ROOT")]
3977 Root,
3978 #[doc(alias = "GDK_WINDOW_TOPLEVEL")]
3980 Toplevel,
3981 #[doc(alias = "GDK_WINDOW_CHILD")]
3983 Child,
3984 #[doc(alias = "GDK_WINDOW_TEMP")]
3987 Temp,
3988 #[doc(alias = "GDK_WINDOW_FOREIGN")]
3990 Foreign,
3991 #[doc(alias = "GDK_WINDOW_OFFSCREEN")]
3994 Offscreen,
3995 #[doc(alias = "GDK_WINDOW_SUBSURFACE")]
3999 Subsurface,
4000 #[doc(hidden)]
4001 __Unknown(i32),
4002}
4003
4004#[doc(hidden)]
4005impl IntoGlib for WindowType {
4006 type GlibType = ffi::GdkWindowType;
4007
4008 #[inline]
4009 fn into_glib(self) -> ffi::GdkWindowType {
4010 match self {
4011 Self::Root => ffi::GDK_WINDOW_ROOT,
4012 Self::Toplevel => ffi::GDK_WINDOW_TOPLEVEL,
4013 Self::Child => ffi::GDK_WINDOW_CHILD,
4014 Self::Temp => ffi::GDK_WINDOW_TEMP,
4015 Self::Foreign => ffi::GDK_WINDOW_FOREIGN,
4016 Self::Offscreen => ffi::GDK_WINDOW_OFFSCREEN,
4017 Self::Subsurface => ffi::GDK_WINDOW_SUBSURFACE,
4018 Self::__Unknown(value) => value,
4019 }
4020 }
4021}
4022
4023#[doc(hidden)]
4024impl FromGlib<ffi::GdkWindowType> for WindowType {
4025 #[inline]
4026 unsafe fn from_glib(value: ffi::GdkWindowType) -> Self {
4027 skip_assert_initialized!();
4028
4029 match value {
4030 ffi::GDK_WINDOW_ROOT => Self::Root,
4031 ffi::GDK_WINDOW_TOPLEVEL => Self::Toplevel,
4032 ffi::GDK_WINDOW_CHILD => Self::Child,
4033 ffi::GDK_WINDOW_TEMP => Self::Temp,
4034 ffi::GDK_WINDOW_FOREIGN => Self::Foreign,
4035 ffi::GDK_WINDOW_OFFSCREEN => Self::Offscreen,
4036 ffi::GDK_WINDOW_SUBSURFACE => Self::Subsurface,
4037 value => Self::__Unknown(value),
4038 }
4039 }
4040}
4041
4042impl StaticType for WindowType {
4043 #[inline]
4044 #[doc(alias = "gdk_window_type_get_type")]
4045 fn static_type() -> glib::Type {
4046 unsafe { from_glib(ffi::gdk_window_type_get_type()) }
4047 }
4048}
4049
4050impl glib::HasParamSpec for WindowType {
4051 type ParamSpec = glib::ParamSpecEnum;
4052 type SetValue = Self;
4053 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4054
4055 fn param_spec_builder() -> Self::BuilderFn {
4056 Self::ParamSpec::builder_with_default
4057 }
4058}
4059
4060impl glib::value::ValueType for WindowType {
4061 type Type = Self;
4062}
4063
4064unsafe impl<'a> glib::value::FromValue<'a> for WindowType {
4065 type Checker = glib::value::GenericValueTypeChecker<Self>;
4066
4067 #[inline]
4068 unsafe fn from_value(value: &'a glib::Value) -> Self {
4069 skip_assert_initialized!();
4070 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4071 }
4072}
4073
4074impl ToValue for WindowType {
4075 #[inline]
4076 fn to_value(&self) -> glib::Value {
4077 let mut value = glib::Value::for_value_type::<Self>();
4078 unsafe {
4079 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4080 }
4081 value
4082 }
4083
4084 #[inline]
4085 fn value_type(&self) -> glib::Type {
4086 Self::static_type()
4087 }
4088}
4089
4090impl From<WindowType> for glib::Value {
4091 #[inline]
4092 fn from(v: WindowType) -> Self {
4093 skip_assert_initialized!();
4094 ToValue::to_value(&v)
4095 }
4096}
4097
4098#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4105#[non_exhaustive]
4106#[doc(alias = "GdkWindowTypeHint")]
4107pub enum WindowTypeHint {
4108 #[doc(alias = "GDK_WINDOW_TYPE_HINT_NORMAL")]
4110 Normal,
4111 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DIALOG")]
4113 Dialog,
4114 #[doc(alias = "GDK_WINDOW_TYPE_HINT_MENU")]
4117 Menu,
4118 #[doc(alias = "GDK_WINDOW_TYPE_HINT_TOOLBAR")]
4120 Toolbar,
4121 #[doc(alias = "GDK_WINDOW_TYPE_HINT_SPLASHSCREEN")]
4124 Splashscreen,
4125 #[doc(alias = "GDK_WINDOW_TYPE_HINT_UTILITY")]
4128 Utility,
4129 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DOCK")]
4131 Dock,
4132 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DESKTOP")]
4135 Desktop,
4136 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU")]
4138 DropdownMenu,
4139 #[doc(alias = "GDK_WINDOW_TYPE_HINT_POPUP_MENU")]
4142 PopupMenu,
4143 #[doc(alias = "GDK_WINDOW_TYPE_HINT_TOOLTIP")]
4145 Tooltip,
4146 #[doc(alias = "GDK_WINDOW_TYPE_HINT_NOTIFICATION")]
4149 Notification,
4150 #[doc(alias = "GDK_WINDOW_TYPE_HINT_COMBO")]
4152 Combo,
4153 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DND")]
4155 Dnd,
4156 #[doc(hidden)]
4157 __Unknown(i32),
4158}
4159
4160#[doc(hidden)]
4161impl IntoGlib for WindowTypeHint {
4162 type GlibType = ffi::GdkWindowTypeHint;
4163
4164 fn into_glib(self) -> ffi::GdkWindowTypeHint {
4165 match self {
4166 Self::Normal => ffi::GDK_WINDOW_TYPE_HINT_NORMAL,
4167 Self::Dialog => ffi::GDK_WINDOW_TYPE_HINT_DIALOG,
4168 Self::Menu => ffi::GDK_WINDOW_TYPE_HINT_MENU,
4169 Self::Toolbar => ffi::GDK_WINDOW_TYPE_HINT_TOOLBAR,
4170 Self::Splashscreen => ffi::GDK_WINDOW_TYPE_HINT_SPLASHSCREEN,
4171 Self::Utility => ffi::GDK_WINDOW_TYPE_HINT_UTILITY,
4172 Self::Dock => ffi::GDK_WINDOW_TYPE_HINT_DOCK,
4173 Self::Desktop => ffi::GDK_WINDOW_TYPE_HINT_DESKTOP,
4174 Self::DropdownMenu => ffi::GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU,
4175 Self::PopupMenu => ffi::GDK_WINDOW_TYPE_HINT_POPUP_MENU,
4176 Self::Tooltip => ffi::GDK_WINDOW_TYPE_HINT_TOOLTIP,
4177 Self::Notification => ffi::GDK_WINDOW_TYPE_HINT_NOTIFICATION,
4178 Self::Combo => ffi::GDK_WINDOW_TYPE_HINT_COMBO,
4179 Self::Dnd => ffi::GDK_WINDOW_TYPE_HINT_DND,
4180 Self::__Unknown(value) => value,
4181 }
4182 }
4183}
4184
4185#[doc(hidden)]
4186impl FromGlib<ffi::GdkWindowTypeHint> for WindowTypeHint {
4187 unsafe fn from_glib(value: ffi::GdkWindowTypeHint) -> Self {
4188 skip_assert_initialized!();
4189
4190 match value {
4191 ffi::GDK_WINDOW_TYPE_HINT_NORMAL => Self::Normal,
4192 ffi::GDK_WINDOW_TYPE_HINT_DIALOG => Self::Dialog,
4193 ffi::GDK_WINDOW_TYPE_HINT_MENU => Self::Menu,
4194 ffi::GDK_WINDOW_TYPE_HINT_TOOLBAR => Self::Toolbar,
4195 ffi::GDK_WINDOW_TYPE_HINT_SPLASHSCREEN => Self::Splashscreen,
4196 ffi::GDK_WINDOW_TYPE_HINT_UTILITY => Self::Utility,
4197 ffi::GDK_WINDOW_TYPE_HINT_DOCK => Self::Dock,
4198 ffi::GDK_WINDOW_TYPE_HINT_DESKTOP => Self::Desktop,
4199 ffi::GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU => Self::DropdownMenu,
4200 ffi::GDK_WINDOW_TYPE_HINT_POPUP_MENU => Self::PopupMenu,
4201 ffi::GDK_WINDOW_TYPE_HINT_TOOLTIP => Self::Tooltip,
4202 ffi::GDK_WINDOW_TYPE_HINT_NOTIFICATION => Self::Notification,
4203 ffi::GDK_WINDOW_TYPE_HINT_COMBO => Self::Combo,
4204 ffi::GDK_WINDOW_TYPE_HINT_DND => Self::Dnd,
4205 value => Self::__Unknown(value),
4206 }
4207 }
4208}
4209
4210impl StaticType for WindowTypeHint {
4211 #[inline]
4212 #[doc(alias = "gdk_window_type_hint_get_type")]
4213 fn static_type() -> glib::Type {
4214 unsafe { from_glib(ffi::gdk_window_type_hint_get_type()) }
4215 }
4216}
4217
4218impl glib::HasParamSpec for WindowTypeHint {
4219 type ParamSpec = glib::ParamSpecEnum;
4220 type SetValue = Self;
4221 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4222
4223 fn param_spec_builder() -> Self::BuilderFn {
4224 Self::ParamSpec::builder_with_default
4225 }
4226}
4227
4228impl glib::value::ValueType for WindowTypeHint {
4229 type Type = Self;
4230}
4231
4232unsafe impl<'a> glib::value::FromValue<'a> for WindowTypeHint {
4233 type Checker = glib::value::GenericValueTypeChecker<Self>;
4234
4235 #[inline]
4236 unsafe fn from_value(value: &'a glib::Value) -> Self {
4237 skip_assert_initialized!();
4238 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4239 }
4240}
4241
4242impl ToValue for WindowTypeHint {
4243 #[inline]
4244 fn to_value(&self) -> glib::Value {
4245 let mut value = glib::Value::for_value_type::<Self>();
4246 unsafe {
4247 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4248 }
4249 value
4250 }
4251
4252 #[inline]
4253 fn value_type(&self) -> glib::Type {
4254 Self::static_type()
4255 }
4256}
4257
4258impl From<WindowTypeHint> for glib::Value {
4259 #[inline]
4260 fn from(v: WindowTypeHint) -> Self {
4261 skip_assert_initialized!();
4262 ToValue::to_value(&v)
4263 }
4264}
4265
4266#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4272#[non_exhaustive]
4273#[doc(alias = "GdkWindowWindowClass")]
4274pub enum WindowWindowClass {
4275 #[doc(alias = "GDK_INPUT_OUTPUT")]
4277 InputOutput,
4278 #[doc(alias = "GDK_INPUT_ONLY")]
4280 InputOnly,
4281 #[doc(hidden)]
4282 __Unknown(i32),
4283}
4284
4285#[doc(hidden)]
4286impl IntoGlib for WindowWindowClass {
4287 type GlibType = ffi::GdkWindowWindowClass;
4288
4289 #[inline]
4290 fn into_glib(self) -> ffi::GdkWindowWindowClass {
4291 match self {
4292 Self::InputOutput => ffi::GDK_INPUT_OUTPUT,
4293 Self::InputOnly => ffi::GDK_INPUT_ONLY,
4294 Self::__Unknown(value) => value,
4295 }
4296 }
4297}
4298
4299#[doc(hidden)]
4300impl FromGlib<ffi::GdkWindowWindowClass> for WindowWindowClass {
4301 #[inline]
4302 unsafe fn from_glib(value: ffi::GdkWindowWindowClass) -> Self {
4303 skip_assert_initialized!();
4304
4305 match value {
4306 ffi::GDK_INPUT_OUTPUT => Self::InputOutput,
4307 ffi::GDK_INPUT_ONLY => Self::InputOnly,
4308 value => Self::__Unknown(value),
4309 }
4310 }
4311}
4312
4313impl StaticType for WindowWindowClass {
4314 #[inline]
4315 #[doc(alias = "gdk_window_window_class_get_type")]
4316 fn static_type() -> glib::Type {
4317 unsafe { from_glib(ffi::gdk_window_window_class_get_type()) }
4318 }
4319}
4320
4321impl glib::HasParamSpec for WindowWindowClass {
4322 type ParamSpec = glib::ParamSpecEnum;
4323 type SetValue = Self;
4324 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4325
4326 fn param_spec_builder() -> Self::BuilderFn {
4327 Self::ParamSpec::builder_with_default
4328 }
4329}
4330
4331impl glib::value::ValueType for WindowWindowClass {
4332 type Type = Self;
4333}
4334
4335unsafe impl<'a> glib::value::FromValue<'a> for WindowWindowClass {
4336 type Checker = glib::value::GenericValueTypeChecker<Self>;
4337
4338 #[inline]
4339 unsafe fn from_value(value: &'a glib::Value) -> Self {
4340 skip_assert_initialized!();
4341 unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4342 }
4343}
4344
4345impl ToValue for WindowWindowClass {
4346 #[inline]
4347 fn to_value(&self) -> glib::Value {
4348 let mut value = glib::Value::for_value_type::<Self>();
4349 unsafe {
4350 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4351 }
4352 value
4353 }
4354
4355 #[inline]
4356 fn value_type(&self) -> glib::Type {
4357 Self::static_type()
4358 }
4359}
4360
4361impl From<WindowWindowClass> for glib::Value {
4362 #[inline]
4363 fn from(v: WindowWindowClass) -> Self {
4364 skip_assert_initialized!();
4365 ToValue::to_value(&v)
4366 }
4367}