gtk-layer-shell 0.2.1

Save gir-generated wrapper for gtk-layer-shell
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from ../gir-files
// DO NOT EDIT

use gtk_layer_shell_sys as ffi; // Manual edit

use crate::Edge;
#[cfg(any(feature = "v0_6", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_6")))]
use crate::KeyboardMode;
use crate::Layer;
use glib::object::IsA;
use glib::translate::*;

#[doc(alias = "gtk_layer_auto_exclusive_zone_enable")]
pub fn auto_exclusive_zone_enable<P: IsA<gtk::Window>>(window: &P) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_auto_exclusive_zone_enable(window.as_ref().to_glib_none().0);
    }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_auto_exclusive_zone_is_enabled")]
pub fn auto_exclusive_zone_is_enabled<P: IsA<gtk::Window>>(window: &P) -> bool {
    assert_initialized_main_thread!();
    unsafe {
        from_glib(ffi::gtk_layer_auto_exclusive_zone_is_enabled(
            window.as_ref().to_glib_none().0,
        ))
    }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_get_anchor")]
#[doc(alias = "get_anchor")]
pub fn is_anchor<P: IsA<gtk::Window>>(window: &P, edge: Edge) -> bool {
    assert_initialized_main_thread!();
    unsafe {
        from_glib(ffi::gtk_layer_get_anchor(
            window.as_ref().to_glib_none().0,
            edge.into_glib(),
        ))
    }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_get_exclusive_zone")]
#[doc(alias = "get_exclusive_zone")]
pub fn exclusive_zone<P: IsA<gtk::Window>>(window: &P) -> i32 {
    assert_initialized_main_thread!();
    unsafe { ffi::gtk_layer_get_exclusive_zone(window.as_ref().to_glib_none().0) }
}

#[cfg_attr(feature = "v0_6", deprecated = "Since 0.6")]
#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_get_keyboard_interactivity")]
#[doc(alias = "get_keyboard_interactivity")]
pub fn is_keyboard_interactivity<P: IsA<gtk::Window>>(window: &P) -> bool {
    assert_initialized_main_thread!();
    unsafe {
        from_glib(ffi::gtk_layer_get_keyboard_interactivity(
            window.as_ref().to_glib_none().0,
        ))
    }
}

#[cfg(any(feature = "v0_6", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_6")))]
#[doc(alias = "gtk_layer_get_keyboard_mode")]
#[doc(alias = "get_keyboard_mode")]
pub fn keyboard_mode<P: IsA<gtk::Window>>(window: &P) -> KeyboardMode {
    assert_initialized_main_thread!();
    unsafe {
        from_glib(ffi::gtk_layer_get_keyboard_mode(
            window.as_ref().to_glib_none().0,
        ))
    }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_get_layer")]
#[doc(alias = "get_layer")]
pub fn layer<P: IsA<gtk::Window>>(window: &P) -> Layer {
    assert_initialized_main_thread!();
    unsafe { from_glib(ffi::gtk_layer_get_layer(window.as_ref().to_glib_none().0)) }
}

#[cfg(any(feature = "v0_4", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_4")))]
#[doc(alias = "gtk_layer_get_major_version")]
#[doc(alias = "get_major_version")]
pub fn major_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe { ffi::gtk_layer_get_major_version() }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_get_margin")]
#[doc(alias = "get_margin")]
pub fn margin<P: IsA<gtk::Window>>(window: &P, edge: Edge) -> i32 {
    assert_initialized_main_thread!();
    unsafe { ffi::gtk_layer_get_margin(window.as_ref().to_glib_none().0, edge.into_glib()) }
}

#[cfg(any(feature = "v0_4", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_4")))]
#[doc(alias = "gtk_layer_get_micro_version")]
#[doc(alias = "get_micro_version")]
pub fn micro_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe { ffi::gtk_layer_get_micro_version() }
}

#[cfg(any(feature = "v0_4", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_4")))]
#[doc(alias = "gtk_layer_get_minor_version")]
#[doc(alias = "get_minor_version")]
pub fn minor_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe { ffi::gtk_layer_get_minor_version() }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_get_monitor")]
#[doc(alias = "get_monitor")]
pub fn monitor<P: IsA<gtk::Window>>(window: &P) -> Option<gdk::Monitor> {
    assert_initialized_main_thread!();
    unsafe { from_glib_none(ffi::gtk_layer_get_monitor(window.as_ref().to_glib_none().0)) }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_get_namespace")]
#[doc(alias = "get_namespace")]
pub fn namespace<P: IsA<gtk::Window>>(window: &P) -> Option<glib::GString> {
    assert_initialized_main_thread!();
    unsafe {
        from_glib_none(ffi::gtk_layer_get_namespace(
            window.as_ref().to_glib_none().0,
        ))
    }
}

#[cfg(any(feature = "v0_6", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_6")))]
#[doc(alias = "gtk_layer_get_protocol_version")]
#[doc(alias = "get_protocol_version")]
pub fn protocol_version() -> u32 {
    assert_initialized_main_thread!();
    unsafe { ffi::gtk_layer_get_protocol_version() }
}

//#[cfg(any(feature = "v0_4", feature = "dox"))]
//#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_4")))]
//#[doc(alias = "gtk_layer_get_zwlr_layer_surface_v1")]
//#[doc(alias = "get_zwlr_layer_surface_v1")]
//pub fn zwlr_layer_surface_v1<P: IsA<gtk::Window>>(window: &P) -> /*Unimplemented*/Option<Fundamental: Pointer> {
//    unsafe { TODO: call ffi:gtk_layer_get_zwlr_layer_surface_v1() }
//}

#[doc(alias = "gtk_layer_init_for_window")]
pub fn init_for_window<P: IsA<gtk::Window>>(window: &P) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_init_for_window(window.as_ref().to_glib_none().0);
    }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_is_layer_window")]
pub fn is_layer_window<P: IsA<gtk::Window>>(window: &P) -> bool {
    assert_initialized_main_thread!();
    unsafe {
        from_glib(ffi::gtk_layer_is_layer_window(
            window.as_ref().to_glib_none().0,
        ))
    }
}

#[cfg(any(feature = "v0_5", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_5")))]
#[doc(alias = "gtk_layer_is_supported")]
pub fn is_supported() -> bool {
    assert_initialized_main_thread!();
    unsafe { from_glib(ffi::gtk_layer_is_supported()) }
}

#[doc(alias = "gtk_layer_set_anchor")]
pub fn set_anchor<P: IsA<gtk::Window>>(window: &P, edge: Edge, anchor_to_edge: bool) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_set_anchor(
            window.as_ref().to_glib_none().0,
            edge.into_glib(),
            anchor_to_edge.into_glib(),
        );
    }
}

#[doc(alias = "gtk_layer_set_exclusive_zone")]
pub fn set_exclusive_zone<P: IsA<gtk::Window>>(window: &P, exclusive_zone: i32) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_set_exclusive_zone(window.as_ref().to_glib_none().0, exclusive_zone);
    }
}

#[cfg_attr(feature = "v0_6", deprecated = "Since 0.6")]
#[doc(alias = "gtk_layer_set_keyboard_interactivity")]
pub fn set_keyboard_interactivity<P: IsA<gtk::Window>>(window: &P, interactivity: bool) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_set_keyboard_interactivity(
            window.as_ref().to_glib_none().0,
            interactivity.into_glib(),
        );
    }
}

#[cfg(any(feature = "v0_6", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v0_6")))]
#[doc(alias = "gtk_layer_set_keyboard_mode")]
pub fn set_keyboard_mode<P: IsA<gtk::Window>>(window: &P, mode: KeyboardMode) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_set_keyboard_mode(window.as_ref().to_glib_none().0, mode.into_glib());
    }
}

#[doc(alias = "gtk_layer_set_layer")]
pub fn set_layer<P: IsA<gtk::Window>>(window: &P, layer: Layer) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_set_layer(window.as_ref().to_glib_none().0, layer.into_glib());
    }
}

#[doc(alias = "gtk_layer_set_margin")]
pub fn set_margin<P: IsA<gtk::Window>>(window: &P, edge: Edge, margin_size: i32) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_set_margin(
            window.as_ref().to_glib_none().0,
            edge.into_glib(),
            margin_size,
        );
    }
}

#[doc(alias = "gtk_layer_set_monitor")]
pub fn set_monitor<P: IsA<gtk::Window>>(window: &P, monitor: &gdk::Monitor) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_set_monitor(window.as_ref().to_glib_none().0, monitor.to_glib_none().0);
    }
}

#[doc(alias = "gtk_layer_set_namespace")]
pub fn set_namespace<P: IsA<gtk::Window>>(window: &P, name_space: &str) {
    assert_initialized_main_thread!();
    unsafe {
        ffi::gtk_layer_set_namespace(
            window.as_ref().to_glib_none().0,
            name_space.to_glib_none().0,
        );
    }
}