1use glib::{prelude::*, translate::*};
6use std::fmt;
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
56impl fmt::Display for AxisUse {
57 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
58 write!(
59 f,
60 "AxisUse::{}",
61 match *self {
62 Self::Ignore => "Ignore",
63 Self::X => "X",
64 Self::Y => "Y",
65 Self::Pressure => "Pressure",
66 Self::Xtilt => "Xtilt",
67 Self::Ytilt => "Ytilt",
68 Self::Wheel => "Wheel",
69 Self::Distance => "Distance",
70 Self::Rotation => "Rotation",
71 Self::Slider => "Slider",
72 Self::Last => "Last",
73 _ => "Unknown",
74 }
75 )
76 }
77}
78
79#[doc(hidden)]
80impl IntoGlib for AxisUse {
81 type GlibType = ffi::GdkAxisUse;
82
83 #[inline]
84 fn into_glib(self) -> ffi::GdkAxisUse {
85 match self {
86 Self::Ignore => ffi::GDK_AXIS_IGNORE,
87 Self::X => ffi::GDK_AXIS_X,
88 Self::Y => ffi::GDK_AXIS_Y,
89 Self::Pressure => ffi::GDK_AXIS_PRESSURE,
90 Self::Xtilt => ffi::GDK_AXIS_XTILT,
91 Self::Ytilt => ffi::GDK_AXIS_YTILT,
92 Self::Wheel => ffi::GDK_AXIS_WHEEL,
93 Self::Distance => ffi::GDK_AXIS_DISTANCE,
94 Self::Rotation => ffi::GDK_AXIS_ROTATION,
95 Self::Slider => ffi::GDK_AXIS_SLIDER,
96 Self::Last => ffi::GDK_AXIS_LAST,
97 Self::__Unknown(value) => value,
98 }
99 }
100}
101
102#[doc(hidden)]
103impl FromGlib<ffi::GdkAxisUse> for AxisUse {
104 #[inline]
105 unsafe fn from_glib(value: ffi::GdkAxisUse) -> Self {
106 skip_assert_initialized!();
107
108 match value {
109 ffi::GDK_AXIS_IGNORE => Self::Ignore,
110 ffi::GDK_AXIS_X => Self::X,
111 ffi::GDK_AXIS_Y => Self::Y,
112 ffi::GDK_AXIS_PRESSURE => Self::Pressure,
113 ffi::GDK_AXIS_XTILT => Self::Xtilt,
114 ffi::GDK_AXIS_YTILT => Self::Ytilt,
115 ffi::GDK_AXIS_WHEEL => Self::Wheel,
116 ffi::GDK_AXIS_DISTANCE => Self::Distance,
117 ffi::GDK_AXIS_ROTATION => Self::Rotation,
118 ffi::GDK_AXIS_SLIDER => Self::Slider,
119 ffi::GDK_AXIS_LAST => Self::Last,
120 value => Self::__Unknown(value),
121 }
122 }
123}
124
125impl StaticType for AxisUse {
126 #[inline]
127 fn static_type() -> glib::Type {
128 unsafe { from_glib(ffi::gdk_axis_use_get_type()) }
129 }
130}
131
132impl glib::HasParamSpec for AxisUse {
133 type ParamSpec = glib::ParamSpecEnum;
134 type SetValue = Self;
135 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
136
137 fn param_spec_builder() -> Self::BuilderFn {
138 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
139 }
140}
141
142impl glib::value::ValueType for AxisUse {
143 type Type = Self;
144}
145
146unsafe impl<'a> glib::value::FromValue<'a> for AxisUse {
147 type Checker = glib::value::GenericValueTypeChecker<Self>;
148
149 #[inline]
150 unsafe fn from_value(value: &'a glib::Value) -> Self {
151 skip_assert_initialized!();
152 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
153 }
154}
155
156impl ToValue for AxisUse {
157 #[inline]
158 fn to_value(&self) -> glib::Value {
159 let mut value = glib::Value::for_value_type::<Self>();
160 unsafe {
161 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
162 }
163 value
164 }
165
166 #[inline]
167 fn value_type(&self) -> glib::Type {
168 Self::static_type()
169 }
170}
171
172impl From<AxisUse> for glib::Value {
173 #[inline]
174 fn from(v: AxisUse) -> Self {
175 skip_assert_initialized!();
176 ToValue::to_value(&v)
177 }
178}
179
180#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
183#[non_exhaustive]
184#[doc(alias = "GdkByteOrder")]
185pub enum ByteOrder {
186 #[doc(alias = "GDK_LSB_FIRST")]
190 LsbFirst,
191 #[doc(alias = "GDK_MSB_FIRST")]
195 MsbFirst,
196 #[doc(hidden)]
197 __Unknown(i32),
198}
199
200impl fmt::Display for ByteOrder {
201 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
202 write!(
203 f,
204 "ByteOrder::{}",
205 match *self {
206 Self::LsbFirst => "LsbFirst",
207 Self::MsbFirst => "MsbFirst",
208 _ => "Unknown",
209 }
210 )
211 }
212}
213
214#[doc(hidden)]
215impl IntoGlib for ByteOrder {
216 type GlibType = ffi::GdkByteOrder;
217
218 #[inline]
219 fn into_glib(self) -> ffi::GdkByteOrder {
220 match self {
221 Self::LsbFirst => ffi::GDK_LSB_FIRST,
222 Self::MsbFirst => ffi::GDK_MSB_FIRST,
223 Self::__Unknown(value) => value,
224 }
225 }
226}
227
228#[doc(hidden)]
229impl FromGlib<ffi::GdkByteOrder> for ByteOrder {
230 #[inline]
231 unsafe fn from_glib(value: ffi::GdkByteOrder) -> Self {
232 skip_assert_initialized!();
233
234 match value {
235 ffi::GDK_LSB_FIRST => Self::LsbFirst,
236 ffi::GDK_MSB_FIRST => Self::MsbFirst,
237 value => Self::__Unknown(value),
238 }
239 }
240}
241
242impl StaticType for ByteOrder {
243 #[inline]
244 fn static_type() -> glib::Type {
245 unsafe { from_glib(ffi::gdk_byte_order_get_type()) }
246 }
247}
248
249impl glib::HasParamSpec for ByteOrder {
250 type ParamSpec = glib::ParamSpecEnum;
251 type SetValue = Self;
252 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
253
254 fn param_spec_builder() -> Self::BuilderFn {
255 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
256 }
257}
258
259impl glib::value::ValueType for ByteOrder {
260 type Type = Self;
261}
262
263unsafe impl<'a> glib::value::FromValue<'a> for ByteOrder {
264 type Checker = glib::value::GenericValueTypeChecker<Self>;
265
266 #[inline]
267 unsafe fn from_value(value: &'a glib::Value) -> Self {
268 skip_assert_initialized!();
269 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
270 }
271}
272
273impl ToValue for ByteOrder {
274 #[inline]
275 fn to_value(&self) -> glib::Value {
276 let mut value = glib::Value::for_value_type::<Self>();
277 unsafe {
278 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
279 }
280 value
281 }
282
283 #[inline]
284 fn value_type(&self) -> glib::Type {
285 Self::static_type()
286 }
287}
288
289impl From<ByteOrder> for glib::Value {
290 #[inline]
291 fn from(v: ByteOrder) -> Self {
292 skip_assert_initialized!();
293 ToValue::to_value(&v)
294 }
295}
296
297#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
299#[non_exhaustive]
300#[doc(alias = "GdkCrossingMode")]
301pub enum CrossingMode {
302 #[doc(alias = "GDK_CROSSING_NORMAL")]
304 Normal,
305 #[doc(alias = "GDK_CROSSING_GRAB")]
307 Grab,
308 #[doc(alias = "GDK_CROSSING_UNGRAB")]
310 Ungrab,
311 #[doc(alias = "GDK_CROSSING_GTK_GRAB")]
313 GtkGrab,
314 #[doc(alias = "GDK_CROSSING_GTK_UNGRAB")]
316 GtkUngrab,
317 #[doc(alias = "GDK_CROSSING_STATE_CHANGED")]
320 StateChanged,
321 #[doc(alias = "GDK_CROSSING_TOUCH_BEGIN")]
324 TouchBegin,
325 #[doc(alias = "GDK_CROSSING_TOUCH_END")]
328 TouchEnd,
329 #[doc(alias = "GDK_CROSSING_DEVICE_SWITCH")]
333 DeviceSwitch,
334 #[doc(hidden)]
335 __Unknown(i32),
336}
337
338impl fmt::Display for CrossingMode {
339 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
340 write!(
341 f,
342 "CrossingMode::{}",
343 match *self {
344 Self::Normal => "Normal",
345 Self::Grab => "Grab",
346 Self::Ungrab => "Ungrab",
347 Self::GtkGrab => "GtkGrab",
348 Self::GtkUngrab => "GtkUngrab",
349 Self::StateChanged => "StateChanged",
350 Self::TouchBegin => "TouchBegin",
351 Self::TouchEnd => "TouchEnd",
352 Self::DeviceSwitch => "DeviceSwitch",
353 _ => "Unknown",
354 }
355 )
356 }
357}
358
359#[doc(hidden)]
360impl IntoGlib for CrossingMode {
361 type GlibType = ffi::GdkCrossingMode;
362
363 #[inline]
364 fn into_glib(self) -> ffi::GdkCrossingMode {
365 match self {
366 Self::Normal => ffi::GDK_CROSSING_NORMAL,
367 Self::Grab => ffi::GDK_CROSSING_GRAB,
368 Self::Ungrab => ffi::GDK_CROSSING_UNGRAB,
369 Self::GtkGrab => ffi::GDK_CROSSING_GTK_GRAB,
370 Self::GtkUngrab => ffi::GDK_CROSSING_GTK_UNGRAB,
371 Self::StateChanged => ffi::GDK_CROSSING_STATE_CHANGED,
372 Self::TouchBegin => ffi::GDK_CROSSING_TOUCH_BEGIN,
373 Self::TouchEnd => ffi::GDK_CROSSING_TOUCH_END,
374 Self::DeviceSwitch => ffi::GDK_CROSSING_DEVICE_SWITCH,
375 Self::__Unknown(value) => value,
376 }
377 }
378}
379
380#[doc(hidden)]
381impl FromGlib<ffi::GdkCrossingMode> for CrossingMode {
382 #[inline]
383 unsafe fn from_glib(value: ffi::GdkCrossingMode) -> Self {
384 skip_assert_initialized!();
385
386 match value {
387 ffi::GDK_CROSSING_NORMAL => Self::Normal,
388 ffi::GDK_CROSSING_GRAB => Self::Grab,
389 ffi::GDK_CROSSING_UNGRAB => Self::Ungrab,
390 ffi::GDK_CROSSING_GTK_GRAB => Self::GtkGrab,
391 ffi::GDK_CROSSING_GTK_UNGRAB => Self::GtkUngrab,
392 ffi::GDK_CROSSING_STATE_CHANGED => Self::StateChanged,
393 ffi::GDK_CROSSING_TOUCH_BEGIN => Self::TouchBegin,
394 ffi::GDK_CROSSING_TOUCH_END => Self::TouchEnd,
395 ffi::GDK_CROSSING_DEVICE_SWITCH => Self::DeviceSwitch,
396 value => Self::__Unknown(value),
397 }
398 }
399}
400
401impl StaticType for CrossingMode {
402 #[inline]
403 fn static_type() -> glib::Type {
404 unsafe { from_glib(ffi::gdk_crossing_mode_get_type()) }
405 }
406}
407
408impl glib::HasParamSpec for CrossingMode {
409 type ParamSpec = glib::ParamSpecEnum;
410 type SetValue = Self;
411 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
412
413 fn param_spec_builder() -> Self::BuilderFn {
414 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
415 }
416}
417
418impl glib::value::ValueType for CrossingMode {
419 type Type = Self;
420}
421
422unsafe impl<'a> glib::value::FromValue<'a> for CrossingMode {
423 type Checker = glib::value::GenericValueTypeChecker<Self>;
424
425 #[inline]
426 unsafe fn from_value(value: &'a glib::Value) -> Self {
427 skip_assert_initialized!();
428 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
429 }
430}
431
432impl ToValue for CrossingMode {
433 #[inline]
434 fn to_value(&self) -> glib::Value {
435 let mut value = glib::Value::for_value_type::<Self>();
436 unsafe {
437 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
438 }
439 value
440 }
441
442 #[inline]
443 fn value_type(&self) -> glib::Type {
444 Self::static_type()
445 }
446}
447
448impl From<CrossingMode> for glib::Value {
449 #[inline]
450 fn from(v: CrossingMode) -> Self {
451 skip_assert_initialized!();
452 ToValue::to_value(&v)
453 }
454}
455
456#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
463#[non_exhaustive]
464#[doc(alias = "GdkCursorType")]
465pub enum CursorType {
466 #[doc(alias = "GDK_X_CURSOR")]
468 XCursor,
469 #[doc(alias = "GDK_ARROW")]
471 Arrow,
472 #[doc(alias = "GDK_BASED_ARROW_DOWN")]
474 BasedArrowDown,
475 #[doc(alias = "GDK_BASED_ARROW_UP")]
477 BasedArrowUp,
478 #[doc(alias = "GDK_BOAT")]
480 Boat,
481 #[doc(alias = "GDK_BOGOSITY")]
483 Bogosity,
484 #[doc(alias = "GDK_BOTTOM_LEFT_CORNER")]
486 BottomLeftCorner,
487 #[doc(alias = "GDK_BOTTOM_RIGHT_CORNER")]
489 BottomRightCorner,
490 #[doc(alias = "GDK_BOTTOM_SIDE")]
492 BottomSide,
493 #[doc(alias = "GDK_BOTTOM_TEE")]
495 BottomTee,
496 #[doc(alias = "GDK_BOX_SPIRAL")]
498 BoxSpiral,
499 #[doc(alias = "GDK_CENTER_PTR")]
501 CenterPtr,
502 #[doc(alias = "GDK_CIRCLE")]
504 Circle,
505 #[doc(alias = "GDK_CLOCK")]
507 Clock,
508 #[doc(alias = "GDK_COFFEE_MUG")]
510 CoffeeMug,
511 #[doc(alias = "GDK_CROSS")]
513 Cross,
514 #[doc(alias = "GDK_CROSS_REVERSE")]
516 CrossReverse,
517 #[doc(alias = "GDK_CROSSHAIR")]
519 Crosshair,
520 #[doc(alias = "GDK_DIAMOND_CROSS")]
522 DiamondCross,
523 #[doc(alias = "GDK_DOT")]
525 Dot,
526 #[doc(alias = "GDK_DOTBOX")]
528 Dotbox,
529 #[doc(alias = "GDK_DOUBLE_ARROW")]
531 DoubleArrow,
532 #[doc(alias = "GDK_DRAFT_LARGE")]
534 DraftLarge,
535 #[doc(alias = "GDK_DRAFT_SMALL")]
537 DraftSmall,
538 #[doc(alias = "GDK_DRAPED_BOX")]
540 DrapedBox,
541 #[doc(alias = "GDK_EXCHANGE")]
543 Exchange,
544 #[doc(alias = "GDK_FLEUR")]
546 Fleur,
547 #[doc(alias = "GDK_GOBBLER")]
549 Gobbler,
550 #[doc(alias = "GDK_GUMBY")]
552 Gumby,
553 #[doc(alias = "GDK_HAND1")]
555 Hand1,
556 #[doc(alias = "GDK_HAND2")]
558 Hand2,
559 #[doc(alias = "GDK_HEART")]
561 Heart,
562 #[doc(alias = "GDK_ICON")]
564 Icon,
565 #[doc(alias = "GDK_IRON_CROSS")]
567 IronCross,
568 #[doc(alias = "GDK_LEFT_PTR")]
570 LeftPtr,
571 #[doc(alias = "GDK_LEFT_SIDE")]
573 LeftSide,
574 #[doc(alias = "GDK_LEFT_TEE")]
576 LeftTee,
577 #[doc(alias = "GDK_LEFTBUTTON")]
579 Leftbutton,
580 #[doc(alias = "GDK_LL_ANGLE")]
582 LlAngle,
583 #[doc(alias = "GDK_LR_ANGLE")]
585 LrAngle,
586 #[doc(alias = "GDK_MAN")]
588 Man,
589 #[doc(alias = "GDK_MIDDLEBUTTON")]
591 Middlebutton,
592 #[doc(alias = "GDK_MOUSE")]
594 Mouse,
595 #[doc(alias = "GDK_PENCIL")]
597 Pencil,
598 #[doc(alias = "GDK_PIRATE")]
600 Pirate,
601 #[doc(alias = "GDK_PLUS")]
603 Plus,
604 #[doc(alias = "GDK_QUESTION_ARROW")]
606 QuestionArrow,
607 #[doc(alias = "GDK_RIGHT_PTR")]
609 RightPtr,
610 #[doc(alias = "GDK_RIGHT_SIDE")]
612 RightSide,
613 #[doc(alias = "GDK_RIGHT_TEE")]
615 RightTee,
616 #[doc(alias = "GDK_RIGHTBUTTON")]
618 Rightbutton,
619 #[doc(alias = "GDK_RTL_LOGO")]
621 RtlLogo,
622 #[doc(alias = "GDK_SAILBOAT")]
624 Sailboat,
625 #[doc(alias = "GDK_SB_DOWN_ARROW")]
627 SbDownArrow,
628 #[doc(alias = "GDK_SB_H_DOUBLE_ARROW")]
630 SbHDoubleArrow,
631 #[doc(alias = "GDK_SB_LEFT_ARROW")]
633 SbLeftArrow,
634 #[doc(alias = "GDK_SB_RIGHT_ARROW")]
636 SbRightArrow,
637 #[doc(alias = "GDK_SB_UP_ARROW")]
639 SbUpArrow,
640 #[doc(alias = "GDK_SB_V_DOUBLE_ARROW")]
642 SbVDoubleArrow,
643 #[doc(alias = "GDK_SHUTTLE")]
645 Shuttle,
646 #[doc(alias = "GDK_SIZING")]
648 Sizing,
649 #[doc(alias = "GDK_SPIDER")]
651 Spider,
652 #[doc(alias = "GDK_SPRAYCAN")]
654 Spraycan,
655 #[doc(alias = "GDK_STAR")]
657 Star,
658 #[doc(alias = "GDK_TARGET")]
660 Target,
661 #[doc(alias = "GDK_TCROSS")]
663 Tcross,
664 #[doc(alias = "GDK_TOP_LEFT_ARROW")]
666 TopLeftArrow,
667 #[doc(alias = "GDK_TOP_LEFT_CORNER")]
669 TopLeftCorner,
670 #[doc(alias = "GDK_TOP_RIGHT_CORNER")]
672 TopRightCorner,
673 #[doc(alias = "GDK_TOP_SIDE")]
675 TopSide,
676 #[doc(alias = "GDK_TOP_TEE")]
678 TopTee,
679 #[doc(alias = "GDK_TREK")]
681 Trek,
682 #[doc(alias = "GDK_UL_ANGLE")]
684 UlAngle,
685 #[doc(alias = "GDK_UMBRELLA")]
687 Umbrella,
688 #[doc(alias = "GDK_UR_ANGLE")]
690 UrAngle,
691 #[doc(alias = "GDK_WATCH")]
693 Watch,
694 #[doc(alias = "GDK_XTERM")]
696 Xterm,
697 #[doc(alias = "GDK_LAST_CURSOR")]
699 LastCursor,
700 #[doc(alias = "GDK_BLANK_CURSOR")]
702 BlankCursor,
703 #[doc(alias = "GDK_CURSOR_IS_PIXMAP")]
706 CursorIsPixmap,
707 #[doc(hidden)]
708 __Unknown(i32),
709}
710
711impl fmt::Display for CursorType {
712 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
713 write!(
714 f,
715 "CursorType::{}",
716 match *self {
717 Self::XCursor => "XCursor",
718 Self::Arrow => "Arrow",
719 Self::BasedArrowDown => "BasedArrowDown",
720 Self::BasedArrowUp => "BasedArrowUp",
721 Self::Boat => "Boat",
722 Self::Bogosity => "Bogosity",
723 Self::BottomLeftCorner => "BottomLeftCorner",
724 Self::BottomRightCorner => "BottomRightCorner",
725 Self::BottomSide => "BottomSide",
726 Self::BottomTee => "BottomTee",
727 Self::BoxSpiral => "BoxSpiral",
728 Self::CenterPtr => "CenterPtr",
729 Self::Circle => "Circle",
730 Self::Clock => "Clock",
731 Self::CoffeeMug => "CoffeeMug",
732 Self::Cross => "Cross",
733 Self::CrossReverse => "CrossReverse",
734 Self::Crosshair => "Crosshair",
735 Self::DiamondCross => "DiamondCross",
736 Self::Dot => "Dot",
737 Self::Dotbox => "Dotbox",
738 Self::DoubleArrow => "DoubleArrow",
739 Self::DraftLarge => "DraftLarge",
740 Self::DraftSmall => "DraftSmall",
741 Self::DrapedBox => "DrapedBox",
742 Self::Exchange => "Exchange",
743 Self::Fleur => "Fleur",
744 Self::Gobbler => "Gobbler",
745 Self::Gumby => "Gumby",
746 Self::Hand1 => "Hand1",
747 Self::Hand2 => "Hand2",
748 Self::Heart => "Heart",
749 Self::Icon => "Icon",
750 Self::IronCross => "IronCross",
751 Self::LeftPtr => "LeftPtr",
752 Self::LeftSide => "LeftSide",
753 Self::LeftTee => "LeftTee",
754 Self::Leftbutton => "Leftbutton",
755 Self::LlAngle => "LlAngle",
756 Self::LrAngle => "LrAngle",
757 Self::Man => "Man",
758 Self::Middlebutton => "Middlebutton",
759 Self::Mouse => "Mouse",
760 Self::Pencil => "Pencil",
761 Self::Pirate => "Pirate",
762 Self::Plus => "Plus",
763 Self::QuestionArrow => "QuestionArrow",
764 Self::RightPtr => "RightPtr",
765 Self::RightSide => "RightSide",
766 Self::RightTee => "RightTee",
767 Self::Rightbutton => "Rightbutton",
768 Self::RtlLogo => "RtlLogo",
769 Self::Sailboat => "Sailboat",
770 Self::SbDownArrow => "SbDownArrow",
771 Self::SbHDoubleArrow => "SbHDoubleArrow",
772 Self::SbLeftArrow => "SbLeftArrow",
773 Self::SbRightArrow => "SbRightArrow",
774 Self::SbUpArrow => "SbUpArrow",
775 Self::SbVDoubleArrow => "SbVDoubleArrow",
776 Self::Shuttle => "Shuttle",
777 Self::Sizing => "Sizing",
778 Self::Spider => "Spider",
779 Self::Spraycan => "Spraycan",
780 Self::Star => "Star",
781 Self::Target => "Target",
782 Self::Tcross => "Tcross",
783 Self::TopLeftArrow => "TopLeftArrow",
784 Self::TopLeftCorner => "TopLeftCorner",
785 Self::TopRightCorner => "TopRightCorner",
786 Self::TopSide => "TopSide",
787 Self::TopTee => "TopTee",
788 Self::Trek => "Trek",
789 Self::UlAngle => "UlAngle",
790 Self::Umbrella => "Umbrella",
791 Self::UrAngle => "UrAngle",
792 Self::Watch => "Watch",
793 Self::Xterm => "Xterm",
794 Self::LastCursor => "LastCursor",
795 Self::BlankCursor => "BlankCursor",
796 Self::CursorIsPixmap => "CursorIsPixmap",
797 _ => "Unknown",
798 }
799 )
800 }
801}
802
803#[doc(hidden)]
804impl IntoGlib for CursorType {
805 type GlibType = ffi::GdkCursorType;
806
807 fn into_glib(self) -> ffi::GdkCursorType {
808 match self {
809 Self::XCursor => ffi::GDK_X_CURSOR,
810 Self::Arrow => ffi::GDK_ARROW,
811 Self::BasedArrowDown => ffi::GDK_BASED_ARROW_DOWN,
812 Self::BasedArrowUp => ffi::GDK_BASED_ARROW_UP,
813 Self::Boat => ffi::GDK_BOAT,
814 Self::Bogosity => ffi::GDK_BOGOSITY,
815 Self::BottomLeftCorner => ffi::GDK_BOTTOM_LEFT_CORNER,
816 Self::BottomRightCorner => ffi::GDK_BOTTOM_RIGHT_CORNER,
817 Self::BottomSide => ffi::GDK_BOTTOM_SIDE,
818 Self::BottomTee => ffi::GDK_BOTTOM_TEE,
819 Self::BoxSpiral => ffi::GDK_BOX_SPIRAL,
820 Self::CenterPtr => ffi::GDK_CENTER_PTR,
821 Self::Circle => ffi::GDK_CIRCLE,
822 Self::Clock => ffi::GDK_CLOCK,
823 Self::CoffeeMug => ffi::GDK_COFFEE_MUG,
824 Self::Cross => ffi::GDK_CROSS,
825 Self::CrossReverse => ffi::GDK_CROSS_REVERSE,
826 Self::Crosshair => ffi::GDK_CROSSHAIR,
827 Self::DiamondCross => ffi::GDK_DIAMOND_CROSS,
828 Self::Dot => ffi::GDK_DOT,
829 Self::Dotbox => ffi::GDK_DOTBOX,
830 Self::DoubleArrow => ffi::GDK_DOUBLE_ARROW,
831 Self::DraftLarge => ffi::GDK_DRAFT_LARGE,
832 Self::DraftSmall => ffi::GDK_DRAFT_SMALL,
833 Self::DrapedBox => ffi::GDK_DRAPED_BOX,
834 Self::Exchange => ffi::GDK_EXCHANGE,
835 Self::Fleur => ffi::GDK_FLEUR,
836 Self::Gobbler => ffi::GDK_GOBBLER,
837 Self::Gumby => ffi::GDK_GUMBY,
838 Self::Hand1 => ffi::GDK_HAND1,
839 Self::Hand2 => ffi::GDK_HAND2,
840 Self::Heart => ffi::GDK_HEART,
841 Self::Icon => ffi::GDK_ICON,
842 Self::IronCross => ffi::GDK_IRON_CROSS,
843 Self::LeftPtr => ffi::GDK_LEFT_PTR,
844 Self::LeftSide => ffi::GDK_LEFT_SIDE,
845 Self::LeftTee => ffi::GDK_LEFT_TEE,
846 Self::Leftbutton => ffi::GDK_LEFTBUTTON,
847 Self::LlAngle => ffi::GDK_LL_ANGLE,
848 Self::LrAngle => ffi::GDK_LR_ANGLE,
849 Self::Man => ffi::GDK_MAN,
850 Self::Middlebutton => ffi::GDK_MIDDLEBUTTON,
851 Self::Mouse => ffi::GDK_MOUSE,
852 Self::Pencil => ffi::GDK_PENCIL,
853 Self::Pirate => ffi::GDK_PIRATE,
854 Self::Plus => ffi::GDK_PLUS,
855 Self::QuestionArrow => ffi::GDK_QUESTION_ARROW,
856 Self::RightPtr => ffi::GDK_RIGHT_PTR,
857 Self::RightSide => ffi::GDK_RIGHT_SIDE,
858 Self::RightTee => ffi::GDK_RIGHT_TEE,
859 Self::Rightbutton => ffi::GDK_RIGHTBUTTON,
860 Self::RtlLogo => ffi::GDK_RTL_LOGO,
861 Self::Sailboat => ffi::GDK_SAILBOAT,
862 Self::SbDownArrow => ffi::GDK_SB_DOWN_ARROW,
863 Self::SbHDoubleArrow => ffi::GDK_SB_H_DOUBLE_ARROW,
864 Self::SbLeftArrow => ffi::GDK_SB_LEFT_ARROW,
865 Self::SbRightArrow => ffi::GDK_SB_RIGHT_ARROW,
866 Self::SbUpArrow => ffi::GDK_SB_UP_ARROW,
867 Self::SbVDoubleArrow => ffi::GDK_SB_V_DOUBLE_ARROW,
868 Self::Shuttle => ffi::GDK_SHUTTLE,
869 Self::Sizing => ffi::GDK_SIZING,
870 Self::Spider => ffi::GDK_SPIDER,
871 Self::Spraycan => ffi::GDK_SPRAYCAN,
872 Self::Star => ffi::GDK_STAR,
873 Self::Target => ffi::GDK_TARGET,
874 Self::Tcross => ffi::GDK_TCROSS,
875 Self::TopLeftArrow => ffi::GDK_TOP_LEFT_ARROW,
876 Self::TopLeftCorner => ffi::GDK_TOP_LEFT_CORNER,
877 Self::TopRightCorner => ffi::GDK_TOP_RIGHT_CORNER,
878 Self::TopSide => ffi::GDK_TOP_SIDE,
879 Self::TopTee => ffi::GDK_TOP_TEE,
880 Self::Trek => ffi::GDK_TREK,
881 Self::UlAngle => ffi::GDK_UL_ANGLE,
882 Self::Umbrella => ffi::GDK_UMBRELLA,
883 Self::UrAngle => ffi::GDK_UR_ANGLE,
884 Self::Watch => ffi::GDK_WATCH,
885 Self::Xterm => ffi::GDK_XTERM,
886 Self::LastCursor => ffi::GDK_LAST_CURSOR,
887 Self::BlankCursor => ffi::GDK_BLANK_CURSOR,
888 Self::CursorIsPixmap => ffi::GDK_CURSOR_IS_PIXMAP,
889 Self::__Unknown(value) => value,
890 }
891 }
892}
893
894#[doc(hidden)]
895impl FromGlib<ffi::GdkCursorType> for CursorType {
896 unsafe fn from_glib(value: ffi::GdkCursorType) -> Self {
897 skip_assert_initialized!();
898
899 match value {
900 ffi::GDK_X_CURSOR => Self::XCursor,
901 ffi::GDK_ARROW => Self::Arrow,
902 ffi::GDK_BASED_ARROW_DOWN => Self::BasedArrowDown,
903 ffi::GDK_BASED_ARROW_UP => Self::BasedArrowUp,
904 ffi::GDK_BOAT => Self::Boat,
905 ffi::GDK_BOGOSITY => Self::Bogosity,
906 ffi::GDK_BOTTOM_LEFT_CORNER => Self::BottomLeftCorner,
907 ffi::GDK_BOTTOM_RIGHT_CORNER => Self::BottomRightCorner,
908 ffi::GDK_BOTTOM_SIDE => Self::BottomSide,
909 ffi::GDK_BOTTOM_TEE => Self::BottomTee,
910 ffi::GDK_BOX_SPIRAL => Self::BoxSpiral,
911 ffi::GDK_CENTER_PTR => Self::CenterPtr,
912 ffi::GDK_CIRCLE => Self::Circle,
913 ffi::GDK_CLOCK => Self::Clock,
914 ffi::GDK_COFFEE_MUG => Self::CoffeeMug,
915 ffi::GDK_CROSS => Self::Cross,
916 ffi::GDK_CROSS_REVERSE => Self::CrossReverse,
917 ffi::GDK_CROSSHAIR => Self::Crosshair,
918 ffi::GDK_DIAMOND_CROSS => Self::DiamondCross,
919 ffi::GDK_DOT => Self::Dot,
920 ffi::GDK_DOTBOX => Self::Dotbox,
921 ffi::GDK_DOUBLE_ARROW => Self::DoubleArrow,
922 ffi::GDK_DRAFT_LARGE => Self::DraftLarge,
923 ffi::GDK_DRAFT_SMALL => Self::DraftSmall,
924 ffi::GDK_DRAPED_BOX => Self::DrapedBox,
925 ffi::GDK_EXCHANGE => Self::Exchange,
926 ffi::GDK_FLEUR => Self::Fleur,
927 ffi::GDK_GOBBLER => Self::Gobbler,
928 ffi::GDK_GUMBY => Self::Gumby,
929 ffi::GDK_HAND1 => Self::Hand1,
930 ffi::GDK_HAND2 => Self::Hand2,
931 ffi::GDK_HEART => Self::Heart,
932 ffi::GDK_ICON => Self::Icon,
933 ffi::GDK_IRON_CROSS => Self::IronCross,
934 ffi::GDK_LEFT_PTR => Self::LeftPtr,
935 ffi::GDK_LEFT_SIDE => Self::LeftSide,
936 ffi::GDK_LEFT_TEE => Self::LeftTee,
937 ffi::GDK_LEFTBUTTON => Self::Leftbutton,
938 ffi::GDK_LL_ANGLE => Self::LlAngle,
939 ffi::GDK_LR_ANGLE => Self::LrAngle,
940 ffi::GDK_MAN => Self::Man,
941 ffi::GDK_MIDDLEBUTTON => Self::Middlebutton,
942 ffi::GDK_MOUSE => Self::Mouse,
943 ffi::GDK_PENCIL => Self::Pencil,
944 ffi::GDK_PIRATE => Self::Pirate,
945 ffi::GDK_PLUS => Self::Plus,
946 ffi::GDK_QUESTION_ARROW => Self::QuestionArrow,
947 ffi::GDK_RIGHT_PTR => Self::RightPtr,
948 ffi::GDK_RIGHT_SIDE => Self::RightSide,
949 ffi::GDK_RIGHT_TEE => Self::RightTee,
950 ffi::GDK_RIGHTBUTTON => Self::Rightbutton,
951 ffi::GDK_RTL_LOGO => Self::RtlLogo,
952 ffi::GDK_SAILBOAT => Self::Sailboat,
953 ffi::GDK_SB_DOWN_ARROW => Self::SbDownArrow,
954 ffi::GDK_SB_H_DOUBLE_ARROW => Self::SbHDoubleArrow,
955 ffi::GDK_SB_LEFT_ARROW => Self::SbLeftArrow,
956 ffi::GDK_SB_RIGHT_ARROW => Self::SbRightArrow,
957 ffi::GDK_SB_UP_ARROW => Self::SbUpArrow,
958 ffi::GDK_SB_V_DOUBLE_ARROW => Self::SbVDoubleArrow,
959 ffi::GDK_SHUTTLE => Self::Shuttle,
960 ffi::GDK_SIZING => Self::Sizing,
961 ffi::GDK_SPIDER => Self::Spider,
962 ffi::GDK_SPRAYCAN => Self::Spraycan,
963 ffi::GDK_STAR => Self::Star,
964 ffi::GDK_TARGET => Self::Target,
965 ffi::GDK_TCROSS => Self::Tcross,
966 ffi::GDK_TOP_LEFT_ARROW => Self::TopLeftArrow,
967 ffi::GDK_TOP_LEFT_CORNER => Self::TopLeftCorner,
968 ffi::GDK_TOP_RIGHT_CORNER => Self::TopRightCorner,
969 ffi::GDK_TOP_SIDE => Self::TopSide,
970 ffi::GDK_TOP_TEE => Self::TopTee,
971 ffi::GDK_TREK => Self::Trek,
972 ffi::GDK_UL_ANGLE => Self::UlAngle,
973 ffi::GDK_UMBRELLA => Self::Umbrella,
974 ffi::GDK_UR_ANGLE => Self::UrAngle,
975 ffi::GDK_WATCH => Self::Watch,
976 ffi::GDK_XTERM => Self::Xterm,
977 ffi::GDK_LAST_CURSOR => Self::LastCursor,
978 ffi::GDK_BLANK_CURSOR => Self::BlankCursor,
979 ffi::GDK_CURSOR_IS_PIXMAP => Self::CursorIsPixmap,
980 value => Self::__Unknown(value),
981 }
982 }
983}
984
985impl StaticType for CursorType {
986 #[inline]
987 fn static_type() -> glib::Type {
988 unsafe { from_glib(ffi::gdk_cursor_type_get_type()) }
989 }
990}
991
992impl glib::HasParamSpec for CursorType {
993 type ParamSpec = glib::ParamSpecEnum;
994 type SetValue = Self;
995 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
996
997 fn param_spec_builder() -> Self::BuilderFn {
998 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
999 }
1000}
1001
1002impl glib::value::ValueType for CursorType {
1003 type Type = Self;
1004}
1005
1006unsafe impl<'a> glib::value::FromValue<'a> for CursorType {
1007 type Checker = glib::value::GenericValueTypeChecker<Self>;
1008
1009 #[inline]
1010 unsafe fn from_value(value: &'a glib::Value) -> Self {
1011 skip_assert_initialized!();
1012 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1013 }
1014}
1015
1016impl ToValue for CursorType {
1017 #[inline]
1018 fn to_value(&self) -> glib::Value {
1019 let mut value = glib::Value::for_value_type::<Self>();
1020 unsafe {
1021 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1022 }
1023 value
1024 }
1025
1026 #[inline]
1027 fn value_type(&self) -> glib::Type {
1028 Self::static_type()
1029 }
1030}
1031
1032impl From<CursorType> for glib::Value {
1033 #[inline]
1034 fn from(v: CursorType) -> Self {
1035 skip_assert_initialized!();
1036 ToValue::to_value(&v)
1037 }
1038}
1039
1040#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1042#[non_exhaustive]
1043#[doc(alias = "GdkDevicePadFeature")]
1044pub enum DevicePadFeature {
1045 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_BUTTON")]
1047 Button,
1048 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_RING")]
1050 Ring,
1051 #[doc(alias = "GDK_DEVICE_PAD_FEATURE_STRIP")]
1053 Strip,
1054 #[doc(hidden)]
1055 __Unknown(i32),
1056}
1057
1058impl fmt::Display for DevicePadFeature {
1059 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1060 write!(
1061 f,
1062 "DevicePadFeature::{}",
1063 match *self {
1064 Self::Button => "Button",
1065 Self::Ring => "Ring",
1066 Self::Strip => "Strip",
1067 _ => "Unknown",
1068 }
1069 )
1070 }
1071}
1072
1073#[doc(hidden)]
1074impl IntoGlib for DevicePadFeature {
1075 type GlibType = ffi::GdkDevicePadFeature;
1076
1077 #[inline]
1078 fn into_glib(self) -> ffi::GdkDevicePadFeature {
1079 match self {
1080 Self::Button => ffi::GDK_DEVICE_PAD_FEATURE_BUTTON,
1081 Self::Ring => ffi::GDK_DEVICE_PAD_FEATURE_RING,
1082 Self::Strip => ffi::GDK_DEVICE_PAD_FEATURE_STRIP,
1083 Self::__Unknown(value) => value,
1084 }
1085 }
1086}
1087
1088#[doc(hidden)]
1089impl FromGlib<ffi::GdkDevicePadFeature> for DevicePadFeature {
1090 #[inline]
1091 unsafe fn from_glib(value: ffi::GdkDevicePadFeature) -> Self {
1092 skip_assert_initialized!();
1093
1094 match value {
1095 ffi::GDK_DEVICE_PAD_FEATURE_BUTTON => Self::Button,
1096 ffi::GDK_DEVICE_PAD_FEATURE_RING => Self::Ring,
1097 ffi::GDK_DEVICE_PAD_FEATURE_STRIP => Self::Strip,
1098 value => Self::__Unknown(value),
1099 }
1100 }
1101}
1102
1103impl StaticType for DevicePadFeature {
1104 #[inline]
1105 fn static_type() -> glib::Type {
1106 unsafe { from_glib(ffi::gdk_device_pad_feature_get_type()) }
1107 }
1108}
1109
1110impl glib::HasParamSpec for DevicePadFeature {
1111 type ParamSpec = glib::ParamSpecEnum;
1112 type SetValue = Self;
1113 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1114
1115 fn param_spec_builder() -> Self::BuilderFn {
1116 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
1117 }
1118}
1119
1120impl glib::value::ValueType for DevicePadFeature {
1121 type Type = Self;
1122}
1123
1124unsafe impl<'a> glib::value::FromValue<'a> for DevicePadFeature {
1125 type Checker = glib::value::GenericValueTypeChecker<Self>;
1126
1127 #[inline]
1128 unsafe fn from_value(value: &'a glib::Value) -> Self {
1129 skip_assert_initialized!();
1130 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1131 }
1132}
1133
1134impl ToValue for DevicePadFeature {
1135 #[inline]
1136 fn to_value(&self) -> glib::Value {
1137 let mut value = glib::Value::for_value_type::<Self>();
1138 unsafe {
1139 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1140 }
1141 value
1142 }
1143
1144 #[inline]
1145 fn value_type(&self) -> glib::Type {
1146 Self::static_type()
1147 }
1148}
1149
1150impl From<DevicePadFeature> for glib::Value {
1151 #[inline]
1152 fn from(v: DevicePadFeature) -> Self {
1153 skip_assert_initialized!();
1154 ToValue::to_value(&v)
1155 }
1156}
1157
1158#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1161#[non_exhaustive]
1162#[doc(alias = "GdkDeviceToolType")]
1163pub enum DeviceToolType {
1164 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_UNKNOWN")]
1166 Unknown,
1167 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_PEN")]
1169 Pen,
1170 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_ERASER")]
1172 Eraser,
1173 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_BRUSH")]
1175 Brush,
1176 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_PENCIL")]
1178 Pencil,
1179 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_AIRBRUSH")]
1181 Airbrush,
1182 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_MOUSE")]
1184 Mouse,
1185 #[doc(alias = "GDK_DEVICE_TOOL_TYPE_LENS")]
1187 Lens,
1188 #[doc(hidden)]
1189 __Unknown(i32),
1190}
1191
1192impl fmt::Display for DeviceToolType {
1193 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1194 write!(
1195 f,
1196 "DeviceToolType::{}",
1197 match *self {
1198 Self::Unknown => "Unknown",
1199 Self::Pen => "Pen",
1200 Self::Eraser => "Eraser",
1201 Self::Brush => "Brush",
1202 Self::Pencil => "Pencil",
1203 Self::Airbrush => "Airbrush",
1204 Self::Mouse => "Mouse",
1205 Self::Lens => "Lens",
1206 _ => "Unknown",
1207 }
1208 )
1209 }
1210}
1211
1212#[doc(hidden)]
1213impl IntoGlib for DeviceToolType {
1214 type GlibType = ffi::GdkDeviceToolType;
1215
1216 #[inline]
1217 fn into_glib(self) -> ffi::GdkDeviceToolType {
1218 match self {
1219 Self::Unknown => ffi::GDK_DEVICE_TOOL_TYPE_UNKNOWN,
1220 Self::Pen => ffi::GDK_DEVICE_TOOL_TYPE_PEN,
1221 Self::Eraser => ffi::GDK_DEVICE_TOOL_TYPE_ERASER,
1222 Self::Brush => ffi::GDK_DEVICE_TOOL_TYPE_BRUSH,
1223 Self::Pencil => ffi::GDK_DEVICE_TOOL_TYPE_PENCIL,
1224 Self::Airbrush => ffi::GDK_DEVICE_TOOL_TYPE_AIRBRUSH,
1225 Self::Mouse => ffi::GDK_DEVICE_TOOL_TYPE_MOUSE,
1226 Self::Lens => ffi::GDK_DEVICE_TOOL_TYPE_LENS,
1227 Self::__Unknown(value) => value,
1228 }
1229 }
1230}
1231
1232#[doc(hidden)]
1233impl FromGlib<ffi::GdkDeviceToolType> for DeviceToolType {
1234 #[inline]
1235 unsafe fn from_glib(value: ffi::GdkDeviceToolType) -> Self {
1236 skip_assert_initialized!();
1237
1238 match value {
1239 ffi::GDK_DEVICE_TOOL_TYPE_UNKNOWN => Self::Unknown,
1240 ffi::GDK_DEVICE_TOOL_TYPE_PEN => Self::Pen,
1241 ffi::GDK_DEVICE_TOOL_TYPE_ERASER => Self::Eraser,
1242 ffi::GDK_DEVICE_TOOL_TYPE_BRUSH => Self::Brush,
1243 ffi::GDK_DEVICE_TOOL_TYPE_PENCIL => Self::Pencil,
1244 ffi::GDK_DEVICE_TOOL_TYPE_AIRBRUSH => Self::Airbrush,
1245 ffi::GDK_DEVICE_TOOL_TYPE_MOUSE => Self::Mouse,
1246 ffi::GDK_DEVICE_TOOL_TYPE_LENS => Self::Lens,
1247 value => Self::__Unknown(value),
1248 }
1249 }
1250}
1251
1252impl StaticType for DeviceToolType {
1253 #[inline]
1254 fn static_type() -> glib::Type {
1255 unsafe { from_glib(ffi::gdk_device_tool_type_get_type()) }
1256 }
1257}
1258
1259impl glib::HasParamSpec for DeviceToolType {
1260 type ParamSpec = glib::ParamSpecEnum;
1261 type SetValue = Self;
1262 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1263
1264 fn param_spec_builder() -> Self::BuilderFn {
1265 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
1266 }
1267}
1268
1269impl glib::value::ValueType for DeviceToolType {
1270 type Type = Self;
1271}
1272
1273unsafe impl<'a> glib::value::FromValue<'a> for DeviceToolType {
1274 type Checker = glib::value::GenericValueTypeChecker<Self>;
1275
1276 #[inline]
1277 unsafe fn from_value(value: &'a glib::Value) -> Self {
1278 skip_assert_initialized!();
1279 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1280 }
1281}
1282
1283impl ToValue for DeviceToolType {
1284 #[inline]
1285 fn to_value(&self) -> glib::Value {
1286 let mut value = glib::Value::for_value_type::<Self>();
1287 unsafe {
1288 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1289 }
1290 value
1291 }
1292
1293 #[inline]
1294 fn value_type(&self) -> glib::Type {
1295 Self::static_type()
1296 }
1297}
1298
1299impl From<DeviceToolType> for glib::Value {
1300 #[inline]
1301 fn from(v: DeviceToolType) -> Self {
1302 skip_assert_initialized!();
1303 ToValue::to_value(&v)
1304 }
1305}
1306
1307#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1310#[non_exhaustive]
1311#[doc(alias = "GdkDeviceType")]
1312pub enum DeviceType {
1313 #[doc(alias = "GDK_DEVICE_TYPE_MASTER")]
1316 Master,
1317 #[doc(alias = "GDK_DEVICE_TYPE_SLAVE")]
1319 Slave,
1320 #[doc(alias = "GDK_DEVICE_TYPE_FLOATING")]
1323 Floating,
1324 #[doc(hidden)]
1325 __Unknown(i32),
1326}
1327
1328impl fmt::Display for DeviceType {
1329 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1330 write!(
1331 f,
1332 "DeviceType::{}",
1333 match *self {
1334 Self::Master => "Master",
1335 Self::Slave => "Slave",
1336 Self::Floating => "Floating",
1337 _ => "Unknown",
1338 }
1339 )
1340 }
1341}
1342
1343#[doc(hidden)]
1344impl IntoGlib for DeviceType {
1345 type GlibType = ffi::GdkDeviceType;
1346
1347 #[inline]
1348 fn into_glib(self) -> ffi::GdkDeviceType {
1349 match self {
1350 Self::Master => ffi::GDK_DEVICE_TYPE_MASTER,
1351 Self::Slave => ffi::GDK_DEVICE_TYPE_SLAVE,
1352 Self::Floating => ffi::GDK_DEVICE_TYPE_FLOATING,
1353 Self::__Unknown(value) => value,
1354 }
1355 }
1356}
1357
1358#[doc(hidden)]
1359impl FromGlib<ffi::GdkDeviceType> for DeviceType {
1360 #[inline]
1361 unsafe fn from_glib(value: ffi::GdkDeviceType) -> Self {
1362 skip_assert_initialized!();
1363
1364 match value {
1365 ffi::GDK_DEVICE_TYPE_MASTER => Self::Master,
1366 ffi::GDK_DEVICE_TYPE_SLAVE => Self::Slave,
1367 ffi::GDK_DEVICE_TYPE_FLOATING => Self::Floating,
1368 value => Self::__Unknown(value),
1369 }
1370 }
1371}
1372
1373impl StaticType for DeviceType {
1374 #[inline]
1375 fn static_type() -> glib::Type {
1376 unsafe { from_glib(ffi::gdk_device_type_get_type()) }
1377 }
1378}
1379
1380impl glib::HasParamSpec for DeviceType {
1381 type ParamSpec = glib::ParamSpecEnum;
1382 type SetValue = Self;
1383 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1384
1385 fn param_spec_builder() -> Self::BuilderFn {
1386 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
1387 }
1388}
1389
1390impl glib::value::ValueType for DeviceType {
1391 type Type = Self;
1392}
1393
1394unsafe impl<'a> glib::value::FromValue<'a> for DeviceType {
1395 type Checker = glib::value::GenericValueTypeChecker<Self>;
1396
1397 #[inline]
1398 unsafe fn from_value(value: &'a glib::Value) -> Self {
1399 skip_assert_initialized!();
1400 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1401 }
1402}
1403
1404impl ToValue for DeviceType {
1405 #[inline]
1406 fn to_value(&self) -> glib::Value {
1407 let mut value = glib::Value::for_value_type::<Self>();
1408 unsafe {
1409 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1410 }
1411 value
1412 }
1413
1414 #[inline]
1415 fn value_type(&self) -> glib::Type {
1416 Self::static_type()
1417 }
1418}
1419
1420impl From<DeviceType> for glib::Value {
1421 #[inline]
1422 fn from(v: DeviceType) -> Self {
1423 skip_assert_initialized!();
1424 ToValue::to_value(&v)
1425 }
1426}
1427
1428#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1430#[non_exhaustive]
1431#[doc(alias = "GdkDragCancelReason")]
1432pub enum DragCancelReason {
1433 #[doc(alias = "GDK_DRAG_CANCEL_NO_TARGET")]
1435 NoTarget,
1436 #[doc(alias = "GDK_DRAG_CANCEL_USER_CANCELLED")]
1438 UserCancelled,
1439 #[doc(alias = "GDK_DRAG_CANCEL_ERROR")]
1441 Error,
1442 #[doc(hidden)]
1443 __Unknown(i32),
1444}
1445
1446impl fmt::Display for DragCancelReason {
1447 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1448 write!(
1449 f,
1450 "DragCancelReason::{}",
1451 match *self {
1452 Self::NoTarget => "NoTarget",
1453 Self::UserCancelled => "UserCancelled",
1454 Self::Error => "Error",
1455 _ => "Unknown",
1456 }
1457 )
1458 }
1459}
1460
1461#[doc(hidden)]
1462impl IntoGlib for DragCancelReason {
1463 type GlibType = ffi::GdkDragCancelReason;
1464
1465 #[inline]
1466 fn into_glib(self) -> ffi::GdkDragCancelReason {
1467 match self {
1468 Self::NoTarget => ffi::GDK_DRAG_CANCEL_NO_TARGET,
1469 Self::UserCancelled => ffi::GDK_DRAG_CANCEL_USER_CANCELLED,
1470 Self::Error => ffi::GDK_DRAG_CANCEL_ERROR,
1471 Self::__Unknown(value) => value,
1472 }
1473 }
1474}
1475
1476#[doc(hidden)]
1477impl FromGlib<ffi::GdkDragCancelReason> for DragCancelReason {
1478 #[inline]
1479 unsafe fn from_glib(value: ffi::GdkDragCancelReason) -> Self {
1480 skip_assert_initialized!();
1481
1482 match value {
1483 ffi::GDK_DRAG_CANCEL_NO_TARGET => Self::NoTarget,
1484 ffi::GDK_DRAG_CANCEL_USER_CANCELLED => Self::UserCancelled,
1485 ffi::GDK_DRAG_CANCEL_ERROR => Self::Error,
1486 value => Self::__Unknown(value),
1487 }
1488 }
1489}
1490
1491impl StaticType for DragCancelReason {
1492 #[inline]
1493 fn static_type() -> glib::Type {
1494 unsafe { from_glib(ffi::gdk_drag_cancel_reason_get_type()) }
1495 }
1496}
1497
1498impl glib::HasParamSpec for DragCancelReason {
1499 type ParamSpec = glib::ParamSpecEnum;
1500 type SetValue = Self;
1501 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1502
1503 fn param_spec_builder() -> Self::BuilderFn {
1504 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
1505 }
1506}
1507
1508impl glib::value::ValueType for DragCancelReason {
1509 type Type = Self;
1510}
1511
1512unsafe impl<'a> glib::value::FromValue<'a> for DragCancelReason {
1513 type Checker = glib::value::GenericValueTypeChecker<Self>;
1514
1515 #[inline]
1516 unsafe fn from_value(value: &'a glib::Value) -> Self {
1517 skip_assert_initialized!();
1518 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1519 }
1520}
1521
1522impl ToValue for DragCancelReason {
1523 #[inline]
1524 fn to_value(&self) -> glib::Value {
1525 let mut value = glib::Value::for_value_type::<Self>();
1526 unsafe {
1527 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1528 }
1529 value
1530 }
1531
1532 #[inline]
1533 fn value_type(&self) -> glib::Type {
1534 Self::static_type()
1535 }
1536}
1537
1538impl From<DragCancelReason> for glib::Value {
1539 #[inline]
1540 fn from(v: DragCancelReason) -> Self {
1541 skip_assert_initialized!();
1542 ToValue::to_value(&v)
1543 }
1544}
1545
1546#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1549#[non_exhaustive]
1550#[doc(alias = "GdkDragProtocol")]
1551pub enum DragProtocol {
1552 #[doc(alias = "GDK_DRAG_PROTO_NONE")]
1554 None,
1555 #[doc(alias = "GDK_DRAG_PROTO_MOTIF")]
1557 Motif,
1558 #[doc(alias = "GDK_DRAG_PROTO_XDND")]
1560 Xdnd,
1561 #[doc(alias = "GDK_DRAG_PROTO_ROOTWIN")]
1564 Rootwin,
1565 #[doc(alias = "GDK_DRAG_PROTO_WIN32_DROPFILES")]
1567 Win32Dropfiles,
1568 #[doc(alias = "GDK_DRAG_PROTO_OLE2")]
1570 Ole2,
1571 #[doc(alias = "GDK_DRAG_PROTO_LOCAL")]
1573 Local,
1574 #[doc(alias = "GDK_DRAG_PROTO_WAYLAND")]
1576 Wayland,
1577 #[doc(hidden)]
1578 __Unknown(i32),
1579}
1580
1581impl fmt::Display for DragProtocol {
1582 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1583 write!(
1584 f,
1585 "DragProtocol::{}",
1586 match *self {
1587 Self::None => "None",
1588 Self::Motif => "Motif",
1589 Self::Xdnd => "Xdnd",
1590 Self::Rootwin => "Rootwin",
1591 Self::Win32Dropfiles => "Win32Dropfiles",
1592 Self::Ole2 => "Ole2",
1593 Self::Local => "Local",
1594 Self::Wayland => "Wayland",
1595 _ => "Unknown",
1596 }
1597 )
1598 }
1599}
1600
1601#[doc(hidden)]
1602impl IntoGlib for DragProtocol {
1603 type GlibType = ffi::GdkDragProtocol;
1604
1605 #[inline]
1606 fn into_glib(self) -> ffi::GdkDragProtocol {
1607 match self {
1608 Self::None => ffi::GDK_DRAG_PROTO_NONE,
1609 Self::Motif => ffi::GDK_DRAG_PROTO_MOTIF,
1610 Self::Xdnd => ffi::GDK_DRAG_PROTO_XDND,
1611 Self::Rootwin => ffi::GDK_DRAG_PROTO_ROOTWIN,
1612 Self::Win32Dropfiles => ffi::GDK_DRAG_PROTO_WIN32_DROPFILES,
1613 Self::Ole2 => ffi::GDK_DRAG_PROTO_OLE2,
1614 Self::Local => ffi::GDK_DRAG_PROTO_LOCAL,
1615 Self::Wayland => ffi::GDK_DRAG_PROTO_WAYLAND,
1616 Self::__Unknown(value) => value,
1617 }
1618 }
1619}
1620
1621#[doc(hidden)]
1622impl FromGlib<ffi::GdkDragProtocol> for DragProtocol {
1623 #[inline]
1624 unsafe fn from_glib(value: ffi::GdkDragProtocol) -> Self {
1625 skip_assert_initialized!();
1626
1627 match value {
1628 ffi::GDK_DRAG_PROTO_NONE => Self::None,
1629 ffi::GDK_DRAG_PROTO_MOTIF => Self::Motif,
1630 ffi::GDK_DRAG_PROTO_XDND => Self::Xdnd,
1631 ffi::GDK_DRAG_PROTO_ROOTWIN => Self::Rootwin,
1632 ffi::GDK_DRAG_PROTO_WIN32_DROPFILES => Self::Win32Dropfiles,
1633 ffi::GDK_DRAG_PROTO_OLE2 => Self::Ole2,
1634 ffi::GDK_DRAG_PROTO_LOCAL => Self::Local,
1635 ffi::GDK_DRAG_PROTO_WAYLAND => Self::Wayland,
1636 value => Self::__Unknown(value),
1637 }
1638 }
1639}
1640
1641impl StaticType for DragProtocol {
1642 #[inline]
1643 fn static_type() -> glib::Type {
1644 unsafe { from_glib(ffi::gdk_drag_protocol_get_type()) }
1645 }
1646}
1647
1648impl glib::HasParamSpec for DragProtocol {
1649 type ParamSpec = glib::ParamSpecEnum;
1650 type SetValue = Self;
1651 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1652
1653 fn param_spec_builder() -> Self::BuilderFn {
1654 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
1655 }
1656}
1657
1658impl glib::value::ValueType for DragProtocol {
1659 type Type = Self;
1660}
1661
1662unsafe impl<'a> glib::value::FromValue<'a> for DragProtocol {
1663 type Checker = glib::value::GenericValueTypeChecker<Self>;
1664
1665 #[inline]
1666 unsafe fn from_value(value: &'a glib::Value) -> Self {
1667 skip_assert_initialized!();
1668 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1669 }
1670}
1671
1672impl ToValue for DragProtocol {
1673 #[inline]
1674 fn to_value(&self) -> glib::Value {
1675 let mut value = glib::Value::for_value_type::<Self>();
1676 unsafe {
1677 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1678 }
1679 value
1680 }
1681
1682 #[inline]
1683 fn value_type(&self) -> glib::Type {
1684 Self::static_type()
1685 }
1686}
1687
1688impl From<DragProtocol> for glib::Value {
1689 #[inline]
1690 fn from(v: DragProtocol) -> Self {
1691 skip_assert_initialized!();
1692 ToValue::to_value(&v)
1693 }
1694}
1695
1696#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1709#[non_exhaustive]
1710#[doc(alias = "GdkEventType")]
1711pub enum EventType {
1712 #[doc(alias = "GDK_NOTHING")]
1714 Nothing,
1715 #[doc(alias = "GDK_DELETE")]
1719 Delete,
1720 #[doc(alias = "GDK_DESTROY")]
1722 Destroy,
1723 #[doc(alias = "GDK_EXPOSE")]
1726 Expose,
1727 #[doc(alias = "GDK_MOTION_NOTIFY")]
1729 MotionNotify,
1730 #[doc(alias = "GDK_BUTTON_PRESS")]
1732 ButtonPress,
1733 #[doc(alias = "GDK_DOUBLE_BUTTON_PRESS")]
1735 DoubleButtonPress,
1736 #[doc(alias = "GDK_TRIPLE_BUTTON_PRESS")]
1738 TripleButtonPress,
1739 #[doc(alias = "GDK_BUTTON_RELEASE")]
1741 ButtonRelease,
1742 #[doc(alias = "GDK_KEY_PRESS")]
1744 KeyPress,
1745 #[doc(alias = "GDK_KEY_RELEASE")]
1747 KeyRelease,
1748 #[doc(alias = "GDK_ENTER_NOTIFY")]
1750 EnterNotify,
1751 #[doc(alias = "GDK_LEAVE_NOTIFY")]
1753 LeaveNotify,
1754 #[doc(alias = "GDK_FOCUS_CHANGE")]
1756 FocusChange,
1757 #[doc(alias = "GDK_CONFIGURE")]
1760 Configure,
1761 #[doc(alias = "GDK_MAP")]
1763 Map,
1764 #[doc(alias = "GDK_UNMAP")]
1766 Unmap,
1767 #[doc(alias = "GDK_PROPERTY_NOTIFY")]
1769 PropertyNotify,
1770 #[doc(alias = "GDK_SELECTION_CLEAR")]
1772 SelectionClear,
1773 #[doc(alias = "GDK_SELECTION_REQUEST")]
1775 SelectionRequest,
1776 #[doc(alias = "GDK_SELECTION_NOTIFY")]
1778 SelectionNotify,
1779 #[doc(alias = "GDK_PROXIMITY_IN")]
1782 ProximityIn,
1783 #[doc(alias = "GDK_PROXIMITY_OUT")]
1786 ProximityOut,
1787 #[doc(alias = "GDK_DRAG_ENTER")]
1789 DragEnter,
1790 #[doc(alias = "GDK_DRAG_LEAVE")]
1792 DragLeave,
1793 #[doc(alias = "GDK_DRAG_MOTION")]
1796 DragMotion,
1797 #[doc(alias = "GDK_DRAG_STATUS")]
1800 DragStatus,
1801 #[doc(alias = "GDK_DROP_START")]
1803 DropStart,
1804 #[doc(alias = "GDK_DROP_FINISHED")]
1806 DropFinished,
1807 #[doc(alias = "GDK_CLIENT_EVENT")]
1809 ClientEvent,
1810 #[doc(alias = "GDK_VISIBILITY_NOTIFY")]
1812 VisibilityNotify,
1813 #[doc(alias = "GDK_SCROLL")]
1815 Scroll,
1816 #[doc(alias = "GDK_WINDOW_STATE")]
1819 WindowState,
1820 #[doc(alias = "GDK_SETTING")]
1822 Setting,
1823 #[doc(alias = "GDK_OWNER_CHANGE")]
1826 OwnerChange,
1827 #[doc(alias = "GDK_GRAB_BROKEN")]
1830 GrabBroken,
1831 #[doc(alias = "GDK_DAMAGE")]
1834 Damage,
1835 #[doc(alias = "GDK_TOUCH_BEGIN")]
1838 TouchBegin,
1839 #[doc(alias = "GDK_TOUCH_UPDATE")]
1842 TouchUpdate,
1843 #[doc(alias = "GDK_TOUCH_END")]
1846 TouchEnd,
1847 #[doc(alias = "GDK_TOUCH_CANCEL")]
1850 TouchCancel,
1851 #[doc(alias = "GDK_TOUCHPAD_SWIPE")]
1854 TouchpadSwipe,
1855 #[doc(alias = "GDK_TOUCHPAD_PINCH")]
1858 TouchpadPinch,
1859 #[doc(alias = "GDK_PAD_BUTTON_PRESS")]
1862 PadButtonPress,
1863 #[doc(alias = "GDK_PAD_BUTTON_RELEASE")]
1866 PadButtonRelease,
1867 #[doc(alias = "GDK_PAD_RING")]
1870 PadRing,
1871 #[doc(alias = "GDK_PAD_STRIP")]
1874 PadStrip,
1875 #[doc(alias = "GDK_PAD_GROUP_MODE")]
1878 PadGroupMode,
1879 #[doc(hidden)]
1880 __Unknown(i32),
1881}
1882
1883impl fmt::Display for EventType {
1884 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1885 write!(
1886 f,
1887 "EventType::{}",
1888 match *self {
1889 Self::Nothing => "Nothing",
1890 Self::Delete => "Delete",
1891 Self::Destroy => "Destroy",
1892 Self::Expose => "Expose",
1893 Self::MotionNotify => "MotionNotify",
1894 Self::ButtonPress => "ButtonPress",
1895 Self::DoubleButtonPress => "DoubleButtonPress",
1896 Self::TripleButtonPress => "TripleButtonPress",
1897 Self::ButtonRelease => "ButtonRelease",
1898 Self::KeyPress => "KeyPress",
1899 Self::KeyRelease => "KeyRelease",
1900 Self::EnterNotify => "EnterNotify",
1901 Self::LeaveNotify => "LeaveNotify",
1902 Self::FocusChange => "FocusChange",
1903 Self::Configure => "Configure",
1904 Self::Map => "Map",
1905 Self::Unmap => "Unmap",
1906 Self::PropertyNotify => "PropertyNotify",
1907 Self::SelectionClear => "SelectionClear",
1908 Self::SelectionRequest => "SelectionRequest",
1909 Self::SelectionNotify => "SelectionNotify",
1910 Self::ProximityIn => "ProximityIn",
1911 Self::ProximityOut => "ProximityOut",
1912 Self::DragEnter => "DragEnter",
1913 Self::DragLeave => "DragLeave",
1914 Self::DragMotion => "DragMotion",
1915 Self::DragStatus => "DragStatus",
1916 Self::DropStart => "DropStart",
1917 Self::DropFinished => "DropFinished",
1918 Self::ClientEvent => "ClientEvent",
1919 Self::VisibilityNotify => "VisibilityNotify",
1920 Self::Scroll => "Scroll",
1921 Self::WindowState => "WindowState",
1922 Self::Setting => "Setting",
1923 Self::OwnerChange => "OwnerChange",
1924 Self::GrabBroken => "GrabBroken",
1925 Self::Damage => "Damage",
1926 Self::TouchBegin => "TouchBegin",
1927 Self::TouchUpdate => "TouchUpdate",
1928 Self::TouchEnd => "TouchEnd",
1929 Self::TouchCancel => "TouchCancel",
1930 Self::TouchpadSwipe => "TouchpadSwipe",
1931 Self::TouchpadPinch => "TouchpadPinch",
1932 Self::PadButtonPress => "PadButtonPress",
1933 Self::PadButtonRelease => "PadButtonRelease",
1934 Self::PadRing => "PadRing",
1935 Self::PadStrip => "PadStrip",
1936 Self::PadGroupMode => "PadGroupMode",
1937 _ => "Unknown",
1938 }
1939 )
1940 }
1941}
1942
1943#[doc(hidden)]
1944impl IntoGlib for EventType {
1945 type GlibType = ffi::GdkEventType;
1946
1947 fn into_glib(self) -> ffi::GdkEventType {
1948 match self {
1949 Self::Nothing => ffi::GDK_NOTHING,
1950 Self::Delete => ffi::GDK_DELETE,
1951 Self::Destroy => ffi::GDK_DESTROY,
1952 Self::Expose => ffi::GDK_EXPOSE,
1953 Self::MotionNotify => ffi::GDK_MOTION_NOTIFY,
1954 Self::ButtonPress => ffi::GDK_BUTTON_PRESS,
1955 Self::DoubleButtonPress => ffi::GDK_DOUBLE_BUTTON_PRESS,
1956 Self::TripleButtonPress => ffi::GDK_TRIPLE_BUTTON_PRESS,
1957 Self::ButtonRelease => ffi::GDK_BUTTON_RELEASE,
1958 Self::KeyPress => ffi::GDK_KEY_PRESS,
1959 Self::KeyRelease => ffi::GDK_KEY_RELEASE,
1960 Self::EnterNotify => ffi::GDK_ENTER_NOTIFY,
1961 Self::LeaveNotify => ffi::GDK_LEAVE_NOTIFY,
1962 Self::FocusChange => ffi::GDK_FOCUS_CHANGE,
1963 Self::Configure => ffi::GDK_CONFIGURE,
1964 Self::Map => ffi::GDK_MAP,
1965 Self::Unmap => ffi::GDK_UNMAP,
1966 Self::PropertyNotify => ffi::GDK_PROPERTY_NOTIFY,
1967 Self::SelectionClear => ffi::GDK_SELECTION_CLEAR,
1968 Self::SelectionRequest => ffi::GDK_SELECTION_REQUEST,
1969 Self::SelectionNotify => ffi::GDK_SELECTION_NOTIFY,
1970 Self::ProximityIn => ffi::GDK_PROXIMITY_IN,
1971 Self::ProximityOut => ffi::GDK_PROXIMITY_OUT,
1972 Self::DragEnter => ffi::GDK_DRAG_ENTER,
1973 Self::DragLeave => ffi::GDK_DRAG_LEAVE,
1974 Self::DragMotion => ffi::GDK_DRAG_MOTION,
1975 Self::DragStatus => ffi::GDK_DRAG_STATUS,
1976 Self::DropStart => ffi::GDK_DROP_START,
1977 Self::DropFinished => ffi::GDK_DROP_FINISHED,
1978 Self::ClientEvent => ffi::GDK_CLIENT_EVENT,
1979 Self::VisibilityNotify => ffi::GDK_VISIBILITY_NOTIFY,
1980 Self::Scroll => ffi::GDK_SCROLL,
1981 Self::WindowState => ffi::GDK_WINDOW_STATE,
1982 Self::Setting => ffi::GDK_SETTING,
1983 Self::OwnerChange => ffi::GDK_OWNER_CHANGE,
1984 Self::GrabBroken => ffi::GDK_GRAB_BROKEN,
1985 Self::Damage => ffi::GDK_DAMAGE,
1986 Self::TouchBegin => ffi::GDK_TOUCH_BEGIN,
1987 Self::TouchUpdate => ffi::GDK_TOUCH_UPDATE,
1988 Self::TouchEnd => ffi::GDK_TOUCH_END,
1989 Self::TouchCancel => ffi::GDK_TOUCH_CANCEL,
1990 Self::TouchpadSwipe => ffi::GDK_TOUCHPAD_SWIPE,
1991 Self::TouchpadPinch => ffi::GDK_TOUCHPAD_PINCH,
1992 Self::PadButtonPress => ffi::GDK_PAD_BUTTON_PRESS,
1993 Self::PadButtonRelease => ffi::GDK_PAD_BUTTON_RELEASE,
1994 Self::PadRing => ffi::GDK_PAD_RING,
1995 Self::PadStrip => ffi::GDK_PAD_STRIP,
1996 Self::PadGroupMode => ffi::GDK_PAD_GROUP_MODE,
1997 Self::__Unknown(value) => value,
1998 }
1999 }
2000}
2001
2002#[doc(hidden)]
2003impl FromGlib<ffi::GdkEventType> for EventType {
2004 unsafe fn from_glib(value: ffi::GdkEventType) -> Self {
2005 skip_assert_initialized!();
2006
2007 match value {
2008 ffi::GDK_NOTHING => Self::Nothing,
2009 ffi::GDK_DELETE => Self::Delete,
2010 ffi::GDK_DESTROY => Self::Destroy,
2011 ffi::GDK_EXPOSE => Self::Expose,
2012 ffi::GDK_MOTION_NOTIFY => Self::MotionNotify,
2013 ffi::GDK_BUTTON_PRESS => Self::ButtonPress,
2014 ffi::GDK_DOUBLE_BUTTON_PRESS => Self::DoubleButtonPress,
2015 ffi::GDK_TRIPLE_BUTTON_PRESS => Self::TripleButtonPress,
2016 ffi::GDK_BUTTON_RELEASE => Self::ButtonRelease,
2017 ffi::GDK_KEY_PRESS => Self::KeyPress,
2018 ffi::GDK_KEY_RELEASE => Self::KeyRelease,
2019 ffi::GDK_ENTER_NOTIFY => Self::EnterNotify,
2020 ffi::GDK_LEAVE_NOTIFY => Self::LeaveNotify,
2021 ffi::GDK_FOCUS_CHANGE => Self::FocusChange,
2022 ffi::GDK_CONFIGURE => Self::Configure,
2023 ffi::GDK_MAP => Self::Map,
2024 ffi::GDK_UNMAP => Self::Unmap,
2025 ffi::GDK_PROPERTY_NOTIFY => Self::PropertyNotify,
2026 ffi::GDK_SELECTION_CLEAR => Self::SelectionClear,
2027 ffi::GDK_SELECTION_REQUEST => Self::SelectionRequest,
2028 ffi::GDK_SELECTION_NOTIFY => Self::SelectionNotify,
2029 ffi::GDK_PROXIMITY_IN => Self::ProximityIn,
2030 ffi::GDK_PROXIMITY_OUT => Self::ProximityOut,
2031 ffi::GDK_DRAG_ENTER => Self::DragEnter,
2032 ffi::GDK_DRAG_LEAVE => Self::DragLeave,
2033 ffi::GDK_DRAG_MOTION => Self::DragMotion,
2034 ffi::GDK_DRAG_STATUS => Self::DragStatus,
2035 ffi::GDK_DROP_START => Self::DropStart,
2036 ffi::GDK_DROP_FINISHED => Self::DropFinished,
2037 ffi::GDK_CLIENT_EVENT => Self::ClientEvent,
2038 ffi::GDK_VISIBILITY_NOTIFY => Self::VisibilityNotify,
2039 ffi::GDK_SCROLL => Self::Scroll,
2040 ffi::GDK_WINDOW_STATE => Self::WindowState,
2041 ffi::GDK_SETTING => Self::Setting,
2042 ffi::GDK_OWNER_CHANGE => Self::OwnerChange,
2043 ffi::GDK_GRAB_BROKEN => Self::GrabBroken,
2044 ffi::GDK_DAMAGE => Self::Damage,
2045 ffi::GDK_TOUCH_BEGIN => Self::TouchBegin,
2046 ffi::GDK_TOUCH_UPDATE => Self::TouchUpdate,
2047 ffi::GDK_TOUCH_END => Self::TouchEnd,
2048 ffi::GDK_TOUCH_CANCEL => Self::TouchCancel,
2049 ffi::GDK_TOUCHPAD_SWIPE => Self::TouchpadSwipe,
2050 ffi::GDK_TOUCHPAD_PINCH => Self::TouchpadPinch,
2051 ffi::GDK_PAD_BUTTON_PRESS => Self::PadButtonPress,
2052 ffi::GDK_PAD_BUTTON_RELEASE => Self::PadButtonRelease,
2053 ffi::GDK_PAD_RING => Self::PadRing,
2054 ffi::GDK_PAD_STRIP => Self::PadStrip,
2055 ffi::GDK_PAD_GROUP_MODE => Self::PadGroupMode,
2056 value => Self::__Unknown(value),
2057 }
2058 }
2059}
2060
2061impl StaticType for EventType {
2062 #[inline]
2063 fn static_type() -> glib::Type {
2064 unsafe { from_glib(ffi::gdk_event_type_get_type()) }
2065 }
2066}
2067
2068impl glib::HasParamSpec for EventType {
2069 type ParamSpec = glib::ParamSpecEnum;
2070 type SetValue = Self;
2071 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2072
2073 fn param_spec_builder() -> Self::BuilderFn {
2074 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
2075 }
2076}
2077
2078impl glib::value::ValueType for EventType {
2079 type Type = Self;
2080}
2081
2082unsafe impl<'a> glib::value::FromValue<'a> for EventType {
2083 type Checker = glib::value::GenericValueTypeChecker<Self>;
2084
2085 #[inline]
2086 unsafe fn from_value(value: &'a glib::Value) -> Self {
2087 skip_assert_initialized!();
2088 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2089 }
2090}
2091
2092impl ToValue for EventType {
2093 #[inline]
2094 fn to_value(&self) -> glib::Value {
2095 let mut value = glib::Value::for_value_type::<Self>();
2096 unsafe {
2097 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2098 }
2099 value
2100 }
2101
2102 #[inline]
2103 fn value_type(&self) -> glib::Type {
2104 Self::static_type()
2105 }
2106}
2107
2108impl From<EventType> for glib::Value {
2109 #[inline]
2110 fn from(v: EventType) -> Self {
2111 skip_assert_initialized!();
2112 ToValue::to_value(&v)
2113 }
2114}
2115
2116#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2119#[non_exhaustive]
2120#[doc(alias = "GdkFullscreenMode")]
2121pub enum FullscreenMode {
2122 #[doc(alias = "GDK_FULLSCREEN_ON_CURRENT_MONITOR")]
2124 CurrentMonitor,
2125 #[doc(alias = "GDK_FULLSCREEN_ON_ALL_MONITORS")]
2127 AllMonitors,
2128 #[doc(hidden)]
2129 __Unknown(i32),
2130}
2131
2132impl fmt::Display for FullscreenMode {
2133 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2134 write!(
2135 f,
2136 "FullscreenMode::{}",
2137 match *self {
2138 Self::CurrentMonitor => "CurrentMonitor",
2139 Self::AllMonitors => "AllMonitors",
2140 _ => "Unknown",
2141 }
2142 )
2143 }
2144}
2145
2146#[doc(hidden)]
2147impl IntoGlib for FullscreenMode {
2148 type GlibType = ffi::GdkFullscreenMode;
2149
2150 #[inline]
2151 fn into_glib(self) -> ffi::GdkFullscreenMode {
2152 match self {
2153 Self::CurrentMonitor => ffi::GDK_FULLSCREEN_ON_CURRENT_MONITOR,
2154 Self::AllMonitors => ffi::GDK_FULLSCREEN_ON_ALL_MONITORS,
2155 Self::__Unknown(value) => value,
2156 }
2157 }
2158}
2159
2160#[doc(hidden)]
2161impl FromGlib<ffi::GdkFullscreenMode> for FullscreenMode {
2162 #[inline]
2163 unsafe fn from_glib(value: ffi::GdkFullscreenMode) -> Self {
2164 skip_assert_initialized!();
2165
2166 match value {
2167 ffi::GDK_FULLSCREEN_ON_CURRENT_MONITOR => Self::CurrentMonitor,
2168 ffi::GDK_FULLSCREEN_ON_ALL_MONITORS => Self::AllMonitors,
2169 value => Self::__Unknown(value),
2170 }
2171 }
2172}
2173
2174impl StaticType for FullscreenMode {
2175 #[inline]
2176 fn static_type() -> glib::Type {
2177 unsafe { from_glib(ffi::gdk_fullscreen_mode_get_type()) }
2178 }
2179}
2180
2181impl glib::HasParamSpec for FullscreenMode {
2182 type ParamSpec = glib::ParamSpecEnum;
2183 type SetValue = Self;
2184 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2185
2186 fn param_spec_builder() -> Self::BuilderFn {
2187 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
2188 }
2189}
2190
2191impl glib::value::ValueType for FullscreenMode {
2192 type Type = Self;
2193}
2194
2195unsafe impl<'a> glib::value::FromValue<'a> for FullscreenMode {
2196 type Checker = glib::value::GenericValueTypeChecker<Self>;
2197
2198 #[inline]
2199 unsafe fn from_value(value: &'a glib::Value) -> Self {
2200 skip_assert_initialized!();
2201 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2202 }
2203}
2204
2205impl ToValue for FullscreenMode {
2206 #[inline]
2207 fn to_value(&self) -> glib::Value {
2208 let mut value = glib::Value::for_value_type::<Self>();
2209 unsafe {
2210 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2211 }
2212 value
2213 }
2214
2215 #[inline]
2216 fn value_type(&self) -> glib::Type {
2217 Self::static_type()
2218 }
2219}
2220
2221impl From<FullscreenMode> for glib::Value {
2222 #[inline]
2223 fn from(v: FullscreenMode) -> Self {
2224 skip_assert_initialized!();
2225 ToValue::to_value(&v)
2226 }
2227}
2228
2229#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2231#[non_exhaustive]
2232#[doc(alias = "GdkGLError")]
2233pub enum GLError {
2234 #[doc(alias = "GDK_GL_ERROR_NOT_AVAILABLE")]
2236 NotAvailable,
2237 #[doc(alias = "GDK_GL_ERROR_UNSUPPORTED_FORMAT")]
2239 UnsupportedFormat,
2240 #[doc(alias = "GDK_GL_ERROR_UNSUPPORTED_PROFILE")]
2242 UnsupportedProfile,
2243 #[doc(hidden)]
2244 __Unknown(i32),
2245}
2246
2247impl fmt::Display for GLError {
2248 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2249 write!(
2250 f,
2251 "GLError::{}",
2252 match *self {
2253 Self::NotAvailable => "NotAvailable",
2254 Self::UnsupportedFormat => "UnsupportedFormat",
2255 Self::UnsupportedProfile => "UnsupportedProfile",
2256 _ => "Unknown",
2257 }
2258 )
2259 }
2260}
2261
2262#[doc(hidden)]
2263impl IntoGlib for GLError {
2264 type GlibType = ffi::GdkGLError;
2265
2266 #[inline]
2267 fn into_glib(self) -> ffi::GdkGLError {
2268 match self {
2269 Self::NotAvailable => ffi::GDK_GL_ERROR_NOT_AVAILABLE,
2270 Self::UnsupportedFormat => ffi::GDK_GL_ERROR_UNSUPPORTED_FORMAT,
2271 Self::UnsupportedProfile => ffi::GDK_GL_ERROR_UNSUPPORTED_PROFILE,
2272 Self::__Unknown(value) => value,
2273 }
2274 }
2275}
2276
2277#[doc(hidden)]
2278impl FromGlib<ffi::GdkGLError> for GLError {
2279 #[inline]
2280 unsafe fn from_glib(value: ffi::GdkGLError) -> Self {
2281 skip_assert_initialized!();
2282
2283 match value {
2284 ffi::GDK_GL_ERROR_NOT_AVAILABLE => Self::NotAvailable,
2285 ffi::GDK_GL_ERROR_UNSUPPORTED_FORMAT => Self::UnsupportedFormat,
2286 ffi::GDK_GL_ERROR_UNSUPPORTED_PROFILE => Self::UnsupportedProfile,
2287 value => Self::__Unknown(value),
2288 }
2289 }
2290}
2291
2292impl glib::error::ErrorDomain for GLError {
2293 #[inline]
2294 fn domain() -> glib::Quark {
2295 skip_assert_initialized!();
2296
2297 unsafe { from_glib(ffi::gdk_gl_error_quark()) }
2298 }
2299
2300 #[inline]
2301 fn code(self) -> i32 {
2302 self.into_glib()
2303 }
2304
2305 #[inline]
2306 #[allow(clippy::match_single_binding)]
2307 fn from(code: i32) -> Option<Self> {
2308 skip_assert_initialized!();
2309 match unsafe { from_glib(code) } {
2310 value => Some(value),
2311 }
2312 }
2313}
2314
2315impl StaticType for GLError {
2316 #[inline]
2317 fn static_type() -> glib::Type {
2318 unsafe { from_glib(ffi::gdk_gl_error_get_type()) }
2319 }
2320}
2321
2322impl glib::HasParamSpec for GLError {
2323 type ParamSpec = glib::ParamSpecEnum;
2324 type SetValue = Self;
2325 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2326
2327 fn param_spec_builder() -> Self::BuilderFn {
2328 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
2329 }
2330}
2331
2332impl glib::value::ValueType for GLError {
2333 type Type = Self;
2334}
2335
2336unsafe impl<'a> glib::value::FromValue<'a> for GLError {
2337 type Checker = glib::value::GenericValueTypeChecker<Self>;
2338
2339 #[inline]
2340 unsafe fn from_value(value: &'a glib::Value) -> Self {
2341 skip_assert_initialized!();
2342 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2343 }
2344}
2345
2346impl ToValue for GLError {
2347 #[inline]
2348 fn to_value(&self) -> glib::Value {
2349 let mut value = glib::Value::for_value_type::<Self>();
2350 unsafe {
2351 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2352 }
2353 value
2354 }
2355
2356 #[inline]
2357 fn value_type(&self) -> glib::Type {
2358 Self::static_type()
2359 }
2360}
2361
2362impl From<GLError> for glib::Value {
2363 #[inline]
2364 fn from(v: GLError) -> Self {
2365 skip_assert_initialized!();
2366 ToValue::to_value(&v)
2367 }
2368}
2369
2370#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2372#[non_exhaustive]
2373#[doc(alias = "GdkGrabOwnership")]
2374pub enum GrabOwnership {
2375 #[doc(alias = "GDK_OWNERSHIP_NONE")]
2377 None,
2378 #[doc(alias = "GDK_OWNERSHIP_WINDOW")]
2380 Window,
2381 #[doc(alias = "GDK_OWNERSHIP_APPLICATION")]
2383 Application,
2384 #[doc(hidden)]
2385 __Unknown(i32),
2386}
2387
2388impl fmt::Display for GrabOwnership {
2389 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2390 write!(
2391 f,
2392 "GrabOwnership::{}",
2393 match *self {
2394 Self::None => "None",
2395 Self::Window => "Window",
2396 Self::Application => "Application",
2397 _ => "Unknown",
2398 }
2399 )
2400 }
2401}
2402
2403#[doc(hidden)]
2404impl IntoGlib for GrabOwnership {
2405 type GlibType = ffi::GdkGrabOwnership;
2406
2407 #[inline]
2408 fn into_glib(self) -> ffi::GdkGrabOwnership {
2409 match self {
2410 Self::None => ffi::GDK_OWNERSHIP_NONE,
2411 Self::Window => ffi::GDK_OWNERSHIP_WINDOW,
2412 Self::Application => ffi::GDK_OWNERSHIP_APPLICATION,
2413 Self::__Unknown(value) => value,
2414 }
2415 }
2416}
2417
2418#[doc(hidden)]
2419impl FromGlib<ffi::GdkGrabOwnership> for GrabOwnership {
2420 #[inline]
2421 unsafe fn from_glib(value: ffi::GdkGrabOwnership) -> Self {
2422 skip_assert_initialized!();
2423
2424 match value {
2425 ffi::GDK_OWNERSHIP_NONE => Self::None,
2426 ffi::GDK_OWNERSHIP_WINDOW => Self::Window,
2427 ffi::GDK_OWNERSHIP_APPLICATION => Self::Application,
2428 value => Self::__Unknown(value),
2429 }
2430 }
2431}
2432
2433impl StaticType for GrabOwnership {
2434 #[inline]
2435 fn static_type() -> glib::Type {
2436 unsafe { from_glib(ffi::gdk_grab_ownership_get_type()) }
2437 }
2438}
2439
2440impl glib::HasParamSpec for GrabOwnership {
2441 type ParamSpec = glib::ParamSpecEnum;
2442 type SetValue = Self;
2443 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2444
2445 fn param_spec_builder() -> Self::BuilderFn {
2446 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
2447 }
2448}
2449
2450impl glib::value::ValueType for GrabOwnership {
2451 type Type = Self;
2452}
2453
2454unsafe impl<'a> glib::value::FromValue<'a> for GrabOwnership {
2455 type Checker = glib::value::GenericValueTypeChecker<Self>;
2456
2457 #[inline]
2458 unsafe fn from_value(value: &'a glib::Value) -> Self {
2459 skip_assert_initialized!();
2460 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2461 }
2462}
2463
2464impl ToValue for GrabOwnership {
2465 #[inline]
2466 fn to_value(&self) -> glib::Value {
2467 let mut value = glib::Value::for_value_type::<Self>();
2468 unsafe {
2469 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2470 }
2471 value
2472 }
2473
2474 #[inline]
2475 fn value_type(&self) -> glib::Type {
2476 Self::static_type()
2477 }
2478}
2479
2480impl From<GrabOwnership> for glib::Value {
2481 #[inline]
2482 fn from(v: GrabOwnership) -> Self {
2483 skip_assert_initialized!();
2484 ToValue::to_value(&v)
2485 }
2486}
2487
2488#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2491#[non_exhaustive]
2492#[doc(alias = "GdkGrabStatus")]
2493pub enum GrabStatus {
2494 #[doc(alias = "GDK_GRAB_SUCCESS")]
2496 Success,
2497 #[doc(alias = "GDK_GRAB_ALREADY_GRABBED")]
2499 AlreadyGrabbed,
2500 #[doc(alias = "GDK_GRAB_INVALID_TIME")]
2503 InvalidTime,
2504 #[doc(alias = "GDK_GRAB_NOT_VIEWABLE")]
2507 NotViewable,
2508 #[doc(alias = "GDK_GRAB_FROZEN")]
2510 Frozen,
2511 #[doc(alias = "GDK_GRAB_FAILED")]
2513 Failed,
2514 #[doc(hidden)]
2515 __Unknown(i32),
2516}
2517
2518impl fmt::Display for GrabStatus {
2519 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2520 write!(
2521 f,
2522 "GrabStatus::{}",
2523 match *self {
2524 Self::Success => "Success",
2525 Self::AlreadyGrabbed => "AlreadyGrabbed",
2526 Self::InvalidTime => "InvalidTime",
2527 Self::NotViewable => "NotViewable",
2528 Self::Frozen => "Frozen",
2529 Self::Failed => "Failed",
2530 _ => "Unknown",
2531 }
2532 )
2533 }
2534}
2535
2536#[doc(hidden)]
2537impl IntoGlib for GrabStatus {
2538 type GlibType = ffi::GdkGrabStatus;
2539
2540 #[inline]
2541 fn into_glib(self) -> ffi::GdkGrabStatus {
2542 match self {
2543 Self::Success => ffi::GDK_GRAB_SUCCESS,
2544 Self::AlreadyGrabbed => ffi::GDK_GRAB_ALREADY_GRABBED,
2545 Self::InvalidTime => ffi::GDK_GRAB_INVALID_TIME,
2546 Self::NotViewable => ffi::GDK_GRAB_NOT_VIEWABLE,
2547 Self::Frozen => ffi::GDK_GRAB_FROZEN,
2548 Self::Failed => ffi::GDK_GRAB_FAILED,
2549 Self::__Unknown(value) => value,
2550 }
2551 }
2552}
2553
2554#[doc(hidden)]
2555impl FromGlib<ffi::GdkGrabStatus> for GrabStatus {
2556 #[inline]
2557 unsafe fn from_glib(value: ffi::GdkGrabStatus) -> Self {
2558 skip_assert_initialized!();
2559
2560 match value {
2561 ffi::GDK_GRAB_SUCCESS => Self::Success,
2562 ffi::GDK_GRAB_ALREADY_GRABBED => Self::AlreadyGrabbed,
2563 ffi::GDK_GRAB_INVALID_TIME => Self::InvalidTime,
2564 ffi::GDK_GRAB_NOT_VIEWABLE => Self::NotViewable,
2565 ffi::GDK_GRAB_FROZEN => Self::Frozen,
2566 ffi::GDK_GRAB_FAILED => Self::Failed,
2567 value => Self::__Unknown(value),
2568 }
2569 }
2570}
2571
2572impl StaticType for GrabStatus {
2573 #[inline]
2574 fn static_type() -> glib::Type {
2575 unsafe { from_glib(ffi::gdk_grab_status_get_type()) }
2576 }
2577}
2578
2579impl glib::HasParamSpec for GrabStatus {
2580 type ParamSpec = glib::ParamSpecEnum;
2581 type SetValue = Self;
2582 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2583
2584 fn param_spec_builder() -> Self::BuilderFn {
2585 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
2586 }
2587}
2588
2589impl glib::value::ValueType for GrabStatus {
2590 type Type = Self;
2591}
2592
2593unsafe impl<'a> glib::value::FromValue<'a> for GrabStatus {
2594 type Checker = glib::value::GenericValueTypeChecker<Self>;
2595
2596 #[inline]
2597 unsafe fn from_value(value: &'a glib::Value) -> Self {
2598 skip_assert_initialized!();
2599 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2600 }
2601}
2602
2603impl ToValue for GrabStatus {
2604 #[inline]
2605 fn to_value(&self) -> glib::Value {
2606 let mut value = glib::Value::for_value_type::<Self>();
2607 unsafe {
2608 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2609 }
2610 value
2611 }
2612
2613 #[inline]
2614 fn value_type(&self) -> glib::Type {
2615 Self::static_type()
2616 }
2617}
2618
2619impl From<GrabStatus> for glib::Value {
2620 #[inline]
2621 fn from(v: GrabStatus) -> Self {
2622 skip_assert_initialized!();
2623 ToValue::to_value(&v)
2624 }
2625}
2626
2627#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2633#[non_exhaustive]
2634#[doc(alias = "GdkGravity")]
2635pub enum Gravity {
2636 #[doc(alias = "GDK_GRAVITY_NORTH_WEST")]
2638 NorthWest,
2639 #[doc(alias = "GDK_GRAVITY_NORTH")]
2641 North,
2642 #[doc(alias = "GDK_GRAVITY_NORTH_EAST")]
2644 NorthEast,
2645 #[doc(alias = "GDK_GRAVITY_WEST")]
2647 West,
2648 #[doc(alias = "GDK_GRAVITY_CENTER")]
2650 Center,
2651 #[doc(alias = "GDK_GRAVITY_EAST")]
2653 East,
2654 #[doc(alias = "GDK_GRAVITY_SOUTH_WEST")]
2656 SouthWest,
2657 #[doc(alias = "GDK_GRAVITY_SOUTH")]
2659 South,
2660 #[doc(alias = "GDK_GRAVITY_SOUTH_EAST")]
2662 SouthEast,
2663 #[doc(alias = "GDK_GRAVITY_STATIC")]
2666 Static,
2667 #[doc(hidden)]
2668 __Unknown(i32),
2669}
2670
2671impl fmt::Display for Gravity {
2672 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2673 write!(
2674 f,
2675 "Gravity::{}",
2676 match *self {
2677 Self::NorthWest => "NorthWest",
2678 Self::North => "North",
2679 Self::NorthEast => "NorthEast",
2680 Self::West => "West",
2681 Self::Center => "Center",
2682 Self::East => "East",
2683 Self::SouthWest => "SouthWest",
2684 Self::South => "South",
2685 Self::SouthEast => "SouthEast",
2686 Self::Static => "Static",
2687 _ => "Unknown",
2688 }
2689 )
2690 }
2691}
2692
2693#[doc(hidden)]
2694impl IntoGlib for Gravity {
2695 type GlibType = ffi::GdkGravity;
2696
2697 #[inline]
2698 fn into_glib(self) -> ffi::GdkGravity {
2699 match self {
2700 Self::NorthWest => ffi::GDK_GRAVITY_NORTH_WEST,
2701 Self::North => ffi::GDK_GRAVITY_NORTH,
2702 Self::NorthEast => ffi::GDK_GRAVITY_NORTH_EAST,
2703 Self::West => ffi::GDK_GRAVITY_WEST,
2704 Self::Center => ffi::GDK_GRAVITY_CENTER,
2705 Self::East => ffi::GDK_GRAVITY_EAST,
2706 Self::SouthWest => ffi::GDK_GRAVITY_SOUTH_WEST,
2707 Self::South => ffi::GDK_GRAVITY_SOUTH,
2708 Self::SouthEast => ffi::GDK_GRAVITY_SOUTH_EAST,
2709 Self::Static => ffi::GDK_GRAVITY_STATIC,
2710 Self::__Unknown(value) => value,
2711 }
2712 }
2713}
2714
2715#[doc(hidden)]
2716impl FromGlib<ffi::GdkGravity> for Gravity {
2717 #[inline]
2718 unsafe fn from_glib(value: ffi::GdkGravity) -> Self {
2719 skip_assert_initialized!();
2720
2721 match value {
2722 ffi::GDK_GRAVITY_NORTH_WEST => Self::NorthWest,
2723 ffi::GDK_GRAVITY_NORTH => Self::North,
2724 ffi::GDK_GRAVITY_NORTH_EAST => Self::NorthEast,
2725 ffi::GDK_GRAVITY_WEST => Self::West,
2726 ffi::GDK_GRAVITY_CENTER => Self::Center,
2727 ffi::GDK_GRAVITY_EAST => Self::East,
2728 ffi::GDK_GRAVITY_SOUTH_WEST => Self::SouthWest,
2729 ffi::GDK_GRAVITY_SOUTH => Self::South,
2730 ffi::GDK_GRAVITY_SOUTH_EAST => Self::SouthEast,
2731 ffi::GDK_GRAVITY_STATIC => Self::Static,
2732 value => Self::__Unknown(value),
2733 }
2734 }
2735}
2736
2737impl StaticType for Gravity {
2738 #[inline]
2739 fn static_type() -> glib::Type {
2740 unsafe { from_glib(ffi::gdk_gravity_get_type()) }
2741 }
2742}
2743
2744impl glib::HasParamSpec for Gravity {
2745 type ParamSpec = glib::ParamSpecEnum;
2746 type SetValue = Self;
2747 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2748
2749 fn param_spec_builder() -> Self::BuilderFn {
2750 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
2751 }
2752}
2753
2754impl glib::value::ValueType for Gravity {
2755 type Type = Self;
2756}
2757
2758unsafe impl<'a> glib::value::FromValue<'a> for Gravity {
2759 type Checker = glib::value::GenericValueTypeChecker<Self>;
2760
2761 #[inline]
2762 unsafe fn from_value(value: &'a glib::Value) -> Self {
2763 skip_assert_initialized!();
2764 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2765 }
2766}
2767
2768impl ToValue for Gravity {
2769 #[inline]
2770 fn to_value(&self) -> glib::Value {
2771 let mut value = glib::Value::for_value_type::<Self>();
2772 unsafe {
2773 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2774 }
2775 value
2776 }
2777
2778 #[inline]
2779 fn value_type(&self) -> glib::Type {
2780 Self::static_type()
2781 }
2782}
2783
2784impl From<Gravity> for glib::Value {
2785 #[inline]
2786 fn from(v: Gravity) -> Self {
2787 skip_assert_initialized!();
2788 ToValue::to_value(&v)
2789 }
2790}
2791
2792#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2794#[non_exhaustive]
2795#[doc(alias = "GdkInputMode")]
2796pub enum InputMode {
2797 #[doc(alias = "GDK_MODE_DISABLED")]
2799 Disabled,
2800 #[doc(alias = "GDK_MODE_SCREEN")]
2803 Screen,
2804 #[doc(alias = "GDK_MODE_WINDOW")]
2809 Window,
2810 #[doc(hidden)]
2811 __Unknown(i32),
2812}
2813
2814impl fmt::Display for InputMode {
2815 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2816 write!(
2817 f,
2818 "InputMode::{}",
2819 match *self {
2820 Self::Disabled => "Disabled",
2821 Self::Screen => "Screen",
2822 Self::Window => "Window",
2823 _ => "Unknown",
2824 }
2825 )
2826 }
2827}
2828
2829#[doc(hidden)]
2830impl IntoGlib for InputMode {
2831 type GlibType = ffi::GdkInputMode;
2832
2833 #[inline]
2834 fn into_glib(self) -> ffi::GdkInputMode {
2835 match self {
2836 Self::Disabled => ffi::GDK_MODE_DISABLED,
2837 Self::Screen => ffi::GDK_MODE_SCREEN,
2838 Self::Window => ffi::GDK_MODE_WINDOW,
2839 Self::__Unknown(value) => value,
2840 }
2841 }
2842}
2843
2844#[doc(hidden)]
2845impl FromGlib<ffi::GdkInputMode> for InputMode {
2846 #[inline]
2847 unsafe fn from_glib(value: ffi::GdkInputMode) -> Self {
2848 skip_assert_initialized!();
2849
2850 match value {
2851 ffi::GDK_MODE_DISABLED => Self::Disabled,
2852 ffi::GDK_MODE_SCREEN => Self::Screen,
2853 ffi::GDK_MODE_WINDOW => Self::Window,
2854 value => Self::__Unknown(value),
2855 }
2856 }
2857}
2858
2859impl StaticType for InputMode {
2860 #[inline]
2861 fn static_type() -> glib::Type {
2862 unsafe { from_glib(ffi::gdk_input_mode_get_type()) }
2863 }
2864}
2865
2866impl glib::HasParamSpec for InputMode {
2867 type ParamSpec = glib::ParamSpecEnum;
2868 type SetValue = Self;
2869 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2870
2871 fn param_spec_builder() -> Self::BuilderFn {
2872 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
2873 }
2874}
2875
2876impl glib::value::ValueType for InputMode {
2877 type Type = Self;
2878}
2879
2880unsafe impl<'a> glib::value::FromValue<'a> for InputMode {
2881 type Checker = glib::value::GenericValueTypeChecker<Self>;
2882
2883 #[inline]
2884 unsafe fn from_value(value: &'a glib::Value) -> Self {
2885 skip_assert_initialized!();
2886 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
2887 }
2888}
2889
2890impl ToValue for InputMode {
2891 #[inline]
2892 fn to_value(&self) -> glib::Value {
2893 let mut value = glib::Value::for_value_type::<Self>();
2894 unsafe {
2895 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2896 }
2897 value
2898 }
2899
2900 #[inline]
2901 fn value_type(&self) -> glib::Type {
2902 Self::static_type()
2903 }
2904}
2905
2906impl From<InputMode> for glib::Value {
2907 #[inline]
2908 fn from(v: InputMode) -> Self {
2909 skip_assert_initialized!();
2910 ToValue::to_value(&v)
2911 }
2912}
2913
2914#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2916#[non_exhaustive]
2917#[doc(alias = "GdkInputSource")]
2918pub enum InputSource {
2919 #[doc(alias = "GDK_SOURCE_MOUSE")]
2922 Mouse,
2923 #[doc(alias = "GDK_SOURCE_PEN")]
2925 Pen,
2926 #[doc(alias = "GDK_SOURCE_ERASER")]
2929 Eraser,
2930 #[doc(alias = "GDK_SOURCE_CURSOR")]
2932 Cursor,
2933 #[doc(alias = "GDK_SOURCE_KEYBOARD")]
2935 Keyboard,
2936 #[doc(alias = "GDK_SOURCE_TOUCHSCREEN")]
2939 Touchscreen,
2940 #[doc(alias = "GDK_SOURCE_TOUCHPAD")]
2943 Touchpad,
2944 #[doc(alias = "GDK_SOURCE_TRACKPOINT")]
2947 Trackpoint,
2948 #[doc(alias = "GDK_SOURCE_TABLET_PAD")]
2952 TabletPad,
2953 #[doc(hidden)]
2954 __Unknown(i32),
2955}
2956
2957impl fmt::Display for InputSource {
2958 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
2959 write!(
2960 f,
2961 "InputSource::{}",
2962 match *self {
2963 Self::Mouse => "Mouse",
2964 Self::Pen => "Pen",
2965 Self::Eraser => "Eraser",
2966 Self::Cursor => "Cursor",
2967 Self::Keyboard => "Keyboard",
2968 Self::Touchscreen => "Touchscreen",
2969 Self::Touchpad => "Touchpad",
2970 Self::Trackpoint => "Trackpoint",
2971 Self::TabletPad => "TabletPad",
2972 _ => "Unknown",
2973 }
2974 )
2975 }
2976}
2977
2978#[doc(hidden)]
2979impl IntoGlib for InputSource {
2980 type GlibType = ffi::GdkInputSource;
2981
2982 #[inline]
2983 fn into_glib(self) -> ffi::GdkInputSource {
2984 match self {
2985 Self::Mouse => ffi::GDK_SOURCE_MOUSE,
2986 Self::Pen => ffi::GDK_SOURCE_PEN,
2987 Self::Eraser => ffi::GDK_SOURCE_ERASER,
2988 Self::Cursor => ffi::GDK_SOURCE_CURSOR,
2989 Self::Keyboard => ffi::GDK_SOURCE_KEYBOARD,
2990 Self::Touchscreen => ffi::GDK_SOURCE_TOUCHSCREEN,
2991 Self::Touchpad => ffi::GDK_SOURCE_TOUCHPAD,
2992 Self::Trackpoint => ffi::GDK_SOURCE_TRACKPOINT,
2993 Self::TabletPad => ffi::GDK_SOURCE_TABLET_PAD,
2994 Self::__Unknown(value) => value,
2995 }
2996 }
2997}
2998
2999#[doc(hidden)]
3000impl FromGlib<ffi::GdkInputSource> for InputSource {
3001 #[inline]
3002 unsafe fn from_glib(value: ffi::GdkInputSource) -> Self {
3003 skip_assert_initialized!();
3004
3005 match value {
3006 ffi::GDK_SOURCE_MOUSE => Self::Mouse,
3007 ffi::GDK_SOURCE_PEN => Self::Pen,
3008 ffi::GDK_SOURCE_ERASER => Self::Eraser,
3009 ffi::GDK_SOURCE_CURSOR => Self::Cursor,
3010 ffi::GDK_SOURCE_KEYBOARD => Self::Keyboard,
3011 ffi::GDK_SOURCE_TOUCHSCREEN => Self::Touchscreen,
3012 ffi::GDK_SOURCE_TOUCHPAD => Self::Touchpad,
3013 ffi::GDK_SOURCE_TRACKPOINT => Self::Trackpoint,
3014 ffi::GDK_SOURCE_TABLET_PAD => Self::TabletPad,
3015 value => Self::__Unknown(value),
3016 }
3017 }
3018}
3019
3020impl StaticType for InputSource {
3021 #[inline]
3022 fn static_type() -> glib::Type {
3023 unsafe { from_glib(ffi::gdk_input_source_get_type()) }
3024 }
3025}
3026
3027impl glib::HasParamSpec for InputSource {
3028 type ParamSpec = glib::ParamSpecEnum;
3029 type SetValue = Self;
3030 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3031
3032 fn param_spec_builder() -> Self::BuilderFn {
3033 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
3034 }
3035}
3036
3037impl glib::value::ValueType for InputSource {
3038 type Type = Self;
3039}
3040
3041unsafe impl<'a> glib::value::FromValue<'a> for InputSource {
3042 type Checker = glib::value::GenericValueTypeChecker<Self>;
3043
3044 #[inline]
3045 unsafe fn from_value(value: &'a glib::Value) -> Self {
3046 skip_assert_initialized!();
3047 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3048 }
3049}
3050
3051impl ToValue for InputSource {
3052 #[inline]
3053 fn to_value(&self) -> glib::Value {
3054 let mut value = glib::Value::for_value_type::<Self>();
3055 unsafe {
3056 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3057 }
3058 value
3059 }
3060
3061 #[inline]
3062 fn value_type(&self) -> glib::Type {
3063 Self::static_type()
3064 }
3065}
3066
3067impl From<InputSource> for glib::Value {
3068 #[inline]
3069 fn from(v: InputSource) -> Self {
3070 skip_assert_initialized!();
3071 ToValue::to_value(&v)
3072 }
3073}
3074
3075#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3083#[non_exhaustive]
3084#[doc(alias = "GdkModifierIntent")]
3085pub enum ModifierIntent {
3086 #[doc(alias = "GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR")]
3089 PrimaryAccelerator,
3090 #[doc(alias = "GDK_MODIFIER_INTENT_CONTEXT_MENU")]
3094 ContextMenu,
3095 #[doc(alias = "GDK_MODIFIER_INTENT_EXTEND_SELECTION")]
3098 ExtendSelection,
3099 #[doc(alias = "GDK_MODIFIER_INTENT_MODIFY_SELECTION")]
3102 ModifySelection,
3103 #[doc(alias = "GDK_MODIFIER_INTENT_NO_TEXT_INPUT")]
3107 NoTextInput,
3108 #[doc(alias = "GDK_MODIFIER_INTENT_SHIFT_GROUP")]
3111 ShiftGroup,
3112 #[doc(alias = "GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK")]
3118 DefaultModMask,
3119 #[doc(hidden)]
3120 __Unknown(i32),
3121}
3122
3123impl fmt::Display for ModifierIntent {
3124 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3125 write!(
3126 f,
3127 "ModifierIntent::{}",
3128 match *self {
3129 Self::PrimaryAccelerator => "PrimaryAccelerator",
3130 Self::ContextMenu => "ContextMenu",
3131 Self::ExtendSelection => "ExtendSelection",
3132 Self::ModifySelection => "ModifySelection",
3133 Self::NoTextInput => "NoTextInput",
3134 Self::ShiftGroup => "ShiftGroup",
3135 Self::DefaultModMask => "DefaultModMask",
3136 _ => "Unknown",
3137 }
3138 )
3139 }
3140}
3141
3142#[doc(hidden)]
3143impl IntoGlib for ModifierIntent {
3144 type GlibType = ffi::GdkModifierIntent;
3145
3146 #[inline]
3147 fn into_glib(self) -> ffi::GdkModifierIntent {
3148 match self {
3149 Self::PrimaryAccelerator => ffi::GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR,
3150 Self::ContextMenu => ffi::GDK_MODIFIER_INTENT_CONTEXT_MENU,
3151 Self::ExtendSelection => ffi::GDK_MODIFIER_INTENT_EXTEND_SELECTION,
3152 Self::ModifySelection => ffi::GDK_MODIFIER_INTENT_MODIFY_SELECTION,
3153 Self::NoTextInput => ffi::GDK_MODIFIER_INTENT_NO_TEXT_INPUT,
3154 Self::ShiftGroup => ffi::GDK_MODIFIER_INTENT_SHIFT_GROUP,
3155 Self::DefaultModMask => ffi::GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK,
3156 Self::__Unknown(value) => value,
3157 }
3158 }
3159}
3160
3161#[doc(hidden)]
3162impl FromGlib<ffi::GdkModifierIntent> for ModifierIntent {
3163 #[inline]
3164 unsafe fn from_glib(value: ffi::GdkModifierIntent) -> Self {
3165 skip_assert_initialized!();
3166
3167 match value {
3168 ffi::GDK_MODIFIER_INTENT_PRIMARY_ACCELERATOR => Self::PrimaryAccelerator,
3169 ffi::GDK_MODIFIER_INTENT_CONTEXT_MENU => Self::ContextMenu,
3170 ffi::GDK_MODIFIER_INTENT_EXTEND_SELECTION => Self::ExtendSelection,
3171 ffi::GDK_MODIFIER_INTENT_MODIFY_SELECTION => Self::ModifySelection,
3172 ffi::GDK_MODIFIER_INTENT_NO_TEXT_INPUT => Self::NoTextInput,
3173 ffi::GDK_MODIFIER_INTENT_SHIFT_GROUP => Self::ShiftGroup,
3174 ffi::GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK => Self::DefaultModMask,
3175 value => Self::__Unknown(value),
3176 }
3177 }
3178}
3179
3180impl StaticType for ModifierIntent {
3181 #[inline]
3182 fn static_type() -> glib::Type {
3183 unsafe { from_glib(ffi::gdk_modifier_intent_get_type()) }
3184 }
3185}
3186
3187impl glib::HasParamSpec for ModifierIntent {
3188 type ParamSpec = glib::ParamSpecEnum;
3189 type SetValue = Self;
3190 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3191
3192 fn param_spec_builder() -> Self::BuilderFn {
3193 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
3194 }
3195}
3196
3197impl glib::value::ValueType for ModifierIntent {
3198 type Type = Self;
3199}
3200
3201unsafe impl<'a> glib::value::FromValue<'a> for ModifierIntent {
3202 type Checker = glib::value::GenericValueTypeChecker<Self>;
3203
3204 #[inline]
3205 unsafe fn from_value(value: &'a glib::Value) -> Self {
3206 skip_assert_initialized!();
3207 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3208 }
3209}
3210
3211impl ToValue for ModifierIntent {
3212 #[inline]
3213 fn to_value(&self) -> glib::Value {
3214 let mut value = glib::Value::for_value_type::<Self>();
3215 unsafe {
3216 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3217 }
3218 value
3219 }
3220
3221 #[inline]
3222 fn value_type(&self) -> glib::Type {
3223 Self::static_type()
3224 }
3225}
3226
3227impl From<ModifierIntent> for glib::Value {
3228 #[inline]
3229 fn from(v: ModifierIntent) -> Self {
3230 skip_assert_initialized!();
3231 ToValue::to_value(&v)
3232 }
3233}
3234
3235#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3240#[non_exhaustive]
3241#[doc(alias = "GdkNotifyType")]
3242pub enum NotifyType {
3243 #[doc(alias = "GDK_NOTIFY_ANCESTOR")]
3246 Ancestor,
3247 #[doc(alias = "GDK_NOTIFY_VIRTUAL")]
3250 Virtual,
3251 #[doc(alias = "GDK_NOTIFY_INFERIOR")]
3254 Inferior,
3255 #[doc(alias = "GDK_NOTIFY_NONLINEAR")]
3258 Nonlinear,
3259 #[doc(alias = "GDK_NOTIFY_NONLINEAR_VIRTUAL")]
3264 NonlinearVirtual,
3265 #[doc(alias = "GDK_NOTIFY_UNKNOWN")]
3267 Unknown,
3268 #[doc(hidden)]
3269 __Unknown(i32),
3270}
3271
3272impl fmt::Display for NotifyType {
3273 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3274 write!(
3275 f,
3276 "NotifyType::{}",
3277 match *self {
3278 Self::Ancestor => "Ancestor",
3279 Self::Virtual => "Virtual",
3280 Self::Inferior => "Inferior",
3281 Self::Nonlinear => "Nonlinear",
3282 Self::NonlinearVirtual => "NonlinearVirtual",
3283 Self::Unknown => "Unknown",
3284 _ => "Unknown",
3285 }
3286 )
3287 }
3288}
3289
3290#[doc(hidden)]
3291impl IntoGlib for NotifyType {
3292 type GlibType = ffi::GdkNotifyType;
3293
3294 #[inline]
3295 fn into_glib(self) -> ffi::GdkNotifyType {
3296 match self {
3297 Self::Ancestor => ffi::GDK_NOTIFY_ANCESTOR,
3298 Self::Virtual => ffi::GDK_NOTIFY_VIRTUAL,
3299 Self::Inferior => ffi::GDK_NOTIFY_INFERIOR,
3300 Self::Nonlinear => ffi::GDK_NOTIFY_NONLINEAR,
3301 Self::NonlinearVirtual => ffi::GDK_NOTIFY_NONLINEAR_VIRTUAL,
3302 Self::Unknown => ffi::GDK_NOTIFY_UNKNOWN,
3303 Self::__Unknown(value) => value,
3304 }
3305 }
3306}
3307
3308#[doc(hidden)]
3309impl FromGlib<ffi::GdkNotifyType> for NotifyType {
3310 #[inline]
3311 unsafe fn from_glib(value: ffi::GdkNotifyType) -> Self {
3312 skip_assert_initialized!();
3313
3314 match value {
3315 ffi::GDK_NOTIFY_ANCESTOR => Self::Ancestor,
3316 ffi::GDK_NOTIFY_VIRTUAL => Self::Virtual,
3317 ffi::GDK_NOTIFY_INFERIOR => Self::Inferior,
3318 ffi::GDK_NOTIFY_NONLINEAR => Self::Nonlinear,
3319 ffi::GDK_NOTIFY_NONLINEAR_VIRTUAL => Self::NonlinearVirtual,
3320 ffi::GDK_NOTIFY_UNKNOWN => Self::Unknown,
3321 value => Self::__Unknown(value),
3322 }
3323 }
3324}
3325
3326impl StaticType for NotifyType {
3327 #[inline]
3328 fn static_type() -> glib::Type {
3329 unsafe { from_glib(ffi::gdk_notify_type_get_type()) }
3330 }
3331}
3332
3333impl glib::HasParamSpec for NotifyType {
3334 type ParamSpec = glib::ParamSpecEnum;
3335 type SetValue = Self;
3336 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3337
3338 fn param_spec_builder() -> Self::BuilderFn {
3339 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
3340 }
3341}
3342
3343impl glib::value::ValueType for NotifyType {
3344 type Type = Self;
3345}
3346
3347unsafe impl<'a> glib::value::FromValue<'a> for NotifyType {
3348 type Checker = glib::value::GenericValueTypeChecker<Self>;
3349
3350 #[inline]
3351 unsafe fn from_value(value: &'a glib::Value) -> Self {
3352 skip_assert_initialized!();
3353 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3354 }
3355}
3356
3357impl ToValue for NotifyType {
3358 #[inline]
3359 fn to_value(&self) -> glib::Value {
3360 let mut value = glib::Value::for_value_type::<Self>();
3361 unsafe {
3362 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3363 }
3364 value
3365 }
3366
3367 #[inline]
3368 fn value_type(&self) -> glib::Type {
3369 Self::static_type()
3370 }
3371}
3372
3373impl From<NotifyType> for glib::Value {
3374 #[inline]
3375 fn from(v: NotifyType) -> Self {
3376 skip_assert_initialized!();
3377 ToValue::to_value(&v)
3378 }
3379}
3380
3381#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3383#[non_exhaustive]
3384#[doc(alias = "GdkOwnerChange")]
3385pub enum OwnerChange {
3386 #[doc(alias = "GDK_OWNER_CHANGE_NEW_OWNER")]
3388 NewOwner,
3389 #[doc(alias = "GDK_OWNER_CHANGE_DESTROY")]
3391 Destroy,
3392 #[doc(alias = "GDK_OWNER_CHANGE_CLOSE")]
3394 Close,
3395 #[doc(hidden)]
3396 __Unknown(i32),
3397}
3398
3399impl fmt::Display for OwnerChange {
3400 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3401 write!(
3402 f,
3403 "OwnerChange::{}",
3404 match *self {
3405 Self::NewOwner => "NewOwner",
3406 Self::Destroy => "Destroy",
3407 Self::Close => "Close",
3408 _ => "Unknown",
3409 }
3410 )
3411 }
3412}
3413
3414#[doc(hidden)]
3415impl IntoGlib for OwnerChange {
3416 type GlibType = ffi::GdkOwnerChange;
3417
3418 #[inline]
3419 fn into_glib(self) -> ffi::GdkOwnerChange {
3420 match self {
3421 Self::NewOwner => ffi::GDK_OWNER_CHANGE_NEW_OWNER,
3422 Self::Destroy => ffi::GDK_OWNER_CHANGE_DESTROY,
3423 Self::Close => ffi::GDK_OWNER_CHANGE_CLOSE,
3424 Self::__Unknown(value) => value,
3425 }
3426 }
3427}
3428
3429#[doc(hidden)]
3430impl FromGlib<ffi::GdkOwnerChange> for OwnerChange {
3431 #[inline]
3432 unsafe fn from_glib(value: ffi::GdkOwnerChange) -> Self {
3433 skip_assert_initialized!();
3434
3435 match value {
3436 ffi::GDK_OWNER_CHANGE_NEW_OWNER => Self::NewOwner,
3437 ffi::GDK_OWNER_CHANGE_DESTROY => Self::Destroy,
3438 ffi::GDK_OWNER_CHANGE_CLOSE => Self::Close,
3439 value => Self::__Unknown(value),
3440 }
3441 }
3442}
3443
3444impl StaticType for OwnerChange {
3445 #[inline]
3446 fn static_type() -> glib::Type {
3447 unsafe { from_glib(ffi::gdk_owner_change_get_type()) }
3448 }
3449}
3450
3451impl glib::HasParamSpec for OwnerChange {
3452 type ParamSpec = glib::ParamSpecEnum;
3453 type SetValue = Self;
3454 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3455
3456 fn param_spec_builder() -> Self::BuilderFn {
3457 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
3458 }
3459}
3460
3461impl glib::value::ValueType for OwnerChange {
3462 type Type = Self;
3463}
3464
3465unsafe impl<'a> glib::value::FromValue<'a> for OwnerChange {
3466 type Checker = glib::value::GenericValueTypeChecker<Self>;
3467
3468 #[inline]
3469 unsafe fn from_value(value: &'a glib::Value) -> Self {
3470 skip_assert_initialized!();
3471 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3472 }
3473}
3474
3475impl ToValue for OwnerChange {
3476 #[inline]
3477 fn to_value(&self) -> glib::Value {
3478 let mut value = glib::Value::for_value_type::<Self>();
3479 unsafe {
3480 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3481 }
3482 value
3483 }
3484
3485 #[inline]
3486 fn value_type(&self) -> glib::Type {
3487 Self::static_type()
3488 }
3489}
3490
3491impl From<OwnerChange> for glib::Value {
3492 #[inline]
3493 fn from(v: OwnerChange) -> Self {
3494 skip_assert_initialized!();
3495 ToValue::to_value(&v)
3496 }
3497}
3498
3499#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3502#[non_exhaustive]
3503#[doc(alias = "GdkPropMode")]
3504pub enum PropMode {
3505 #[doc(alias = "GDK_PROP_MODE_REPLACE")]
3507 Replace,
3508 #[doc(alias = "GDK_PROP_MODE_PREPEND")]
3510 Prepend,
3511 #[doc(alias = "GDK_PROP_MODE_APPEND")]
3513 Append,
3514 #[doc(hidden)]
3515 __Unknown(i32),
3516}
3517
3518impl fmt::Display for PropMode {
3519 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3520 write!(
3521 f,
3522 "PropMode::{}",
3523 match *self {
3524 Self::Replace => "Replace",
3525 Self::Prepend => "Prepend",
3526 Self::Append => "Append",
3527 _ => "Unknown",
3528 }
3529 )
3530 }
3531}
3532
3533#[doc(hidden)]
3534impl IntoGlib for PropMode {
3535 type GlibType = ffi::GdkPropMode;
3536
3537 #[inline]
3538 fn into_glib(self) -> ffi::GdkPropMode {
3539 match self {
3540 Self::Replace => ffi::GDK_PROP_MODE_REPLACE,
3541 Self::Prepend => ffi::GDK_PROP_MODE_PREPEND,
3542 Self::Append => ffi::GDK_PROP_MODE_APPEND,
3543 Self::__Unknown(value) => value,
3544 }
3545 }
3546}
3547
3548#[doc(hidden)]
3549impl FromGlib<ffi::GdkPropMode> for PropMode {
3550 #[inline]
3551 unsafe fn from_glib(value: ffi::GdkPropMode) -> Self {
3552 skip_assert_initialized!();
3553
3554 match value {
3555 ffi::GDK_PROP_MODE_REPLACE => Self::Replace,
3556 ffi::GDK_PROP_MODE_PREPEND => Self::Prepend,
3557 ffi::GDK_PROP_MODE_APPEND => Self::Append,
3558 value => Self::__Unknown(value),
3559 }
3560 }
3561}
3562
3563impl StaticType for PropMode {
3564 #[inline]
3565 fn static_type() -> glib::Type {
3566 unsafe { from_glib(ffi::gdk_prop_mode_get_type()) }
3567 }
3568}
3569
3570impl glib::HasParamSpec for PropMode {
3571 type ParamSpec = glib::ParamSpecEnum;
3572 type SetValue = Self;
3573 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3574
3575 fn param_spec_builder() -> Self::BuilderFn {
3576 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
3577 }
3578}
3579
3580impl glib::value::ValueType for PropMode {
3581 type Type = Self;
3582}
3583
3584unsafe impl<'a> glib::value::FromValue<'a> for PropMode {
3585 type Checker = glib::value::GenericValueTypeChecker<Self>;
3586
3587 #[inline]
3588 unsafe fn from_value(value: &'a glib::Value) -> Self {
3589 skip_assert_initialized!();
3590 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3591 }
3592}
3593
3594impl ToValue for PropMode {
3595 #[inline]
3596 fn to_value(&self) -> glib::Value {
3597 let mut value = glib::Value::for_value_type::<Self>();
3598 unsafe {
3599 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3600 }
3601 value
3602 }
3603
3604 #[inline]
3605 fn value_type(&self) -> glib::Type {
3606 Self::static_type()
3607 }
3608}
3609
3610impl From<PropMode> for glib::Value {
3611 #[inline]
3612 fn from(v: PropMode) -> Self {
3613 skip_assert_initialized!();
3614 ToValue::to_value(&v)
3615 }
3616}
3617
3618#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3620#[non_exhaustive]
3621#[doc(alias = "GdkPropertyState")]
3622pub enum PropertyState {
3623 #[doc(alias = "GDK_PROPERTY_NEW_VALUE")]
3625 NewValue,
3626 #[doc(alias = "GDK_PROPERTY_DELETE")]
3628 Delete,
3629 #[doc(hidden)]
3630 __Unknown(i32),
3631}
3632
3633impl fmt::Display for PropertyState {
3634 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3635 write!(
3636 f,
3637 "PropertyState::{}",
3638 match *self {
3639 Self::NewValue => "NewValue",
3640 Self::Delete => "Delete",
3641 _ => "Unknown",
3642 }
3643 )
3644 }
3645}
3646
3647#[doc(hidden)]
3648impl IntoGlib for PropertyState {
3649 type GlibType = ffi::GdkPropertyState;
3650
3651 #[inline]
3652 fn into_glib(self) -> ffi::GdkPropertyState {
3653 match self {
3654 Self::NewValue => ffi::GDK_PROPERTY_NEW_VALUE,
3655 Self::Delete => ffi::GDK_PROPERTY_DELETE,
3656 Self::__Unknown(value) => value,
3657 }
3658 }
3659}
3660
3661#[doc(hidden)]
3662impl FromGlib<ffi::GdkPropertyState> for PropertyState {
3663 #[inline]
3664 unsafe fn from_glib(value: ffi::GdkPropertyState) -> Self {
3665 skip_assert_initialized!();
3666
3667 match value {
3668 ffi::GDK_PROPERTY_NEW_VALUE => Self::NewValue,
3669 ffi::GDK_PROPERTY_DELETE => Self::Delete,
3670 value => Self::__Unknown(value),
3671 }
3672 }
3673}
3674
3675impl StaticType for PropertyState {
3676 #[inline]
3677 fn static_type() -> glib::Type {
3678 unsafe { from_glib(ffi::gdk_property_state_get_type()) }
3679 }
3680}
3681
3682impl glib::HasParamSpec for PropertyState {
3683 type ParamSpec = glib::ParamSpecEnum;
3684 type SetValue = Self;
3685 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3686
3687 fn param_spec_builder() -> Self::BuilderFn {
3688 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
3689 }
3690}
3691
3692impl glib::value::ValueType for PropertyState {
3693 type Type = Self;
3694}
3695
3696unsafe impl<'a> glib::value::FromValue<'a> for PropertyState {
3697 type Checker = glib::value::GenericValueTypeChecker<Self>;
3698
3699 #[inline]
3700 unsafe fn from_value(value: &'a glib::Value) -> Self {
3701 skip_assert_initialized!();
3702 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3703 }
3704}
3705
3706impl ToValue for PropertyState {
3707 #[inline]
3708 fn to_value(&self) -> glib::Value {
3709 let mut value = glib::Value::for_value_type::<Self>();
3710 unsafe {
3711 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3712 }
3713 value
3714 }
3715
3716 #[inline]
3717 fn value_type(&self) -> glib::Type {
3718 Self::static_type()
3719 }
3720}
3721
3722impl From<PropertyState> for glib::Value {
3723 #[inline]
3724 fn from(v: PropertyState) -> Self {
3725 skip_assert_initialized!();
3726 ToValue::to_value(&v)
3727 }
3728}
3729
3730#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3732#[non_exhaustive]
3733#[doc(alias = "GdkScrollDirection")]
3734pub enum ScrollDirection {
3735 #[doc(alias = "GDK_SCROLL_UP")]
3737 Up,
3738 #[doc(alias = "GDK_SCROLL_DOWN")]
3740 Down,
3741 #[doc(alias = "GDK_SCROLL_LEFT")]
3743 Left,
3744 #[doc(alias = "GDK_SCROLL_RIGHT")]
3746 Right,
3747 #[doc(alias = "GDK_SCROLL_SMOOTH")]
3750 Smooth,
3751 #[doc(hidden)]
3752 __Unknown(i32),
3753}
3754
3755impl fmt::Display for ScrollDirection {
3756 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3757 write!(
3758 f,
3759 "ScrollDirection::{}",
3760 match *self {
3761 Self::Up => "Up",
3762 Self::Down => "Down",
3763 Self::Left => "Left",
3764 Self::Right => "Right",
3765 Self::Smooth => "Smooth",
3766 _ => "Unknown",
3767 }
3768 )
3769 }
3770}
3771
3772#[doc(hidden)]
3773impl IntoGlib for ScrollDirection {
3774 type GlibType = ffi::GdkScrollDirection;
3775
3776 #[inline]
3777 fn into_glib(self) -> ffi::GdkScrollDirection {
3778 match self {
3779 Self::Up => ffi::GDK_SCROLL_UP,
3780 Self::Down => ffi::GDK_SCROLL_DOWN,
3781 Self::Left => ffi::GDK_SCROLL_LEFT,
3782 Self::Right => ffi::GDK_SCROLL_RIGHT,
3783 Self::Smooth => ffi::GDK_SCROLL_SMOOTH,
3784 Self::__Unknown(value) => value,
3785 }
3786 }
3787}
3788
3789#[doc(hidden)]
3790impl FromGlib<ffi::GdkScrollDirection> for ScrollDirection {
3791 #[inline]
3792 unsafe fn from_glib(value: ffi::GdkScrollDirection) -> Self {
3793 skip_assert_initialized!();
3794
3795 match value {
3796 ffi::GDK_SCROLL_UP => Self::Up,
3797 ffi::GDK_SCROLL_DOWN => Self::Down,
3798 ffi::GDK_SCROLL_LEFT => Self::Left,
3799 ffi::GDK_SCROLL_RIGHT => Self::Right,
3800 ffi::GDK_SCROLL_SMOOTH => Self::Smooth,
3801 value => Self::__Unknown(value),
3802 }
3803 }
3804}
3805
3806impl StaticType for ScrollDirection {
3807 #[inline]
3808 fn static_type() -> glib::Type {
3809 unsafe { from_glib(ffi::gdk_scroll_direction_get_type()) }
3810 }
3811}
3812
3813impl glib::HasParamSpec for ScrollDirection {
3814 type ParamSpec = glib::ParamSpecEnum;
3815 type SetValue = Self;
3816 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3817
3818 fn param_spec_builder() -> Self::BuilderFn {
3819 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
3820 }
3821}
3822
3823impl glib::value::ValueType for ScrollDirection {
3824 type Type = Self;
3825}
3826
3827unsafe impl<'a> glib::value::FromValue<'a> for ScrollDirection {
3828 type Checker = glib::value::GenericValueTypeChecker<Self>;
3829
3830 #[inline]
3831 unsafe fn from_value(value: &'a glib::Value) -> Self {
3832 skip_assert_initialized!();
3833 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3834 }
3835}
3836
3837impl ToValue for ScrollDirection {
3838 #[inline]
3839 fn to_value(&self) -> glib::Value {
3840 let mut value = glib::Value::for_value_type::<Self>();
3841 unsafe {
3842 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3843 }
3844 value
3845 }
3846
3847 #[inline]
3848 fn value_type(&self) -> glib::Type {
3849 Self::static_type()
3850 }
3851}
3852
3853impl From<ScrollDirection> for glib::Value {
3854 #[inline]
3855 fn from(v: ScrollDirection) -> Self {
3856 skip_assert_initialized!();
3857 ToValue::to_value(&v)
3858 }
3859}
3860
3861#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3864#[non_exhaustive]
3865#[doc(alias = "GdkSettingAction")]
3866pub enum SettingAction {
3867 #[doc(alias = "GDK_SETTING_ACTION_NEW")]
3869 New,
3870 #[doc(alias = "GDK_SETTING_ACTION_CHANGED")]
3872 Changed,
3873 #[doc(alias = "GDK_SETTING_ACTION_DELETED")]
3875 Deleted,
3876 #[doc(hidden)]
3877 __Unknown(i32),
3878}
3879
3880impl fmt::Display for SettingAction {
3881 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3882 write!(
3883 f,
3884 "SettingAction::{}",
3885 match *self {
3886 Self::New => "New",
3887 Self::Changed => "Changed",
3888 Self::Deleted => "Deleted",
3889 _ => "Unknown",
3890 }
3891 )
3892 }
3893}
3894
3895#[doc(hidden)]
3896impl IntoGlib for SettingAction {
3897 type GlibType = ffi::GdkSettingAction;
3898
3899 #[inline]
3900 fn into_glib(self) -> ffi::GdkSettingAction {
3901 match self {
3902 Self::New => ffi::GDK_SETTING_ACTION_NEW,
3903 Self::Changed => ffi::GDK_SETTING_ACTION_CHANGED,
3904 Self::Deleted => ffi::GDK_SETTING_ACTION_DELETED,
3905 Self::__Unknown(value) => value,
3906 }
3907 }
3908}
3909
3910#[doc(hidden)]
3911impl FromGlib<ffi::GdkSettingAction> for SettingAction {
3912 #[inline]
3913 unsafe fn from_glib(value: ffi::GdkSettingAction) -> Self {
3914 skip_assert_initialized!();
3915
3916 match value {
3917 ffi::GDK_SETTING_ACTION_NEW => Self::New,
3918 ffi::GDK_SETTING_ACTION_CHANGED => Self::Changed,
3919 ffi::GDK_SETTING_ACTION_DELETED => Self::Deleted,
3920 value => Self::__Unknown(value),
3921 }
3922 }
3923}
3924
3925impl StaticType for SettingAction {
3926 #[inline]
3927 fn static_type() -> glib::Type {
3928 unsafe { from_glib(ffi::gdk_setting_action_get_type()) }
3929 }
3930}
3931
3932impl glib::HasParamSpec for SettingAction {
3933 type ParamSpec = glib::ParamSpecEnum;
3934 type SetValue = Self;
3935 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3936
3937 fn param_spec_builder() -> Self::BuilderFn {
3938 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
3939 }
3940}
3941
3942impl glib::value::ValueType for SettingAction {
3943 type Type = Self;
3944}
3945
3946unsafe impl<'a> glib::value::FromValue<'a> for SettingAction {
3947 type Checker = glib::value::GenericValueTypeChecker<Self>;
3948
3949 #[inline]
3950 unsafe fn from_value(value: &'a glib::Value) -> Self {
3951 skip_assert_initialized!();
3952 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
3953 }
3954}
3955
3956impl ToValue for SettingAction {
3957 #[inline]
3958 fn to_value(&self) -> glib::Value {
3959 let mut value = glib::Value::for_value_type::<Self>();
3960 unsafe {
3961 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3962 }
3963 value
3964 }
3965
3966 #[inline]
3967 fn value_type(&self) -> glib::Type {
3968 Self::static_type()
3969 }
3970}
3971
3972impl From<SettingAction> for glib::Value {
3973 #[inline]
3974 fn from(v: SettingAction) -> Self {
3975 skip_assert_initialized!();
3976 ToValue::to_value(&v)
3977 }
3978}
3979
3980#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3983#[non_exhaustive]
3984#[doc(alias = "GdkSubpixelLayout")]
3985pub enum SubpixelLayout {
3986 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_UNKNOWN")]
3988 Unknown,
3989 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_NONE")]
3991 None,
3992 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB")]
3994 HorizontalRgb,
3995 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR")]
3997 HorizontalBgr,
3998 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB")]
4000 VerticalRgb,
4001 #[doc(alias = "GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR")]
4003 VerticalBgr,
4004 #[doc(hidden)]
4005 __Unknown(i32),
4006}
4007
4008impl fmt::Display for SubpixelLayout {
4009 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4010 write!(
4011 f,
4012 "SubpixelLayout::{}",
4013 match *self {
4014 Self::Unknown => "Unknown",
4015 Self::None => "None",
4016 Self::HorizontalRgb => "HorizontalRgb",
4017 Self::HorizontalBgr => "HorizontalBgr",
4018 Self::VerticalRgb => "VerticalRgb",
4019 Self::VerticalBgr => "VerticalBgr",
4020 _ => "Unknown",
4021 }
4022 )
4023 }
4024}
4025
4026#[doc(hidden)]
4027impl IntoGlib for SubpixelLayout {
4028 type GlibType = ffi::GdkSubpixelLayout;
4029
4030 #[inline]
4031 fn into_glib(self) -> ffi::GdkSubpixelLayout {
4032 match self {
4033 Self::Unknown => ffi::GDK_SUBPIXEL_LAYOUT_UNKNOWN,
4034 Self::None => ffi::GDK_SUBPIXEL_LAYOUT_NONE,
4035 Self::HorizontalRgb => ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB,
4036 Self::HorizontalBgr => ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR,
4037 Self::VerticalRgb => ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB,
4038 Self::VerticalBgr => ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR,
4039 Self::__Unknown(value) => value,
4040 }
4041 }
4042}
4043
4044#[doc(hidden)]
4045impl FromGlib<ffi::GdkSubpixelLayout> for SubpixelLayout {
4046 #[inline]
4047 unsafe fn from_glib(value: ffi::GdkSubpixelLayout) -> Self {
4048 skip_assert_initialized!();
4049
4050 match value {
4051 ffi::GDK_SUBPIXEL_LAYOUT_UNKNOWN => Self::Unknown,
4052 ffi::GDK_SUBPIXEL_LAYOUT_NONE => Self::None,
4053 ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB => Self::HorizontalRgb,
4054 ffi::GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR => Self::HorizontalBgr,
4055 ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB => Self::VerticalRgb,
4056 ffi::GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR => Self::VerticalBgr,
4057 value => Self::__Unknown(value),
4058 }
4059 }
4060}
4061
4062impl StaticType for SubpixelLayout {
4063 #[inline]
4064 fn static_type() -> glib::Type {
4065 unsafe { from_glib(ffi::gdk_subpixel_layout_get_type()) }
4066 }
4067}
4068
4069impl glib::HasParamSpec for SubpixelLayout {
4070 type ParamSpec = glib::ParamSpecEnum;
4071 type SetValue = Self;
4072 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4073
4074 fn param_spec_builder() -> Self::BuilderFn {
4075 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
4076 }
4077}
4078
4079impl glib::value::ValueType for SubpixelLayout {
4080 type Type = Self;
4081}
4082
4083unsafe impl<'a> glib::value::FromValue<'a> for SubpixelLayout {
4084 type Checker = glib::value::GenericValueTypeChecker<Self>;
4085
4086 #[inline]
4087 unsafe fn from_value(value: &'a glib::Value) -> Self {
4088 skip_assert_initialized!();
4089 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4090 }
4091}
4092
4093impl ToValue for SubpixelLayout {
4094 #[inline]
4095 fn to_value(&self) -> glib::Value {
4096 let mut value = glib::Value::for_value_type::<Self>();
4097 unsafe {
4098 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4099 }
4100 value
4101 }
4102
4103 #[inline]
4104 fn value_type(&self) -> glib::Type {
4105 Self::static_type()
4106 }
4107}
4108
4109impl From<SubpixelLayout> for glib::Value {
4110 #[inline]
4111 fn from(v: SubpixelLayout) -> Self {
4112 skip_assert_initialized!();
4113 ToValue::to_value(&v)
4114 }
4115}
4116
4117#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4119#[non_exhaustive]
4120#[doc(alias = "GdkVisibilityState")]
4121pub enum VisibilityState {
4122 #[doc(alias = "GDK_VISIBILITY_UNOBSCURED")]
4124 Unobscured,
4125 #[doc(alias = "GDK_VISIBILITY_PARTIAL")]
4127 Partial,
4128 #[doc(alias = "GDK_VISIBILITY_FULLY_OBSCURED")]
4130 FullyObscured,
4131 #[doc(hidden)]
4132 __Unknown(i32),
4133}
4134
4135impl fmt::Display for VisibilityState {
4136 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4137 write!(
4138 f,
4139 "VisibilityState::{}",
4140 match *self {
4141 Self::Unobscured => "Unobscured",
4142 Self::Partial => "Partial",
4143 Self::FullyObscured => "FullyObscured",
4144 _ => "Unknown",
4145 }
4146 )
4147 }
4148}
4149
4150#[doc(hidden)]
4151impl IntoGlib for VisibilityState {
4152 type GlibType = ffi::GdkVisibilityState;
4153
4154 #[inline]
4155 fn into_glib(self) -> ffi::GdkVisibilityState {
4156 match self {
4157 Self::Unobscured => ffi::GDK_VISIBILITY_UNOBSCURED,
4158 Self::Partial => ffi::GDK_VISIBILITY_PARTIAL,
4159 Self::FullyObscured => ffi::GDK_VISIBILITY_FULLY_OBSCURED,
4160 Self::__Unknown(value) => value,
4161 }
4162 }
4163}
4164
4165#[doc(hidden)]
4166impl FromGlib<ffi::GdkVisibilityState> for VisibilityState {
4167 #[inline]
4168 unsafe fn from_glib(value: ffi::GdkVisibilityState) -> Self {
4169 skip_assert_initialized!();
4170
4171 match value {
4172 ffi::GDK_VISIBILITY_UNOBSCURED => Self::Unobscured,
4173 ffi::GDK_VISIBILITY_PARTIAL => Self::Partial,
4174 ffi::GDK_VISIBILITY_FULLY_OBSCURED => Self::FullyObscured,
4175 value => Self::__Unknown(value),
4176 }
4177 }
4178}
4179
4180impl StaticType for VisibilityState {
4181 #[inline]
4182 fn static_type() -> glib::Type {
4183 unsafe { from_glib(ffi::gdk_visibility_state_get_type()) }
4184 }
4185}
4186
4187impl glib::HasParamSpec for VisibilityState {
4188 type ParamSpec = glib::ParamSpecEnum;
4189 type SetValue = Self;
4190 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4191
4192 fn param_spec_builder() -> Self::BuilderFn {
4193 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
4194 }
4195}
4196
4197impl glib::value::ValueType for VisibilityState {
4198 type Type = Self;
4199}
4200
4201unsafe impl<'a> glib::value::FromValue<'a> for VisibilityState {
4202 type Checker = glib::value::GenericValueTypeChecker<Self>;
4203
4204 #[inline]
4205 unsafe fn from_value(value: &'a glib::Value) -> Self {
4206 skip_assert_initialized!();
4207 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4208 }
4209}
4210
4211impl ToValue for VisibilityState {
4212 #[inline]
4213 fn to_value(&self) -> glib::Value {
4214 let mut value = glib::Value::for_value_type::<Self>();
4215 unsafe {
4216 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4217 }
4218 value
4219 }
4220
4221 #[inline]
4222 fn value_type(&self) -> glib::Type {
4223 Self::static_type()
4224 }
4225}
4226
4227impl From<VisibilityState> for glib::Value {
4228 #[inline]
4229 fn from(v: VisibilityState) -> Self {
4230 skip_assert_initialized!();
4231 ToValue::to_value(&v)
4232 }
4233}
4234
4235#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4238#[non_exhaustive]
4239#[doc(alias = "GdkVisualType")]
4240pub enum VisualType {
4241 #[doc(alias = "GDK_VISUAL_STATIC_GRAY")]
4244 StaticGray,
4245 #[doc(alias = "GDK_VISUAL_GRAYSCALE")]
4249 Grayscale,
4250 #[doc(alias = "GDK_VISUAL_STATIC_COLOR")]
4253 StaticColor,
4254 #[doc(alias = "GDK_VISUAL_PSEUDO_COLOR")]
4258 PseudoColor,
4259 #[doc(alias = "GDK_VISUAL_TRUE_COLOR")]
4264 TrueColor,
4265 #[doc(alias = "GDK_VISUAL_DIRECT_COLOR")]
4270 DirectColor,
4271 #[doc(hidden)]
4272 __Unknown(i32),
4273}
4274
4275impl fmt::Display for VisualType {
4276 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4277 write!(
4278 f,
4279 "VisualType::{}",
4280 match *self {
4281 Self::StaticGray => "StaticGray",
4282 Self::Grayscale => "Grayscale",
4283 Self::StaticColor => "StaticColor",
4284 Self::PseudoColor => "PseudoColor",
4285 Self::TrueColor => "TrueColor",
4286 Self::DirectColor => "DirectColor",
4287 _ => "Unknown",
4288 }
4289 )
4290 }
4291}
4292
4293#[doc(hidden)]
4294impl IntoGlib for VisualType {
4295 type GlibType = ffi::GdkVisualType;
4296
4297 #[inline]
4298 fn into_glib(self) -> ffi::GdkVisualType {
4299 match self {
4300 Self::StaticGray => ffi::GDK_VISUAL_STATIC_GRAY,
4301 Self::Grayscale => ffi::GDK_VISUAL_GRAYSCALE,
4302 Self::StaticColor => ffi::GDK_VISUAL_STATIC_COLOR,
4303 Self::PseudoColor => ffi::GDK_VISUAL_PSEUDO_COLOR,
4304 Self::TrueColor => ffi::GDK_VISUAL_TRUE_COLOR,
4305 Self::DirectColor => ffi::GDK_VISUAL_DIRECT_COLOR,
4306 Self::__Unknown(value) => value,
4307 }
4308 }
4309}
4310
4311#[doc(hidden)]
4312impl FromGlib<ffi::GdkVisualType> for VisualType {
4313 #[inline]
4314 unsafe fn from_glib(value: ffi::GdkVisualType) -> Self {
4315 skip_assert_initialized!();
4316
4317 match value {
4318 ffi::GDK_VISUAL_STATIC_GRAY => Self::StaticGray,
4319 ffi::GDK_VISUAL_GRAYSCALE => Self::Grayscale,
4320 ffi::GDK_VISUAL_STATIC_COLOR => Self::StaticColor,
4321 ffi::GDK_VISUAL_PSEUDO_COLOR => Self::PseudoColor,
4322 ffi::GDK_VISUAL_TRUE_COLOR => Self::TrueColor,
4323 ffi::GDK_VISUAL_DIRECT_COLOR => Self::DirectColor,
4324 value => Self::__Unknown(value),
4325 }
4326 }
4327}
4328
4329impl StaticType for VisualType {
4330 #[inline]
4331 fn static_type() -> glib::Type {
4332 unsafe { from_glib(ffi::gdk_visual_type_get_type()) }
4333 }
4334}
4335
4336impl glib::HasParamSpec for VisualType {
4337 type ParamSpec = glib::ParamSpecEnum;
4338 type SetValue = Self;
4339 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4340
4341 fn param_spec_builder() -> Self::BuilderFn {
4342 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
4343 }
4344}
4345
4346impl glib::value::ValueType for VisualType {
4347 type Type = Self;
4348}
4349
4350unsafe impl<'a> glib::value::FromValue<'a> for VisualType {
4351 type Checker = glib::value::GenericValueTypeChecker<Self>;
4352
4353 #[inline]
4354 unsafe fn from_value(value: &'a glib::Value) -> Self {
4355 skip_assert_initialized!();
4356 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4357 }
4358}
4359
4360impl ToValue for VisualType {
4361 #[inline]
4362 fn to_value(&self) -> glib::Value {
4363 let mut value = glib::Value::for_value_type::<Self>();
4364 unsafe {
4365 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4366 }
4367 value
4368 }
4369
4370 #[inline]
4371 fn value_type(&self) -> glib::Type {
4372 Self::static_type()
4373 }
4374}
4375
4376impl From<VisualType> for glib::Value {
4377 #[inline]
4378 fn from(v: VisualType) -> Self {
4379 skip_assert_initialized!();
4380 ToValue::to_value(&v)
4381 }
4382}
4383
4384#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4386#[non_exhaustive]
4387#[doc(alias = "GdkWindowEdge")]
4388pub enum WindowEdge {
4389 #[doc(alias = "GDK_WINDOW_EDGE_NORTH_WEST")]
4391 NorthWest,
4392 #[doc(alias = "GDK_WINDOW_EDGE_NORTH")]
4394 North,
4395 #[doc(alias = "GDK_WINDOW_EDGE_NORTH_EAST")]
4397 NorthEast,
4398 #[doc(alias = "GDK_WINDOW_EDGE_WEST")]
4400 West,
4401 #[doc(alias = "GDK_WINDOW_EDGE_EAST")]
4403 East,
4404 #[doc(alias = "GDK_WINDOW_EDGE_SOUTH_WEST")]
4406 SouthWest,
4407 #[doc(alias = "GDK_WINDOW_EDGE_SOUTH")]
4409 South,
4410 #[doc(alias = "GDK_WINDOW_EDGE_SOUTH_EAST")]
4412 SouthEast,
4413 #[doc(hidden)]
4414 __Unknown(i32),
4415}
4416
4417impl fmt::Display for WindowEdge {
4418 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4419 write!(
4420 f,
4421 "WindowEdge::{}",
4422 match *self {
4423 Self::NorthWest => "NorthWest",
4424 Self::North => "North",
4425 Self::NorthEast => "NorthEast",
4426 Self::West => "West",
4427 Self::East => "East",
4428 Self::SouthWest => "SouthWest",
4429 Self::South => "South",
4430 Self::SouthEast => "SouthEast",
4431 _ => "Unknown",
4432 }
4433 )
4434 }
4435}
4436
4437#[doc(hidden)]
4438impl IntoGlib for WindowEdge {
4439 type GlibType = ffi::GdkWindowEdge;
4440
4441 #[inline]
4442 fn into_glib(self) -> ffi::GdkWindowEdge {
4443 match self {
4444 Self::NorthWest => ffi::GDK_WINDOW_EDGE_NORTH_WEST,
4445 Self::North => ffi::GDK_WINDOW_EDGE_NORTH,
4446 Self::NorthEast => ffi::GDK_WINDOW_EDGE_NORTH_EAST,
4447 Self::West => ffi::GDK_WINDOW_EDGE_WEST,
4448 Self::East => ffi::GDK_WINDOW_EDGE_EAST,
4449 Self::SouthWest => ffi::GDK_WINDOW_EDGE_SOUTH_WEST,
4450 Self::South => ffi::GDK_WINDOW_EDGE_SOUTH,
4451 Self::SouthEast => ffi::GDK_WINDOW_EDGE_SOUTH_EAST,
4452 Self::__Unknown(value) => value,
4453 }
4454 }
4455}
4456
4457#[doc(hidden)]
4458impl FromGlib<ffi::GdkWindowEdge> for WindowEdge {
4459 #[inline]
4460 unsafe fn from_glib(value: ffi::GdkWindowEdge) -> Self {
4461 skip_assert_initialized!();
4462
4463 match value {
4464 ffi::GDK_WINDOW_EDGE_NORTH_WEST => Self::NorthWest,
4465 ffi::GDK_WINDOW_EDGE_NORTH => Self::North,
4466 ffi::GDK_WINDOW_EDGE_NORTH_EAST => Self::NorthEast,
4467 ffi::GDK_WINDOW_EDGE_WEST => Self::West,
4468 ffi::GDK_WINDOW_EDGE_EAST => Self::East,
4469 ffi::GDK_WINDOW_EDGE_SOUTH_WEST => Self::SouthWest,
4470 ffi::GDK_WINDOW_EDGE_SOUTH => Self::South,
4471 ffi::GDK_WINDOW_EDGE_SOUTH_EAST => Self::SouthEast,
4472 value => Self::__Unknown(value),
4473 }
4474 }
4475}
4476
4477impl StaticType for WindowEdge {
4478 #[inline]
4479 fn static_type() -> glib::Type {
4480 unsafe { from_glib(ffi::gdk_window_edge_get_type()) }
4481 }
4482}
4483
4484impl glib::HasParamSpec for WindowEdge {
4485 type ParamSpec = glib::ParamSpecEnum;
4486 type SetValue = Self;
4487 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4488
4489 fn param_spec_builder() -> Self::BuilderFn {
4490 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
4491 }
4492}
4493
4494impl glib::value::ValueType for WindowEdge {
4495 type Type = Self;
4496}
4497
4498unsafe impl<'a> glib::value::FromValue<'a> for WindowEdge {
4499 type Checker = glib::value::GenericValueTypeChecker<Self>;
4500
4501 #[inline]
4502 unsafe fn from_value(value: &'a glib::Value) -> Self {
4503 skip_assert_initialized!();
4504 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4505 }
4506}
4507
4508impl ToValue for WindowEdge {
4509 #[inline]
4510 fn to_value(&self) -> glib::Value {
4511 let mut value = glib::Value::for_value_type::<Self>();
4512 unsafe {
4513 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4514 }
4515 value
4516 }
4517
4518 #[inline]
4519 fn value_type(&self) -> glib::Type {
4520 Self::static_type()
4521 }
4522}
4523
4524impl From<WindowEdge> for glib::Value {
4525 #[inline]
4526 fn from(v: WindowEdge) -> Self {
4527 skip_assert_initialized!();
4528 ToValue::to_value(&v)
4529 }
4530}
4531
4532#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4534#[non_exhaustive]
4535#[doc(alias = "GdkWindowType")]
4536pub enum WindowType {
4537 #[doc(alias = "GDK_WINDOW_ROOT")]
4540 Root,
4541 #[doc(alias = "GDK_WINDOW_TOPLEVEL")]
4543 Toplevel,
4544 #[doc(alias = "GDK_WINDOW_CHILD")]
4546 Child,
4547 #[doc(alias = "GDK_WINDOW_TEMP")]
4550 Temp,
4551 #[doc(alias = "GDK_WINDOW_FOREIGN")]
4553 Foreign,
4554 #[doc(alias = "GDK_WINDOW_OFFSCREEN")]
4557 Offscreen,
4558 #[doc(alias = "GDK_WINDOW_SUBSURFACE")]
4562 Subsurface,
4563 #[doc(hidden)]
4564 __Unknown(i32),
4565}
4566
4567impl fmt::Display for WindowType {
4568 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4569 write!(
4570 f,
4571 "WindowType::{}",
4572 match *self {
4573 Self::Root => "Root",
4574 Self::Toplevel => "Toplevel",
4575 Self::Child => "Child",
4576 Self::Temp => "Temp",
4577 Self::Foreign => "Foreign",
4578 Self::Offscreen => "Offscreen",
4579 Self::Subsurface => "Subsurface",
4580 _ => "Unknown",
4581 }
4582 )
4583 }
4584}
4585
4586#[doc(hidden)]
4587impl IntoGlib for WindowType {
4588 type GlibType = ffi::GdkWindowType;
4589
4590 #[inline]
4591 fn into_glib(self) -> ffi::GdkWindowType {
4592 match self {
4593 Self::Root => ffi::GDK_WINDOW_ROOT,
4594 Self::Toplevel => ffi::GDK_WINDOW_TOPLEVEL,
4595 Self::Child => ffi::GDK_WINDOW_CHILD,
4596 Self::Temp => ffi::GDK_WINDOW_TEMP,
4597 Self::Foreign => ffi::GDK_WINDOW_FOREIGN,
4598 Self::Offscreen => ffi::GDK_WINDOW_OFFSCREEN,
4599 Self::Subsurface => ffi::GDK_WINDOW_SUBSURFACE,
4600 Self::__Unknown(value) => value,
4601 }
4602 }
4603}
4604
4605#[doc(hidden)]
4606impl FromGlib<ffi::GdkWindowType> for WindowType {
4607 #[inline]
4608 unsafe fn from_glib(value: ffi::GdkWindowType) -> Self {
4609 skip_assert_initialized!();
4610
4611 match value {
4612 ffi::GDK_WINDOW_ROOT => Self::Root,
4613 ffi::GDK_WINDOW_TOPLEVEL => Self::Toplevel,
4614 ffi::GDK_WINDOW_CHILD => Self::Child,
4615 ffi::GDK_WINDOW_TEMP => Self::Temp,
4616 ffi::GDK_WINDOW_FOREIGN => Self::Foreign,
4617 ffi::GDK_WINDOW_OFFSCREEN => Self::Offscreen,
4618 ffi::GDK_WINDOW_SUBSURFACE => Self::Subsurface,
4619 value => Self::__Unknown(value),
4620 }
4621 }
4622}
4623
4624impl StaticType for WindowType {
4625 #[inline]
4626 fn static_type() -> glib::Type {
4627 unsafe { from_glib(ffi::gdk_window_type_get_type()) }
4628 }
4629}
4630
4631impl glib::HasParamSpec for WindowType {
4632 type ParamSpec = glib::ParamSpecEnum;
4633 type SetValue = Self;
4634 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4635
4636 fn param_spec_builder() -> Self::BuilderFn {
4637 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
4638 }
4639}
4640
4641impl glib::value::ValueType for WindowType {
4642 type Type = Self;
4643}
4644
4645unsafe impl<'a> glib::value::FromValue<'a> for WindowType {
4646 type Checker = glib::value::GenericValueTypeChecker<Self>;
4647
4648 #[inline]
4649 unsafe fn from_value(value: &'a glib::Value) -> Self {
4650 skip_assert_initialized!();
4651 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4652 }
4653}
4654
4655impl ToValue for WindowType {
4656 #[inline]
4657 fn to_value(&self) -> glib::Value {
4658 let mut value = glib::Value::for_value_type::<Self>();
4659 unsafe {
4660 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4661 }
4662 value
4663 }
4664
4665 #[inline]
4666 fn value_type(&self) -> glib::Type {
4667 Self::static_type()
4668 }
4669}
4670
4671impl From<WindowType> for glib::Value {
4672 #[inline]
4673 fn from(v: WindowType) -> Self {
4674 skip_assert_initialized!();
4675 ToValue::to_value(&v)
4676 }
4677}
4678
4679#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4686#[non_exhaustive]
4687#[doc(alias = "GdkWindowTypeHint")]
4688pub enum WindowTypeHint {
4689 #[doc(alias = "GDK_WINDOW_TYPE_HINT_NORMAL")]
4691 Normal,
4692 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DIALOG")]
4694 Dialog,
4695 #[doc(alias = "GDK_WINDOW_TYPE_HINT_MENU")]
4698 Menu,
4699 #[doc(alias = "GDK_WINDOW_TYPE_HINT_TOOLBAR")]
4701 Toolbar,
4702 #[doc(alias = "GDK_WINDOW_TYPE_HINT_SPLASHSCREEN")]
4705 Splashscreen,
4706 #[doc(alias = "GDK_WINDOW_TYPE_HINT_UTILITY")]
4709 Utility,
4710 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DOCK")]
4712 Dock,
4713 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DESKTOP")]
4716 Desktop,
4717 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU")]
4719 DropdownMenu,
4720 #[doc(alias = "GDK_WINDOW_TYPE_HINT_POPUP_MENU")]
4723 PopupMenu,
4724 #[doc(alias = "GDK_WINDOW_TYPE_HINT_TOOLTIP")]
4726 Tooltip,
4727 #[doc(alias = "GDK_WINDOW_TYPE_HINT_NOTIFICATION")]
4730 Notification,
4731 #[doc(alias = "GDK_WINDOW_TYPE_HINT_COMBO")]
4733 Combo,
4734 #[doc(alias = "GDK_WINDOW_TYPE_HINT_DND")]
4736 Dnd,
4737 #[doc(hidden)]
4738 __Unknown(i32),
4739}
4740
4741impl fmt::Display for WindowTypeHint {
4742 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4743 write!(
4744 f,
4745 "WindowTypeHint::{}",
4746 match *self {
4747 Self::Normal => "Normal",
4748 Self::Dialog => "Dialog",
4749 Self::Menu => "Menu",
4750 Self::Toolbar => "Toolbar",
4751 Self::Splashscreen => "Splashscreen",
4752 Self::Utility => "Utility",
4753 Self::Dock => "Dock",
4754 Self::Desktop => "Desktop",
4755 Self::DropdownMenu => "DropdownMenu",
4756 Self::PopupMenu => "PopupMenu",
4757 Self::Tooltip => "Tooltip",
4758 Self::Notification => "Notification",
4759 Self::Combo => "Combo",
4760 Self::Dnd => "Dnd",
4761 _ => "Unknown",
4762 }
4763 )
4764 }
4765}
4766
4767#[doc(hidden)]
4768impl IntoGlib for WindowTypeHint {
4769 type GlibType = ffi::GdkWindowTypeHint;
4770
4771 fn into_glib(self) -> ffi::GdkWindowTypeHint {
4772 match self {
4773 Self::Normal => ffi::GDK_WINDOW_TYPE_HINT_NORMAL,
4774 Self::Dialog => ffi::GDK_WINDOW_TYPE_HINT_DIALOG,
4775 Self::Menu => ffi::GDK_WINDOW_TYPE_HINT_MENU,
4776 Self::Toolbar => ffi::GDK_WINDOW_TYPE_HINT_TOOLBAR,
4777 Self::Splashscreen => ffi::GDK_WINDOW_TYPE_HINT_SPLASHSCREEN,
4778 Self::Utility => ffi::GDK_WINDOW_TYPE_HINT_UTILITY,
4779 Self::Dock => ffi::GDK_WINDOW_TYPE_HINT_DOCK,
4780 Self::Desktop => ffi::GDK_WINDOW_TYPE_HINT_DESKTOP,
4781 Self::DropdownMenu => ffi::GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU,
4782 Self::PopupMenu => ffi::GDK_WINDOW_TYPE_HINT_POPUP_MENU,
4783 Self::Tooltip => ffi::GDK_WINDOW_TYPE_HINT_TOOLTIP,
4784 Self::Notification => ffi::GDK_WINDOW_TYPE_HINT_NOTIFICATION,
4785 Self::Combo => ffi::GDK_WINDOW_TYPE_HINT_COMBO,
4786 Self::Dnd => ffi::GDK_WINDOW_TYPE_HINT_DND,
4787 Self::__Unknown(value) => value,
4788 }
4789 }
4790}
4791
4792#[doc(hidden)]
4793impl FromGlib<ffi::GdkWindowTypeHint> for WindowTypeHint {
4794 unsafe fn from_glib(value: ffi::GdkWindowTypeHint) -> Self {
4795 skip_assert_initialized!();
4796
4797 match value {
4798 ffi::GDK_WINDOW_TYPE_HINT_NORMAL => Self::Normal,
4799 ffi::GDK_WINDOW_TYPE_HINT_DIALOG => Self::Dialog,
4800 ffi::GDK_WINDOW_TYPE_HINT_MENU => Self::Menu,
4801 ffi::GDK_WINDOW_TYPE_HINT_TOOLBAR => Self::Toolbar,
4802 ffi::GDK_WINDOW_TYPE_HINT_SPLASHSCREEN => Self::Splashscreen,
4803 ffi::GDK_WINDOW_TYPE_HINT_UTILITY => Self::Utility,
4804 ffi::GDK_WINDOW_TYPE_HINT_DOCK => Self::Dock,
4805 ffi::GDK_WINDOW_TYPE_HINT_DESKTOP => Self::Desktop,
4806 ffi::GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU => Self::DropdownMenu,
4807 ffi::GDK_WINDOW_TYPE_HINT_POPUP_MENU => Self::PopupMenu,
4808 ffi::GDK_WINDOW_TYPE_HINT_TOOLTIP => Self::Tooltip,
4809 ffi::GDK_WINDOW_TYPE_HINT_NOTIFICATION => Self::Notification,
4810 ffi::GDK_WINDOW_TYPE_HINT_COMBO => Self::Combo,
4811 ffi::GDK_WINDOW_TYPE_HINT_DND => Self::Dnd,
4812 value => Self::__Unknown(value),
4813 }
4814 }
4815}
4816
4817impl StaticType for WindowTypeHint {
4818 #[inline]
4819 fn static_type() -> glib::Type {
4820 unsafe { from_glib(ffi::gdk_window_type_hint_get_type()) }
4821 }
4822}
4823
4824impl glib::HasParamSpec for WindowTypeHint {
4825 type ParamSpec = glib::ParamSpecEnum;
4826 type SetValue = Self;
4827 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4828
4829 fn param_spec_builder() -> Self::BuilderFn {
4830 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
4831 }
4832}
4833
4834impl glib::value::ValueType for WindowTypeHint {
4835 type Type = Self;
4836}
4837
4838unsafe impl<'a> glib::value::FromValue<'a> for WindowTypeHint {
4839 type Checker = glib::value::GenericValueTypeChecker<Self>;
4840
4841 #[inline]
4842 unsafe fn from_value(value: &'a glib::Value) -> Self {
4843 skip_assert_initialized!();
4844 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4845 }
4846}
4847
4848impl ToValue for WindowTypeHint {
4849 #[inline]
4850 fn to_value(&self) -> glib::Value {
4851 let mut value = glib::Value::for_value_type::<Self>();
4852 unsafe {
4853 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4854 }
4855 value
4856 }
4857
4858 #[inline]
4859 fn value_type(&self) -> glib::Type {
4860 Self::static_type()
4861 }
4862}
4863
4864impl From<WindowTypeHint> for glib::Value {
4865 #[inline]
4866 fn from(v: WindowTypeHint) -> Self {
4867 skip_assert_initialized!();
4868 ToValue::to_value(&v)
4869 }
4870}
4871
4872#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4878#[non_exhaustive]
4879#[doc(alias = "GdkWindowWindowClass")]
4880pub enum WindowWindowClass {
4881 #[doc(alias = "GDK_INPUT_OUTPUT")]
4883 InputOutput,
4884 #[doc(alias = "GDK_INPUT_ONLY")]
4886 InputOnly,
4887 #[doc(hidden)]
4888 __Unknown(i32),
4889}
4890
4891impl fmt::Display for WindowWindowClass {
4892 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4893 write!(
4894 f,
4895 "WindowWindowClass::{}",
4896 match *self {
4897 Self::InputOutput => "InputOutput",
4898 Self::InputOnly => "InputOnly",
4899 _ => "Unknown",
4900 }
4901 )
4902 }
4903}
4904
4905#[doc(hidden)]
4906impl IntoGlib for WindowWindowClass {
4907 type GlibType = ffi::GdkWindowWindowClass;
4908
4909 #[inline]
4910 fn into_glib(self) -> ffi::GdkWindowWindowClass {
4911 match self {
4912 Self::InputOutput => ffi::GDK_INPUT_OUTPUT,
4913 Self::InputOnly => ffi::GDK_INPUT_ONLY,
4914 Self::__Unknown(value) => value,
4915 }
4916 }
4917}
4918
4919#[doc(hidden)]
4920impl FromGlib<ffi::GdkWindowWindowClass> for WindowWindowClass {
4921 #[inline]
4922 unsafe fn from_glib(value: ffi::GdkWindowWindowClass) -> Self {
4923 skip_assert_initialized!();
4924
4925 match value {
4926 ffi::GDK_INPUT_OUTPUT => Self::InputOutput,
4927 ffi::GDK_INPUT_ONLY => Self::InputOnly,
4928 value => Self::__Unknown(value),
4929 }
4930 }
4931}
4932
4933impl StaticType for WindowWindowClass {
4934 #[inline]
4935 fn static_type() -> glib::Type {
4936 unsafe { from_glib(ffi::gdk_window_window_class_get_type()) }
4937 }
4938}
4939
4940impl glib::HasParamSpec for WindowWindowClass {
4941 type ParamSpec = glib::ParamSpecEnum;
4942 type SetValue = Self;
4943 type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4944
4945 fn param_spec_builder() -> Self::BuilderFn {
4946 |name, default_value| Self::ParamSpec::builder_with_default(name, default_value)
4947 }
4948}
4949
4950impl glib::value::ValueType for WindowWindowClass {
4951 type Type = Self;
4952}
4953
4954unsafe impl<'a> glib::value::FromValue<'a> for WindowWindowClass {
4955 type Checker = glib::value::GenericValueTypeChecker<Self>;
4956
4957 #[inline]
4958 unsafe fn from_value(value: &'a glib::Value) -> Self {
4959 skip_assert_initialized!();
4960 from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
4961 }
4962}
4963
4964impl ToValue for WindowWindowClass {
4965 #[inline]
4966 fn to_value(&self) -> glib::Value {
4967 let mut value = glib::Value::for_value_type::<Self>();
4968 unsafe {
4969 glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4970 }
4971 value
4972 }
4973
4974 #[inline]
4975 fn value_type(&self) -> glib::Type {
4976 Self::static_type()
4977 }
4978}
4979
4980impl From<WindowWindowClass> for glib::Value {
4981 #[inline]
4982 fn from(v: WindowWindowClass) -> Self {
4983 skip_assert_initialized!();
4984 ToValue::to_value(&v)
4985 }
4986}