[go: up one dir, main page]

gdk4/auto/
toplevel_layout.rs

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
5use crate::{ffi, Monitor};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9    #[derive(Debug, PartialOrd, Ord, Hash)]
10    pub struct ToplevelLayout(Shared<ffi::GdkToplevelLayout>);
11
12    match fn {
13        ref => |ptr| ffi::gdk_toplevel_layout_ref(ptr),
14        unref => |ptr| ffi::gdk_toplevel_layout_unref(ptr),
15        type_ => || ffi::gdk_toplevel_layout_get_type(),
16    }
17}
18
19impl ToplevelLayout {
20    #[doc(alias = "gdk_toplevel_layout_new")]
21    pub fn new() -> ToplevelLayout {
22        assert_initialized_main_thread!();
23        unsafe { from_glib_full(ffi::gdk_toplevel_layout_new()) }
24    }
25
26    #[doc(alias = "gdk_toplevel_layout_copy")]
27    #[must_use]
28    pub fn copy(&self) -> ToplevelLayout {
29        unsafe { from_glib_full(ffi::gdk_toplevel_layout_copy(self.to_glib_none().0)) }
30    }
31
32    #[doc(alias = "gdk_toplevel_layout_equal")]
33    fn equal(&self, other: &ToplevelLayout) -> bool {
34        unsafe {
35            from_glib(ffi::gdk_toplevel_layout_equal(
36                self.to_glib_none().0,
37                other.to_glib_none().0,
38            ))
39        }
40    }
41
42    #[doc(alias = "gdk_toplevel_layout_get_fullscreen")]
43    #[doc(alias = "get_fullscreen")]
44    pub fn fullscreen(&self) -> Option<bool> {
45        unsafe {
46            let mut fullscreen = std::mem::MaybeUninit::uninit();
47            let ret = from_glib(ffi::gdk_toplevel_layout_get_fullscreen(
48                self.to_glib_none().0,
49                fullscreen.as_mut_ptr(),
50            ));
51            if ret {
52                Some(from_glib(fullscreen.assume_init()))
53            } else {
54                None
55            }
56        }
57    }
58
59    #[doc(alias = "gdk_toplevel_layout_get_fullscreen_monitor")]
60    #[doc(alias = "get_fullscreen_monitor")]
61    pub fn fullscreen_monitor(&self) -> Option<Monitor> {
62        unsafe {
63            from_glib_none(ffi::gdk_toplevel_layout_get_fullscreen_monitor(
64                self.to_glib_none().0,
65            ))
66        }
67    }
68
69    #[doc(alias = "gdk_toplevel_layout_get_maximized")]
70    #[doc(alias = "get_maximized")]
71    pub fn maximized(&self) -> Option<bool> {
72        unsafe {
73            let mut maximized = std::mem::MaybeUninit::uninit();
74            let ret = from_glib(ffi::gdk_toplevel_layout_get_maximized(
75                self.to_glib_none().0,
76                maximized.as_mut_ptr(),
77            ));
78            if ret {
79                Some(from_glib(maximized.assume_init()))
80            } else {
81                None
82            }
83        }
84    }
85
86    #[doc(alias = "gdk_toplevel_layout_get_resizable")]
87    #[doc(alias = "get_resizable")]
88    pub fn is_resizable(&self) -> bool {
89        unsafe {
90            from_glib(ffi::gdk_toplevel_layout_get_resizable(
91                self.to_glib_none().0,
92            ))
93        }
94    }
95
96    #[doc(alias = "gdk_toplevel_layout_set_fullscreen")]
97    pub fn set_fullscreen(&self, fullscreen: bool, monitor: Option<&impl IsA<Monitor>>) {
98        unsafe {
99            ffi::gdk_toplevel_layout_set_fullscreen(
100                self.to_glib_none().0,
101                fullscreen.into_glib(),
102                monitor.map(|p| p.as_ref()).to_glib_none().0,
103            );
104        }
105    }
106
107    #[doc(alias = "gdk_toplevel_layout_set_maximized")]
108    pub fn set_maximized(&self, maximized: bool) {
109        unsafe {
110            ffi::gdk_toplevel_layout_set_maximized(self.to_glib_none().0, maximized.into_glib());
111        }
112    }
113
114    #[doc(alias = "gdk_toplevel_layout_set_resizable")]
115    pub fn set_resizable(&self, resizable: bool) {
116        unsafe {
117            ffi::gdk_toplevel_layout_set_resizable(self.to_glib_none().0, resizable.into_glib());
118        }
119    }
120}
121
122impl Default for ToplevelLayout {
123    fn default() -> Self {
124        Self::new()
125    }
126}
127
128impl PartialEq for ToplevelLayout {
129    #[inline]
130    fn eq(&self, other: &Self) -> bool {
131        self.equal(other)
132    }
133}
134
135impl Eq for ToplevelLayout {}