1 // This file was generated by gir (https://github.com/gtk-rs/gir)
2 // from gir-files (https://github.com/gtk-rs/gir-files)
3 // DO NOT EDIT
4 
5 use bitflags::bitflags;
6 use glib::translate::*;
7 use glib::value::FromValue;
8 use glib::value::ToValue;
9 use glib::StaticType;
10 use glib::Type;
11 use std::fmt;
12 
13 #[cfg(any(feature = "v3_22", feature = "dox"))]
14 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
15 bitflags! {
16     #[doc(alias = "GdkAnchorHints")]
17     pub struct AnchorHints: u32 {
18         #[doc(alias = "GDK_ANCHOR_FLIP_X")]
19         const FLIP_X = ffi::GDK_ANCHOR_FLIP_X as u32;
20         #[doc(alias = "GDK_ANCHOR_FLIP_Y")]
21         const FLIP_Y = ffi::GDK_ANCHOR_FLIP_Y as u32;
22         #[doc(alias = "GDK_ANCHOR_SLIDE_X")]
23         const SLIDE_X = ffi::GDK_ANCHOR_SLIDE_X as u32;
24         #[doc(alias = "GDK_ANCHOR_SLIDE_Y")]
25         const SLIDE_Y = ffi::GDK_ANCHOR_SLIDE_Y as u32;
26         #[doc(alias = "GDK_ANCHOR_RESIZE_X")]
27         const RESIZE_X = ffi::GDK_ANCHOR_RESIZE_X as u32;
28         #[doc(alias = "GDK_ANCHOR_RESIZE_Y")]
29         const RESIZE_Y = ffi::GDK_ANCHOR_RESIZE_Y as u32;
30         #[doc(alias = "GDK_ANCHOR_FLIP")]
31         const FLIP = ffi::GDK_ANCHOR_FLIP as u32;
32         #[doc(alias = "GDK_ANCHOR_SLIDE")]
33         const SLIDE = ffi::GDK_ANCHOR_SLIDE as u32;
34         #[doc(alias = "GDK_ANCHOR_RESIZE")]
35         const RESIZE = ffi::GDK_ANCHOR_RESIZE as u32;
36     }
37 }
38 
39 #[cfg(any(feature = "v3_22", feature = "dox"))]
40 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
41 impl fmt::Display for AnchorHints {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result42     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
43         <Self as fmt::Debug>::fmt(self, f)
44     }
45 }
46 
47 #[cfg(any(feature = "v3_22", feature = "dox"))]
48 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
49 #[doc(hidden)]
50 impl IntoGlib for AnchorHints {
51     type GlibType = ffi::GdkAnchorHints;
52 
into_glib(self) -> ffi::GdkAnchorHints53     fn into_glib(self) -> ffi::GdkAnchorHints {
54         self.bits()
55     }
56 }
57 
58 #[cfg(any(feature = "v3_22", feature = "dox"))]
59 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
60 #[doc(hidden)]
61 impl FromGlib<ffi::GdkAnchorHints> for AnchorHints {
from_glib(value: ffi::GdkAnchorHints) -> Self62     unsafe fn from_glib(value: ffi::GdkAnchorHints) -> Self {
63         skip_assert_initialized!();
64         Self::from_bits_truncate(value)
65     }
66 }
67 
68 #[cfg(any(feature = "v3_22", feature = "dox"))]
69 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
70 impl StaticType for AnchorHints {
static_type() -> Type71     fn static_type() -> Type {
72         unsafe { from_glib(ffi::gdk_anchor_hints_get_type()) }
73     }
74 }
75 
76 #[cfg(any(feature = "v3_22", feature = "dox"))]
77 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
78 impl glib::value::ValueType for AnchorHints {
79     type Type = Self;
80 }
81 
82 #[cfg(any(feature = "v3_22", feature = "dox"))]
83 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
84 unsafe impl<'a> FromValue<'a> for AnchorHints {
85     type Checker = glib::value::GenericValueTypeChecker<Self>;
86 
from_value(value: &'a glib::Value) -> Self87     unsafe fn from_value(value: &'a glib::Value) -> Self {
88         skip_assert_initialized!();
89         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
90     }
91 }
92 
93 #[cfg(any(feature = "v3_22", feature = "dox"))]
94 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
95 impl ToValue for AnchorHints {
to_value(&self) -> glib::Value96     fn to_value(&self) -> glib::Value {
97         let mut value = glib::Value::for_value_type::<Self>();
98         unsafe {
99             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
100         }
101         value
102     }
103 
value_type(&self) -> glib::Type104     fn value_type(&self) -> glib::Type {
105         Self::static_type()
106     }
107 }
108 
109 #[cfg(any(feature = "v3_22", feature = "dox"))]
110 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
111 bitflags! {
112     #[doc(alias = "GdkAxisFlags")]
113     pub struct AxisFlags: u32 {
114         #[doc(alias = "GDK_AXIS_FLAG_X")]
115         const X = ffi::GDK_AXIS_FLAG_X as u32;
116         #[doc(alias = "GDK_AXIS_FLAG_Y")]
117         const Y = ffi::GDK_AXIS_FLAG_Y as u32;
118         #[doc(alias = "GDK_AXIS_FLAG_PRESSURE")]
119         const PRESSURE = ffi::GDK_AXIS_FLAG_PRESSURE as u32;
120         #[doc(alias = "GDK_AXIS_FLAG_XTILT")]
121         const XTILT = ffi::GDK_AXIS_FLAG_XTILT as u32;
122         #[doc(alias = "GDK_AXIS_FLAG_YTILT")]
123         const YTILT = ffi::GDK_AXIS_FLAG_YTILT as u32;
124         #[doc(alias = "GDK_AXIS_FLAG_WHEEL")]
125         const WHEEL = ffi::GDK_AXIS_FLAG_WHEEL as u32;
126         #[doc(alias = "GDK_AXIS_FLAG_DISTANCE")]
127         const DISTANCE = ffi::GDK_AXIS_FLAG_DISTANCE as u32;
128         #[doc(alias = "GDK_AXIS_FLAG_ROTATION")]
129         const ROTATION = ffi::GDK_AXIS_FLAG_ROTATION as u32;
130         #[doc(alias = "GDK_AXIS_FLAG_SLIDER")]
131         const SLIDER = ffi::GDK_AXIS_FLAG_SLIDER as u32;
132     }
133 }
134 
135 #[cfg(any(feature = "v3_22", feature = "dox"))]
136 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
137 impl fmt::Display for AxisFlags {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result138     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
139         <Self as fmt::Debug>::fmt(self, f)
140     }
141 }
142 
143 #[cfg(any(feature = "v3_22", feature = "dox"))]
144 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
145 #[doc(hidden)]
146 impl IntoGlib for AxisFlags {
147     type GlibType = ffi::GdkAxisFlags;
148 
into_glib(self) -> ffi::GdkAxisFlags149     fn into_glib(self) -> ffi::GdkAxisFlags {
150         self.bits()
151     }
152 }
153 
154 #[cfg(any(feature = "v3_22", feature = "dox"))]
155 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
156 #[doc(hidden)]
157 impl FromGlib<ffi::GdkAxisFlags> for AxisFlags {
from_glib(value: ffi::GdkAxisFlags) -> Self158     unsafe fn from_glib(value: ffi::GdkAxisFlags) -> Self {
159         skip_assert_initialized!();
160         Self::from_bits_truncate(value)
161     }
162 }
163 
164 #[cfg(any(feature = "v3_22", feature = "dox"))]
165 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
166 impl StaticType for AxisFlags {
static_type() -> Type167     fn static_type() -> Type {
168         unsafe { from_glib(ffi::gdk_axis_flags_get_type()) }
169     }
170 }
171 
172 #[cfg(any(feature = "v3_22", feature = "dox"))]
173 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
174 impl glib::value::ValueType for AxisFlags {
175     type Type = Self;
176 }
177 
178 #[cfg(any(feature = "v3_22", feature = "dox"))]
179 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
180 unsafe impl<'a> FromValue<'a> for AxisFlags {
181     type Checker = glib::value::GenericValueTypeChecker<Self>;
182 
from_value(value: &'a glib::Value) -> Self183     unsafe fn from_value(value: &'a glib::Value) -> Self {
184         skip_assert_initialized!();
185         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
186     }
187 }
188 
189 #[cfg(any(feature = "v3_22", feature = "dox"))]
190 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_22")))]
191 impl ToValue for AxisFlags {
to_value(&self) -> glib::Value192     fn to_value(&self) -> glib::Value {
193         let mut value = glib::Value::for_value_type::<Self>();
194         unsafe {
195             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
196         }
197         value
198     }
199 
value_type(&self) -> glib::Type200     fn value_type(&self) -> glib::Type {
201         Self::static_type()
202     }
203 }
204 
205 bitflags! {
206     #[doc(alias = "GdkDragAction")]
207     pub struct DragAction: u32 {
208         #[doc(alias = "GDK_ACTION_DEFAULT")]
209         const DEFAULT = ffi::GDK_ACTION_DEFAULT as u32;
210         #[doc(alias = "GDK_ACTION_COPY")]
211         const COPY = ffi::GDK_ACTION_COPY as u32;
212         #[doc(alias = "GDK_ACTION_MOVE")]
213         const MOVE = ffi::GDK_ACTION_MOVE as u32;
214         #[doc(alias = "GDK_ACTION_LINK")]
215         const LINK = ffi::GDK_ACTION_LINK as u32;
216         #[doc(alias = "GDK_ACTION_PRIVATE")]
217         const PRIVATE = ffi::GDK_ACTION_PRIVATE as u32;
218         #[doc(alias = "GDK_ACTION_ASK")]
219         const ASK = ffi::GDK_ACTION_ASK as u32;
220     }
221 }
222 
223 impl fmt::Display for DragAction {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result224     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
225         <Self as fmt::Debug>::fmt(self, f)
226     }
227 }
228 
229 #[doc(hidden)]
230 impl IntoGlib for DragAction {
231     type GlibType = ffi::GdkDragAction;
232 
into_glib(self) -> ffi::GdkDragAction233     fn into_glib(self) -> ffi::GdkDragAction {
234         self.bits()
235     }
236 }
237 
238 #[doc(hidden)]
239 impl FromGlib<ffi::GdkDragAction> for DragAction {
from_glib(value: ffi::GdkDragAction) -> Self240     unsafe fn from_glib(value: ffi::GdkDragAction) -> Self {
241         skip_assert_initialized!();
242         Self::from_bits_truncate(value)
243     }
244 }
245 
246 impl StaticType for DragAction {
static_type() -> Type247     fn static_type() -> Type {
248         unsafe { from_glib(ffi::gdk_drag_action_get_type()) }
249     }
250 }
251 
252 impl glib::value::ValueType for DragAction {
253     type Type = Self;
254 }
255 
256 unsafe impl<'a> FromValue<'a> for DragAction {
257     type Checker = glib::value::GenericValueTypeChecker<Self>;
258 
from_value(value: &'a glib::Value) -> Self259     unsafe fn from_value(value: &'a glib::Value) -> Self {
260         skip_assert_initialized!();
261         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
262     }
263 }
264 
265 impl ToValue for DragAction {
to_value(&self) -> glib::Value266     fn to_value(&self) -> glib::Value {
267         let mut value = glib::Value::for_value_type::<Self>();
268         unsafe {
269             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
270         }
271         value
272     }
273 
value_type(&self) -> glib::Type274     fn value_type(&self) -> glib::Type {
275         Self::static_type()
276     }
277 }
278 
279 bitflags! {
280     #[doc(alias = "GdkEventMask")]
281     pub struct EventMask: u32 {
282         #[doc(alias = "GDK_EXPOSURE_MASK")]
283         const EXPOSURE_MASK = ffi::GDK_EXPOSURE_MASK as u32;
284         #[doc(alias = "GDK_POINTER_MOTION_MASK")]
285         const POINTER_MOTION_MASK = ffi::GDK_POINTER_MOTION_MASK as u32;
286         #[doc(alias = "GDK_POINTER_MOTION_HINT_MASK")]
287         const POINTER_MOTION_HINT_MASK = ffi::GDK_POINTER_MOTION_HINT_MASK as u32;
288         #[doc(alias = "GDK_BUTTON_MOTION_MASK")]
289         const BUTTON_MOTION_MASK = ffi::GDK_BUTTON_MOTION_MASK as u32;
290         #[doc(alias = "GDK_BUTTON1_MOTION_MASK")]
291         const BUTTON1_MOTION_MASK = ffi::GDK_BUTTON1_MOTION_MASK as u32;
292         #[doc(alias = "GDK_BUTTON2_MOTION_MASK")]
293         const BUTTON2_MOTION_MASK = ffi::GDK_BUTTON2_MOTION_MASK as u32;
294         #[doc(alias = "GDK_BUTTON3_MOTION_MASK")]
295         const BUTTON3_MOTION_MASK = ffi::GDK_BUTTON3_MOTION_MASK as u32;
296         #[doc(alias = "GDK_BUTTON_PRESS_MASK")]
297         const BUTTON_PRESS_MASK = ffi::GDK_BUTTON_PRESS_MASK as u32;
298         #[doc(alias = "GDK_BUTTON_RELEASE_MASK")]
299         const BUTTON_RELEASE_MASK = ffi::GDK_BUTTON_RELEASE_MASK as u32;
300         #[doc(alias = "GDK_KEY_PRESS_MASK")]
301         const KEY_PRESS_MASK = ffi::GDK_KEY_PRESS_MASK as u32;
302         #[doc(alias = "GDK_KEY_RELEASE_MASK")]
303         const KEY_RELEASE_MASK = ffi::GDK_KEY_RELEASE_MASK as u32;
304         #[doc(alias = "GDK_ENTER_NOTIFY_MASK")]
305         const ENTER_NOTIFY_MASK = ffi::GDK_ENTER_NOTIFY_MASK as u32;
306         #[doc(alias = "GDK_LEAVE_NOTIFY_MASK")]
307         const LEAVE_NOTIFY_MASK = ffi::GDK_LEAVE_NOTIFY_MASK as u32;
308         #[doc(alias = "GDK_FOCUS_CHANGE_MASK")]
309         const FOCUS_CHANGE_MASK = ffi::GDK_FOCUS_CHANGE_MASK as u32;
310         #[doc(alias = "GDK_STRUCTURE_MASK")]
311         const STRUCTURE_MASK = ffi::GDK_STRUCTURE_MASK as u32;
312         #[doc(alias = "GDK_PROPERTY_CHANGE_MASK")]
313         const PROPERTY_CHANGE_MASK = ffi::GDK_PROPERTY_CHANGE_MASK as u32;
314         #[doc(alias = "GDK_VISIBILITY_NOTIFY_MASK")]
315         const VISIBILITY_NOTIFY_MASK = ffi::GDK_VISIBILITY_NOTIFY_MASK as u32;
316         #[doc(alias = "GDK_PROXIMITY_IN_MASK")]
317         const PROXIMITY_IN_MASK = ffi::GDK_PROXIMITY_IN_MASK as u32;
318         #[doc(alias = "GDK_PROXIMITY_OUT_MASK")]
319         const PROXIMITY_OUT_MASK = ffi::GDK_PROXIMITY_OUT_MASK as u32;
320         #[doc(alias = "GDK_SUBSTRUCTURE_MASK")]
321         const SUBSTRUCTURE_MASK = ffi::GDK_SUBSTRUCTURE_MASK as u32;
322         #[doc(alias = "GDK_SCROLL_MASK")]
323         const SCROLL_MASK = ffi::GDK_SCROLL_MASK as u32;
324         #[doc(alias = "GDK_TOUCH_MASK")]
325         const TOUCH_MASK = ffi::GDK_TOUCH_MASK as u32;
326         #[doc(alias = "GDK_SMOOTH_SCROLL_MASK")]
327         const SMOOTH_SCROLL_MASK = ffi::GDK_SMOOTH_SCROLL_MASK as u32;
328         #[doc(alias = "GDK_TOUCHPAD_GESTURE_MASK")]
329         const TOUCHPAD_GESTURE_MASK = ffi::GDK_TOUCHPAD_GESTURE_MASK as u32;
330         #[doc(alias = "GDK_TABLET_PAD_MASK")]
331         const TABLET_PAD_MASK = ffi::GDK_TABLET_PAD_MASK as u32;
332         #[doc(alias = "GDK_ALL_EVENTS_MASK")]
333         const ALL_EVENTS_MASK = ffi::GDK_ALL_EVENTS_MASK as u32;
334     }
335 }
336 
337 impl fmt::Display for EventMask {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result338     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
339         <Self as fmt::Debug>::fmt(self, f)
340     }
341 }
342 
343 #[doc(hidden)]
344 impl IntoGlib for EventMask {
345     type GlibType = ffi::GdkEventMask;
346 
into_glib(self) -> ffi::GdkEventMask347     fn into_glib(self) -> ffi::GdkEventMask {
348         self.bits()
349     }
350 }
351 
352 #[doc(hidden)]
353 impl FromGlib<ffi::GdkEventMask> for EventMask {
from_glib(value: ffi::GdkEventMask) -> Self354     unsafe fn from_glib(value: ffi::GdkEventMask) -> Self {
355         skip_assert_initialized!();
356         Self::from_bits_truncate(value)
357     }
358 }
359 
360 impl StaticType for EventMask {
static_type() -> Type361     fn static_type() -> Type {
362         unsafe { from_glib(ffi::gdk_event_mask_get_type()) }
363     }
364 }
365 
366 impl glib::value::ValueType for EventMask {
367     type Type = Self;
368 }
369 
370 unsafe impl<'a> FromValue<'a> for EventMask {
371     type Checker = glib::value::GenericValueTypeChecker<Self>;
372 
from_value(value: &'a glib::Value) -> Self373     unsafe fn from_value(value: &'a glib::Value) -> Self {
374         skip_assert_initialized!();
375         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
376     }
377 }
378 
379 impl ToValue for EventMask {
to_value(&self) -> glib::Value380     fn to_value(&self) -> glib::Value {
381         let mut value = glib::Value::for_value_type::<Self>();
382         unsafe {
383             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
384         }
385         value
386     }
387 
value_type(&self) -> glib::Type388     fn value_type(&self) -> glib::Type {
389         Self::static_type()
390     }
391 }
392 
393 bitflags! {
394     #[doc(alias = "GdkFrameClockPhase")]
395     pub struct FrameClockPhase: u32 {
396         #[doc(alias = "GDK_FRAME_CLOCK_PHASE_NONE")]
397         const NONE = ffi::GDK_FRAME_CLOCK_PHASE_NONE as u32;
398         #[doc(alias = "GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS")]
399         const FLUSH_EVENTS = ffi::GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS as u32;
400         #[doc(alias = "GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT")]
401         const BEFORE_PAINT = ffi::GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT as u32;
402         #[doc(alias = "GDK_FRAME_CLOCK_PHASE_UPDATE")]
403         const UPDATE = ffi::GDK_FRAME_CLOCK_PHASE_UPDATE as u32;
404         #[doc(alias = "GDK_FRAME_CLOCK_PHASE_LAYOUT")]
405         const LAYOUT = ffi::GDK_FRAME_CLOCK_PHASE_LAYOUT as u32;
406         #[doc(alias = "GDK_FRAME_CLOCK_PHASE_PAINT")]
407         const PAINT = ffi::GDK_FRAME_CLOCK_PHASE_PAINT as u32;
408         #[doc(alias = "GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS")]
409         const RESUME_EVENTS = ffi::GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS as u32;
410         #[doc(alias = "GDK_FRAME_CLOCK_PHASE_AFTER_PAINT")]
411         const AFTER_PAINT = ffi::GDK_FRAME_CLOCK_PHASE_AFTER_PAINT as u32;
412     }
413 }
414 
415 impl fmt::Display for FrameClockPhase {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result416     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
417         <Self as fmt::Debug>::fmt(self, f)
418     }
419 }
420 
421 #[doc(hidden)]
422 impl IntoGlib for FrameClockPhase {
423     type GlibType = ffi::GdkFrameClockPhase;
424 
into_glib(self) -> ffi::GdkFrameClockPhase425     fn into_glib(self) -> ffi::GdkFrameClockPhase {
426         self.bits()
427     }
428 }
429 
430 #[doc(hidden)]
431 impl FromGlib<ffi::GdkFrameClockPhase> for FrameClockPhase {
from_glib(value: ffi::GdkFrameClockPhase) -> Self432     unsafe fn from_glib(value: ffi::GdkFrameClockPhase) -> Self {
433         skip_assert_initialized!();
434         Self::from_bits_truncate(value)
435     }
436 }
437 
438 impl StaticType for FrameClockPhase {
static_type() -> Type439     fn static_type() -> Type {
440         unsafe { from_glib(ffi::gdk_frame_clock_phase_get_type()) }
441     }
442 }
443 
444 impl glib::value::ValueType for FrameClockPhase {
445     type Type = Self;
446 }
447 
448 unsafe impl<'a> FromValue<'a> for FrameClockPhase {
449     type Checker = glib::value::GenericValueTypeChecker<Self>;
450 
from_value(value: &'a glib::Value) -> Self451     unsafe fn from_value(value: &'a glib::Value) -> Self {
452         skip_assert_initialized!();
453         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
454     }
455 }
456 
457 impl ToValue for FrameClockPhase {
to_value(&self) -> glib::Value458     fn to_value(&self) -> glib::Value {
459         let mut value = glib::Value::for_value_type::<Self>();
460         unsafe {
461             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
462         }
463         value
464     }
465 
value_type(&self) -> glib::Type466     fn value_type(&self) -> glib::Type {
467         Self::static_type()
468     }
469 }
470 
471 bitflags! {
472     #[doc(alias = "GdkModifierType")]
473     pub struct ModifierType: u32 {
474         #[doc(alias = "GDK_SHIFT_MASK")]
475         const SHIFT_MASK = ffi::GDK_SHIFT_MASK as u32;
476         #[doc(alias = "GDK_LOCK_MASK")]
477         const LOCK_MASK = ffi::GDK_LOCK_MASK as u32;
478         #[doc(alias = "GDK_CONTROL_MASK")]
479         const CONTROL_MASK = ffi::GDK_CONTROL_MASK as u32;
480         #[doc(alias = "GDK_MOD1_MASK")]
481         const MOD1_MASK = ffi::GDK_MOD1_MASK as u32;
482         #[doc(alias = "GDK_MOD2_MASK")]
483         const MOD2_MASK = ffi::GDK_MOD2_MASK as u32;
484         #[doc(alias = "GDK_MOD3_MASK")]
485         const MOD3_MASK = ffi::GDK_MOD3_MASK as u32;
486         #[doc(alias = "GDK_MOD4_MASK")]
487         const MOD4_MASK = ffi::GDK_MOD4_MASK as u32;
488         #[doc(alias = "GDK_MOD5_MASK")]
489         const MOD5_MASK = ffi::GDK_MOD5_MASK as u32;
490         #[doc(alias = "GDK_BUTTON1_MASK")]
491         const BUTTON1_MASK = ffi::GDK_BUTTON1_MASK as u32;
492         #[doc(alias = "GDK_BUTTON2_MASK")]
493         const BUTTON2_MASK = ffi::GDK_BUTTON2_MASK as u32;
494         #[doc(alias = "GDK_BUTTON3_MASK")]
495         const BUTTON3_MASK = ffi::GDK_BUTTON3_MASK as u32;
496         #[doc(alias = "GDK_BUTTON4_MASK")]
497         const BUTTON4_MASK = ffi::GDK_BUTTON4_MASK as u32;
498         #[doc(alias = "GDK_BUTTON5_MASK")]
499         const BUTTON5_MASK = ffi::GDK_BUTTON5_MASK as u32;
500         #[doc(alias = "GDK_MODIFIER_RESERVED_13_MASK")]
501         const MODIFIER_RESERVED_13_MASK = ffi::GDK_MODIFIER_RESERVED_13_MASK as u32;
502         #[doc(alias = "GDK_MODIFIER_RESERVED_14_MASK")]
503         const MODIFIER_RESERVED_14_MASK = ffi::GDK_MODIFIER_RESERVED_14_MASK as u32;
504         #[doc(alias = "GDK_MODIFIER_RESERVED_15_MASK")]
505         const MODIFIER_RESERVED_15_MASK = ffi::GDK_MODIFIER_RESERVED_15_MASK as u32;
506         #[doc(alias = "GDK_MODIFIER_RESERVED_16_MASK")]
507         const MODIFIER_RESERVED_16_MASK = ffi::GDK_MODIFIER_RESERVED_16_MASK as u32;
508         #[doc(alias = "GDK_MODIFIER_RESERVED_17_MASK")]
509         const MODIFIER_RESERVED_17_MASK = ffi::GDK_MODIFIER_RESERVED_17_MASK as u32;
510         #[doc(alias = "GDK_MODIFIER_RESERVED_18_MASK")]
511         const MODIFIER_RESERVED_18_MASK = ffi::GDK_MODIFIER_RESERVED_18_MASK as u32;
512         #[doc(alias = "GDK_MODIFIER_RESERVED_19_MASK")]
513         const MODIFIER_RESERVED_19_MASK = ffi::GDK_MODIFIER_RESERVED_19_MASK as u32;
514         #[doc(alias = "GDK_MODIFIER_RESERVED_20_MASK")]
515         const MODIFIER_RESERVED_20_MASK = ffi::GDK_MODIFIER_RESERVED_20_MASK as u32;
516         #[doc(alias = "GDK_MODIFIER_RESERVED_21_MASK")]
517         const MODIFIER_RESERVED_21_MASK = ffi::GDK_MODIFIER_RESERVED_21_MASK as u32;
518         #[doc(alias = "GDK_MODIFIER_RESERVED_22_MASK")]
519         const MODIFIER_RESERVED_22_MASK = ffi::GDK_MODIFIER_RESERVED_22_MASK as u32;
520         #[doc(alias = "GDK_MODIFIER_RESERVED_23_MASK")]
521         const MODIFIER_RESERVED_23_MASK = ffi::GDK_MODIFIER_RESERVED_23_MASK as u32;
522         #[doc(alias = "GDK_MODIFIER_RESERVED_24_MASK")]
523         const MODIFIER_RESERVED_24_MASK = ffi::GDK_MODIFIER_RESERVED_24_MASK as u32;
524         #[doc(alias = "GDK_MODIFIER_RESERVED_25_MASK")]
525         const MODIFIER_RESERVED_25_MASK = ffi::GDK_MODIFIER_RESERVED_25_MASK as u32;
526         #[doc(alias = "GDK_SUPER_MASK")]
527         const SUPER_MASK = ffi::GDK_SUPER_MASK as u32;
528         #[doc(alias = "GDK_HYPER_MASK")]
529         const HYPER_MASK = ffi::GDK_HYPER_MASK as u32;
530         #[doc(alias = "GDK_META_MASK")]
531         const META_MASK = ffi::GDK_META_MASK as u32;
532         #[doc(alias = "GDK_MODIFIER_RESERVED_29_MASK")]
533         const MODIFIER_RESERVED_29_MASK = ffi::GDK_MODIFIER_RESERVED_29_MASK as u32;
534         #[doc(alias = "GDK_RELEASE_MASK")]
535         const RELEASE_MASK = ffi::GDK_RELEASE_MASK as u32;
536         #[doc(alias = "GDK_MODIFIER_MASK")]
537         const MODIFIER_MASK = ffi::GDK_MODIFIER_MASK as u32;
538     }
539 }
540 
541 impl fmt::Display for ModifierType {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result542     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
543         <Self as fmt::Debug>::fmt(self, f)
544     }
545 }
546 
547 #[doc(hidden)]
548 impl IntoGlib for ModifierType {
549     type GlibType = ffi::GdkModifierType;
550 
into_glib(self) -> ffi::GdkModifierType551     fn into_glib(self) -> ffi::GdkModifierType {
552         self.bits()
553     }
554 }
555 
556 #[doc(hidden)]
557 impl FromGlib<ffi::GdkModifierType> for ModifierType {
from_glib(value: ffi::GdkModifierType) -> Self558     unsafe fn from_glib(value: ffi::GdkModifierType) -> Self {
559         skip_assert_initialized!();
560         Self::from_bits_truncate(value)
561     }
562 }
563 
564 impl StaticType for ModifierType {
static_type() -> Type565     fn static_type() -> Type {
566         unsafe { from_glib(ffi::gdk_modifier_type_get_type()) }
567     }
568 }
569 
570 impl glib::value::ValueType for ModifierType {
571     type Type = Self;
572 }
573 
574 unsafe impl<'a> FromValue<'a> for ModifierType {
575     type Checker = glib::value::GenericValueTypeChecker<Self>;
576 
from_value(value: &'a glib::Value) -> Self577     unsafe fn from_value(value: &'a glib::Value) -> Self {
578         skip_assert_initialized!();
579         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
580     }
581 }
582 
583 impl ToValue for ModifierType {
to_value(&self) -> glib::Value584     fn to_value(&self) -> glib::Value {
585         let mut value = glib::Value::for_value_type::<Self>();
586         unsafe {
587             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
588         }
589         value
590     }
591 
value_type(&self) -> glib::Type592     fn value_type(&self) -> glib::Type {
593         Self::static_type()
594     }
595 }
596 
597 #[cfg(any(feature = "v3_20", feature = "dox"))]
598 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_20")))]
599 bitflags! {
600     #[doc(alias = "GdkSeatCapabilities")]
601     pub struct SeatCapabilities: u32 {
602         #[doc(alias = "GDK_SEAT_CAPABILITY_NONE")]
603         const NONE = ffi::GDK_SEAT_CAPABILITY_NONE as u32;
604         #[doc(alias = "GDK_SEAT_CAPABILITY_POINTER")]
605         const POINTER = ffi::GDK_SEAT_CAPABILITY_POINTER as u32;
606         #[doc(alias = "GDK_SEAT_CAPABILITY_TOUCH")]
607         const TOUCH = ffi::GDK_SEAT_CAPABILITY_TOUCH as u32;
608         #[doc(alias = "GDK_SEAT_CAPABILITY_TABLET_STYLUS")]
609         const TABLET_STYLUS = ffi::GDK_SEAT_CAPABILITY_TABLET_STYLUS as u32;
610         #[doc(alias = "GDK_SEAT_CAPABILITY_KEYBOARD")]
611         const KEYBOARD = ffi::GDK_SEAT_CAPABILITY_KEYBOARD as u32;
612         #[doc(alias = "GDK_SEAT_CAPABILITY_ALL_POINTING")]
613         const ALL_POINTING = ffi::GDK_SEAT_CAPABILITY_ALL_POINTING as u32;
614         #[doc(alias = "GDK_SEAT_CAPABILITY_ALL")]
615         const ALL = ffi::GDK_SEAT_CAPABILITY_ALL as u32;
616     }
617 }
618 
619 #[cfg(any(feature = "v3_20", feature = "dox"))]
620 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_20")))]
621 impl fmt::Display for SeatCapabilities {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result622     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
623         <Self as fmt::Debug>::fmt(self, f)
624     }
625 }
626 
627 #[cfg(any(feature = "v3_20", feature = "dox"))]
628 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_20")))]
629 #[doc(hidden)]
630 impl IntoGlib for SeatCapabilities {
631     type GlibType = ffi::GdkSeatCapabilities;
632 
into_glib(self) -> ffi::GdkSeatCapabilities633     fn into_glib(self) -> ffi::GdkSeatCapabilities {
634         self.bits()
635     }
636 }
637 
638 #[cfg(any(feature = "v3_20", feature = "dox"))]
639 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_20")))]
640 #[doc(hidden)]
641 impl FromGlib<ffi::GdkSeatCapabilities> for SeatCapabilities {
from_glib(value: ffi::GdkSeatCapabilities) -> Self642     unsafe fn from_glib(value: ffi::GdkSeatCapabilities) -> Self {
643         skip_assert_initialized!();
644         Self::from_bits_truncate(value)
645     }
646 }
647 
648 #[cfg(any(feature = "v3_20", feature = "dox"))]
649 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_20")))]
650 impl StaticType for SeatCapabilities {
static_type() -> Type651     fn static_type() -> Type {
652         unsafe { from_glib(ffi::gdk_seat_capabilities_get_type()) }
653     }
654 }
655 
656 #[cfg(any(feature = "v3_20", feature = "dox"))]
657 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_20")))]
658 impl glib::value::ValueType for SeatCapabilities {
659     type Type = Self;
660 }
661 
662 #[cfg(any(feature = "v3_20", feature = "dox"))]
663 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_20")))]
664 unsafe impl<'a> FromValue<'a> for SeatCapabilities {
665     type Checker = glib::value::GenericValueTypeChecker<Self>;
666 
from_value(value: &'a glib::Value) -> Self667     unsafe fn from_value(value: &'a glib::Value) -> Self {
668         skip_assert_initialized!();
669         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
670     }
671 }
672 
673 #[cfg(any(feature = "v3_20", feature = "dox"))]
674 #[cfg_attr(feature = "dox", doc(cfg(feature = "v3_20")))]
675 impl ToValue for SeatCapabilities {
to_value(&self) -> glib::Value676     fn to_value(&self) -> glib::Value {
677         let mut value = glib::Value::for_value_type::<Self>();
678         unsafe {
679             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
680         }
681         value
682     }
683 
value_type(&self) -> glib::Type684     fn value_type(&self) -> glib::Type {
685         Self::static_type()
686     }
687 }
688 
689 bitflags! {
690     #[doc(alias = "GdkWMDecoration")]
691     pub struct WMDecoration: u32 {
692         #[doc(alias = "GDK_DECOR_ALL")]
693         const ALL = ffi::GDK_DECOR_ALL as u32;
694         #[doc(alias = "GDK_DECOR_BORDER")]
695         const BORDER = ffi::GDK_DECOR_BORDER as u32;
696         #[doc(alias = "GDK_DECOR_RESIZEH")]
697         const RESIZEH = ffi::GDK_DECOR_RESIZEH as u32;
698         #[doc(alias = "GDK_DECOR_TITLE")]
699         const TITLE = ffi::GDK_DECOR_TITLE as u32;
700         #[doc(alias = "GDK_DECOR_MENU")]
701         const MENU = ffi::GDK_DECOR_MENU as u32;
702         #[doc(alias = "GDK_DECOR_MINIMIZE")]
703         const MINIMIZE = ffi::GDK_DECOR_MINIMIZE as u32;
704         #[doc(alias = "GDK_DECOR_MAXIMIZE")]
705         const MAXIMIZE = ffi::GDK_DECOR_MAXIMIZE as u32;
706     }
707 }
708 
709 impl fmt::Display for WMDecoration {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result710     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
711         <Self as fmt::Debug>::fmt(self, f)
712     }
713 }
714 
715 #[doc(hidden)]
716 impl IntoGlib for WMDecoration {
717     type GlibType = ffi::GdkWMDecoration;
718 
into_glib(self) -> ffi::GdkWMDecoration719     fn into_glib(self) -> ffi::GdkWMDecoration {
720         self.bits()
721     }
722 }
723 
724 #[doc(hidden)]
725 impl FromGlib<ffi::GdkWMDecoration> for WMDecoration {
from_glib(value: ffi::GdkWMDecoration) -> Self726     unsafe fn from_glib(value: ffi::GdkWMDecoration) -> Self {
727         skip_assert_initialized!();
728         Self::from_bits_truncate(value)
729     }
730 }
731 
732 impl StaticType for WMDecoration {
static_type() -> Type733     fn static_type() -> Type {
734         unsafe { from_glib(ffi::gdk_wm_decoration_get_type()) }
735     }
736 }
737 
738 impl glib::value::ValueType for WMDecoration {
739     type Type = Self;
740 }
741 
742 unsafe impl<'a> FromValue<'a> for WMDecoration {
743     type Checker = glib::value::GenericValueTypeChecker<Self>;
744 
from_value(value: &'a glib::Value) -> Self745     unsafe fn from_value(value: &'a glib::Value) -> Self {
746         skip_assert_initialized!();
747         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
748     }
749 }
750 
751 impl ToValue for WMDecoration {
to_value(&self) -> glib::Value752     fn to_value(&self) -> glib::Value {
753         let mut value = glib::Value::for_value_type::<Self>();
754         unsafe {
755             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
756         }
757         value
758     }
759 
value_type(&self) -> glib::Type760     fn value_type(&self) -> glib::Type {
761         Self::static_type()
762     }
763 }
764 
765 bitflags! {
766     #[doc(alias = "GdkWMFunction")]
767     pub struct WMFunction: u32 {
768         #[doc(alias = "GDK_FUNC_ALL")]
769         const ALL = ffi::GDK_FUNC_ALL as u32;
770         #[doc(alias = "GDK_FUNC_RESIZE")]
771         const RESIZE = ffi::GDK_FUNC_RESIZE as u32;
772         #[doc(alias = "GDK_FUNC_MOVE")]
773         const MOVE = ffi::GDK_FUNC_MOVE as u32;
774         #[doc(alias = "GDK_FUNC_MINIMIZE")]
775         const MINIMIZE = ffi::GDK_FUNC_MINIMIZE as u32;
776         #[doc(alias = "GDK_FUNC_MAXIMIZE")]
777         const MAXIMIZE = ffi::GDK_FUNC_MAXIMIZE as u32;
778         #[doc(alias = "GDK_FUNC_CLOSE")]
779         const CLOSE = ffi::GDK_FUNC_CLOSE as u32;
780     }
781 }
782 
783 impl fmt::Display for WMFunction {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result784     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
785         <Self as fmt::Debug>::fmt(self, f)
786     }
787 }
788 
789 #[doc(hidden)]
790 impl IntoGlib for WMFunction {
791     type GlibType = ffi::GdkWMFunction;
792 
into_glib(self) -> ffi::GdkWMFunction793     fn into_glib(self) -> ffi::GdkWMFunction {
794         self.bits()
795     }
796 }
797 
798 #[doc(hidden)]
799 impl FromGlib<ffi::GdkWMFunction> for WMFunction {
from_glib(value: ffi::GdkWMFunction) -> Self800     unsafe fn from_glib(value: ffi::GdkWMFunction) -> Self {
801         skip_assert_initialized!();
802         Self::from_bits_truncate(value)
803     }
804 }
805 
806 impl StaticType for WMFunction {
static_type() -> Type807     fn static_type() -> Type {
808         unsafe { from_glib(ffi::gdk_wm_function_get_type()) }
809     }
810 }
811 
812 impl glib::value::ValueType for WMFunction {
813     type Type = Self;
814 }
815 
816 unsafe impl<'a> FromValue<'a> for WMFunction {
817     type Checker = glib::value::GenericValueTypeChecker<Self>;
818 
from_value(value: &'a glib::Value) -> Self819     unsafe fn from_value(value: &'a glib::Value) -> Self {
820         skip_assert_initialized!();
821         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
822     }
823 }
824 
825 impl ToValue for WMFunction {
to_value(&self) -> glib::Value826     fn to_value(&self) -> glib::Value {
827         let mut value = glib::Value::for_value_type::<Self>();
828         unsafe {
829             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
830         }
831         value
832     }
833 
value_type(&self) -> glib::Type834     fn value_type(&self) -> glib::Type {
835         Self::static_type()
836     }
837 }
838 
839 bitflags! {
840     #[doc(alias = "GdkWindowHints")]
841     pub struct WindowHints: u32 {
842         #[doc(alias = "GDK_HINT_POS")]
843         const POS = ffi::GDK_HINT_POS as u32;
844         #[doc(alias = "GDK_HINT_MIN_SIZE")]
845         const MIN_SIZE = ffi::GDK_HINT_MIN_SIZE as u32;
846         #[doc(alias = "GDK_HINT_MAX_SIZE")]
847         const MAX_SIZE = ffi::GDK_HINT_MAX_SIZE as u32;
848         #[doc(alias = "GDK_HINT_BASE_SIZE")]
849         const BASE_SIZE = ffi::GDK_HINT_BASE_SIZE as u32;
850         #[doc(alias = "GDK_HINT_ASPECT")]
851         const ASPECT = ffi::GDK_HINT_ASPECT as u32;
852         #[doc(alias = "GDK_HINT_RESIZE_INC")]
853         const RESIZE_INC = ffi::GDK_HINT_RESIZE_INC as u32;
854         #[doc(alias = "GDK_HINT_WIN_GRAVITY")]
855         const WIN_GRAVITY = ffi::GDK_HINT_WIN_GRAVITY as u32;
856         #[doc(alias = "GDK_HINT_USER_POS")]
857         const USER_POS = ffi::GDK_HINT_USER_POS as u32;
858         #[doc(alias = "GDK_HINT_USER_SIZE")]
859         const USER_SIZE = ffi::GDK_HINT_USER_SIZE as u32;
860     }
861 }
862 
863 impl fmt::Display for WindowHints {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result864     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
865         <Self as fmt::Debug>::fmt(self, f)
866     }
867 }
868 
869 #[doc(hidden)]
870 impl IntoGlib for WindowHints {
871     type GlibType = ffi::GdkWindowHints;
872 
into_glib(self) -> ffi::GdkWindowHints873     fn into_glib(self) -> ffi::GdkWindowHints {
874         self.bits()
875     }
876 }
877 
878 #[doc(hidden)]
879 impl FromGlib<ffi::GdkWindowHints> for WindowHints {
from_glib(value: ffi::GdkWindowHints) -> Self880     unsafe fn from_glib(value: ffi::GdkWindowHints) -> Self {
881         skip_assert_initialized!();
882         Self::from_bits_truncate(value)
883     }
884 }
885 
886 impl StaticType for WindowHints {
static_type() -> Type887     fn static_type() -> Type {
888         unsafe { from_glib(ffi::gdk_window_hints_get_type()) }
889     }
890 }
891 
892 impl glib::value::ValueType for WindowHints {
893     type Type = Self;
894 }
895 
896 unsafe impl<'a> FromValue<'a> for WindowHints {
897     type Checker = glib::value::GenericValueTypeChecker<Self>;
898 
from_value(value: &'a glib::Value) -> Self899     unsafe fn from_value(value: &'a glib::Value) -> Self {
900         skip_assert_initialized!();
901         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
902     }
903 }
904 
905 impl ToValue for WindowHints {
to_value(&self) -> glib::Value906     fn to_value(&self) -> glib::Value {
907         let mut value = glib::Value::for_value_type::<Self>();
908         unsafe {
909             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
910         }
911         value
912     }
913 
value_type(&self) -> glib::Type914     fn value_type(&self) -> glib::Type {
915         Self::static_type()
916     }
917 }
918 
919 bitflags! {
920     #[doc(alias = "GdkWindowState")]
921     pub struct WindowState: u32 {
922         #[doc(alias = "GDK_WINDOW_STATE_WITHDRAWN")]
923         const WITHDRAWN = ffi::GDK_WINDOW_STATE_WITHDRAWN as u32;
924         #[doc(alias = "GDK_WINDOW_STATE_ICONIFIED")]
925         const ICONIFIED = ffi::GDK_WINDOW_STATE_ICONIFIED as u32;
926         #[doc(alias = "GDK_WINDOW_STATE_MAXIMIZED")]
927         const MAXIMIZED = ffi::GDK_WINDOW_STATE_MAXIMIZED as u32;
928         #[doc(alias = "GDK_WINDOW_STATE_STICKY")]
929         const STICKY = ffi::GDK_WINDOW_STATE_STICKY as u32;
930         #[doc(alias = "GDK_WINDOW_STATE_FULLSCREEN")]
931         const FULLSCREEN = ffi::GDK_WINDOW_STATE_FULLSCREEN as u32;
932         #[doc(alias = "GDK_WINDOW_STATE_ABOVE")]
933         const ABOVE = ffi::GDK_WINDOW_STATE_ABOVE as u32;
934         #[doc(alias = "GDK_WINDOW_STATE_BELOW")]
935         const BELOW = ffi::GDK_WINDOW_STATE_BELOW as u32;
936         #[doc(alias = "GDK_WINDOW_STATE_FOCUSED")]
937         const FOCUSED = ffi::GDK_WINDOW_STATE_FOCUSED as u32;
938         #[doc(alias = "GDK_WINDOW_STATE_TILED")]
939         const TILED = ffi::GDK_WINDOW_STATE_TILED as u32;
940         #[doc(alias = "GDK_WINDOW_STATE_TOP_TILED")]
941         const TOP_TILED = ffi::GDK_WINDOW_STATE_TOP_TILED as u32;
942         #[doc(alias = "GDK_WINDOW_STATE_TOP_RESIZABLE")]
943         const TOP_RESIZABLE = ffi::GDK_WINDOW_STATE_TOP_RESIZABLE as u32;
944         #[doc(alias = "GDK_WINDOW_STATE_RIGHT_TILED")]
945         const RIGHT_TILED = ffi::GDK_WINDOW_STATE_RIGHT_TILED as u32;
946         #[doc(alias = "GDK_WINDOW_STATE_RIGHT_RESIZABLE")]
947         const RIGHT_RESIZABLE = ffi::GDK_WINDOW_STATE_RIGHT_RESIZABLE as u32;
948         #[doc(alias = "GDK_WINDOW_STATE_BOTTOM_TILED")]
949         const BOTTOM_TILED = ffi::GDK_WINDOW_STATE_BOTTOM_TILED as u32;
950         #[doc(alias = "GDK_WINDOW_STATE_BOTTOM_RESIZABLE")]
951         const BOTTOM_RESIZABLE = ffi::GDK_WINDOW_STATE_BOTTOM_RESIZABLE as u32;
952         #[doc(alias = "GDK_WINDOW_STATE_LEFT_TILED")]
953         const LEFT_TILED = ffi::GDK_WINDOW_STATE_LEFT_TILED as u32;
954         #[doc(alias = "GDK_WINDOW_STATE_LEFT_RESIZABLE")]
955         const LEFT_RESIZABLE = ffi::GDK_WINDOW_STATE_LEFT_RESIZABLE as u32;
956     }
957 }
958 
959 impl fmt::Display for WindowState {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result960     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
961         <Self as fmt::Debug>::fmt(self, f)
962     }
963 }
964 
965 #[doc(hidden)]
966 impl IntoGlib for WindowState {
967     type GlibType = ffi::GdkWindowState;
968 
into_glib(self) -> ffi::GdkWindowState969     fn into_glib(self) -> ffi::GdkWindowState {
970         self.bits()
971     }
972 }
973 
974 #[doc(hidden)]
975 impl FromGlib<ffi::GdkWindowState> for WindowState {
from_glib(value: ffi::GdkWindowState) -> Self976     unsafe fn from_glib(value: ffi::GdkWindowState) -> Self {
977         skip_assert_initialized!();
978         Self::from_bits_truncate(value)
979     }
980 }
981 
982 impl StaticType for WindowState {
static_type() -> Type983     fn static_type() -> Type {
984         unsafe { from_glib(ffi::gdk_window_state_get_type()) }
985     }
986 }
987 
988 impl glib::value::ValueType for WindowState {
989     type Type = Self;
990 }
991 
992 unsafe impl<'a> FromValue<'a> for WindowState {
993     type Checker = glib::value::GenericValueTypeChecker<Self>;
994 
from_value(value: &'a glib::Value) -> Self995     unsafe fn from_value(value: &'a glib::Value) -> Self {
996         skip_assert_initialized!();
997         from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
998     }
999 }
1000 
1001 impl ToValue for WindowState {
to_value(&self) -> glib::Value1002     fn to_value(&self) -> glib::Value {
1003         let mut value = glib::Value::for_value_type::<Self>();
1004         unsafe {
1005             glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
1006         }
1007         value
1008     }
1009 
value_type(&self) -> glib::Type1010     fn value_type(&self) -> glib::Type {
1011         Self::static_type()
1012     }
1013 }
1014