Skip to main content

gtk/
invisible.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use crate::{Invisible, ffi};
4use glib::object::IsA;
5use glib::translate::{ToGlibPtr, from_glib_none};
6
7// For some reasons, it's not generated...
8pub trait InvisibleExtManual: IsA<Invisible> + 'static {
9    /// Returns the [`gdk::Screen`][crate::gdk::Screen] object associated with `self`
10    ///
11    /// # Returns
12    ///
13    /// the associated [`gdk::Screen`][crate::gdk::Screen].
14    #[doc(alias = "gtk_invisible_get_screen")]
15    #[doc(alias = "get_screen")]
16    fn screen(&self) -> Option<gdk::Screen> {
17        unsafe {
18            from_glib_none(ffi::gtk_invisible_get_screen(
19                self.as_ref().to_glib_none().0,
20            ))
21        }
22    }
23}
24
25impl<T: IsA<Invisible>> InvisibleExtManual for T {}