use crate::{ffi,Edge,KeyboardMode,Layer};
use glib::{prelude::*,translate::*};
#[doc(alias = "gtk_layer_auto_exclusive_zone_enable")]
pub fn auto_exclusive_zone_enable(window: &impl IsA<gtk::Window>) {
assert_initialized_main_thread!();
unsafe {
ffi::gtk_layer_auto_exclusive_zone_enable(window.as_ref().to_glib_none().0);
}
}
#[doc(alias = "gtk_layer_auto_exclusive_zone_is_enabled")]
pub fn auto_exclusive_zone_is_enabled(window: &impl IsA<gtk::Window>) -> bool {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gtk_layer_auto_exclusive_zone_is_enabled(window.as_ref().to_glib_none().0))
}
}
#[doc(alias = "gtk_layer_get_anchor")]
#[doc(alias = "get_anchor")]
pub fn is_anchor(window: &impl IsA<gtk::Window>, 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()))
}
}
#[doc(alias = "gtk_layer_get_exclusive_zone")]
#[doc(alias = "get_exclusive_zone")]
pub fn exclusive_zone(window: &impl IsA<gtk::Window>) -> i32 {
assert_initialized_main_thread!();
unsafe {
ffi::gtk_layer_get_exclusive_zone(window.as_ref().to_glib_none().0)
}
}
#[doc(alias = "gtk_layer_get_keyboard_mode")]
#[doc(alias = "get_keyboard_mode")]
pub fn keyboard_mode(window: &impl IsA<gtk::Window>) -> KeyboardMode {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gtk_layer_get_keyboard_mode(window.as_ref().to_glib_none().0))
}
}
#[doc(alias = "gtk_layer_get_layer")]
#[doc(alias = "get_layer")]
pub fn layer(window: &impl IsA<gtk::Window>) -> Layer {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gtk_layer_get_layer(window.as_ref().to_glib_none().0))
}
}
#[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()
}
}
#[doc(alias = "gtk_layer_get_margin")]
#[doc(alias = "get_margin")]
pub fn margin(window: &impl IsA<gtk::Window>, edge: Edge) -> i32 {
assert_initialized_main_thread!();
unsafe {
ffi::gtk_layer_get_margin(window.as_ref().to_glib_none().0, edge.into_glib())
}
}
#[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()
}
}
#[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()
}
}
#[doc(alias = "gtk_layer_get_monitor")]
#[doc(alias = "get_monitor")]
pub fn monitor(window: &impl IsA<gtk::Window>) -> Option<gdk::Monitor> {
assert_initialized_main_thread!();
unsafe {
from_glib_none(ffi::gtk_layer_get_monitor(window.as_ref().to_glib_none().0))
}
}
#[doc(alias = "gtk_layer_get_namespace")]
#[doc(alias = "get_namespace")]
pub fn namespace(window: &impl IsA<gtk::Window>) -> Option<glib::GString> {
assert_initialized_main_thread!();
unsafe {
from_glib_none(ffi::gtk_layer_get_namespace(window.as_ref().to_glib_none().0))
}
}
#[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(feature = "v1_3")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_3")))]
#[doc(alias = "gtk_layer_get_respect_close")]
#[doc(alias = "get_respect_close")]
pub fn is_respect_close(window: &impl IsA<gtk::Window>) -> bool {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gtk_layer_get_respect_close(window.as_ref().to_glib_none().0))
}
}
#[doc(alias = "gtk_layer_init_for_window")]
pub fn init_for_window(window: &impl IsA<gtk::Window>) {
assert_initialized_main_thread!();
unsafe {
ffi::gtk_layer_init_for_window(window.as_ref().to_glib_none().0);
}
}
#[doc(alias = "gtk_layer_is_layer_window")]
pub fn is_layer_window(window: &impl IsA<gtk::Window>) -> bool {
assert_initialized_main_thread!();
unsafe {
from_glib(ffi::gtk_layer_is_layer_window(window.as_ref().to_glib_none().0))
}
}
#[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(window: &impl IsA<gtk::Window>, 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(window: &impl IsA<gtk::Window>, exclusive_zone: i32) {
assert_initialized_main_thread!();
unsafe {
ffi::gtk_layer_set_exclusive_zone(window.as_ref().to_glib_none().0, exclusive_zone);
}
}
#[doc(alias = "gtk_layer_set_keyboard_mode")]
pub fn set_keyboard_mode(window: &impl IsA<gtk::Window>, 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(window: &impl IsA<gtk::Window>, 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(window: &impl IsA<gtk::Window>, 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(window: &impl IsA<gtk::Window>, monitor: Option<&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(window: &impl IsA<gtk::Window>, name_space: Option<&str>) {
assert_initialized_main_thread!();
unsafe {
ffi::gtk_layer_set_namespace(window.as_ref().to_glib_none().0, name_space.to_glib_none().0);
}
}
#[cfg(feature = "v1_3")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_3")))]
#[doc(alias = "gtk_layer_set_respect_close")]
pub fn set_respect_close(window: &impl IsA<gtk::Window>, respect_close: bool) {
assert_initialized_main_thread!();
unsafe {
ffi::gtk_layer_set_respect_close(window.as_ref().to_glib_none().0, respect_close.into_glib());
}
}