gtk_layer_shell/auto/
functions.rs1use crate::{ffi,Edge,Layer};
7#[cfg(feature = "v0_6")]
8#[cfg_attr(docsrs, doc(cfg(feature = "v0_6")))]
9use crate::{KeyboardMode};
10use glib::{prelude::*,translate::*};
11
12
13#[doc(alias = "gtk_layer_auto_exclusive_zone_enable")]
22pub fn auto_exclusive_zone_enable(window: &impl IsA<gtk::Window>) {
23 assert_initialized_main_thread!();
24 unsafe {
25 ffi::gtk_layer_auto_exclusive_zone_enable(window.as_ref().to_glib_none().0);
26 }
27}
28
29#[cfg(feature = "v0_5")]
36#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
37#[doc(alias = "gtk_layer_auto_exclusive_zone_is_enabled")]
38pub fn auto_exclusive_zone_is_enabled(window: &impl IsA<gtk::Window>) -> bool {
39 assert_initialized_main_thread!();
40 unsafe {
41 from_glib(ffi::gtk_layer_auto_exclusive_zone_is_enabled(window.as_ref().to_glib_none().0))
42 }
43}
44
45#[cfg(feature = "v0_5")]
52#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
53#[doc(alias = "gtk_layer_get_anchor")]
54#[doc(alias = "get_anchor")]
55pub fn is_anchor(window: &impl IsA<gtk::Window>, edge: Edge) -> bool {
56 assert_initialized_main_thread!();
57 unsafe {
58 from_glib(ffi::gtk_layer_get_anchor(window.as_ref().to_glib_none().0, edge.into_glib()))
59 }
60}
61
62#[cfg(feature = "v0_5")]
69#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
70#[doc(alias = "gtk_layer_get_exclusive_zone")]
71#[doc(alias = "get_exclusive_zone")]
72pub fn exclusive_zone(window: &impl IsA<gtk::Window>) -> i32 {
73 assert_initialized_main_thread!();
74 unsafe {
75 ffi::gtk_layer_get_exclusive_zone(window.as_ref().to_glib_none().0)
76 }
77}
78
79#[cfg_attr(feature = "v0_6", deprecated = "Since 0.6")]
90#[cfg(feature = "v0_5")]
91#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
92#[allow(deprecated)]
93#[doc(alias = "gtk_layer_get_keyboard_interactivity")]
94#[doc(alias = "get_keyboard_interactivity")]
95pub fn is_keyboard_interactivity(window: &impl IsA<gtk::Window>) -> bool {
96 assert_initialized_main_thread!();
97 unsafe {
98 from_glib(ffi::gtk_layer_get_keyboard_interactivity(window.as_ref().to_glib_none().0))
99 }
100}
101
102#[cfg(feature = "v0_6")]
109#[cfg_attr(docsrs, doc(cfg(feature = "v0_6")))]
110#[doc(alias = "gtk_layer_get_keyboard_mode")]
111#[doc(alias = "get_keyboard_mode")]
112pub fn keyboard_mode(window: &impl IsA<gtk::Window>) -> KeyboardMode {
113 assert_initialized_main_thread!();
114 unsafe {
115 from_glib(ffi::gtk_layer_get_keyboard_mode(window.as_ref().to_glib_none().0))
116 }
117}
118
119#[cfg(feature = "v0_5")]
126#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
127#[doc(alias = "gtk_layer_get_layer")]
128#[doc(alias = "get_layer")]
129pub fn layer(window: &impl IsA<gtk::Window>) -> Layer {
130 assert_initialized_main_thread!();
131 unsafe {
132 from_glib(ffi::gtk_layer_get_layer(window.as_ref().to_glib_none().0))
133 }
134}
135
136#[cfg(feature = "v0_4")]
141#[cfg_attr(docsrs, doc(cfg(feature = "v0_4")))]
142#[doc(alias = "gtk_layer_get_major_version")]
143#[doc(alias = "get_major_version")]
144pub fn major_version() -> u32 {
145 assert_initialized_main_thread!();
146 unsafe {
147 ffi::gtk_layer_get_major_version()
148 }
149}
150
151#[cfg(feature = "v0_5")]
158#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
159#[doc(alias = "gtk_layer_get_margin")]
160#[doc(alias = "get_margin")]
161pub fn margin(window: &impl IsA<gtk::Window>, edge: Edge) -> i32 {
162 assert_initialized_main_thread!();
163 unsafe {
164 ffi::gtk_layer_get_margin(window.as_ref().to_glib_none().0, edge.into_glib())
165 }
166}
167
168#[cfg(feature = "v0_4")]
173#[cfg_attr(docsrs, doc(cfg(feature = "v0_4")))]
174#[doc(alias = "gtk_layer_get_micro_version")]
175#[doc(alias = "get_micro_version")]
176pub fn micro_version() -> u32 {
177 assert_initialized_main_thread!();
178 unsafe {
179 ffi::gtk_layer_get_micro_version()
180 }
181}
182
183#[cfg(feature = "v0_4")]
188#[cfg_attr(docsrs, doc(cfg(feature = "v0_4")))]
189#[doc(alias = "gtk_layer_get_minor_version")]
190#[doc(alias = "get_minor_version")]
191pub fn minor_version() -> u32 {
192 assert_initialized_main_thread!();
193 unsafe {
194 ffi::gtk_layer_get_minor_version()
195 }
196}
197
198#[cfg(feature = "v0_5")]
207#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
208#[doc(alias = "gtk_layer_get_monitor")]
209#[doc(alias = "get_monitor")]
210pub fn monitor(window: &impl IsA<gtk::Window>) -> Option<gdk::Monitor> {
211 assert_initialized_main_thread!();
212 unsafe {
213 from_glib_none(ffi::gtk_layer_get_monitor(window.as_ref().to_glib_none().0))
214 }
215}
216
217#[cfg(feature = "v0_5")]
227#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
228#[doc(alias = "gtk_layer_get_namespace")]
229#[doc(alias = "get_namespace")]
230pub fn namespace(window: &impl IsA<gtk::Window>) -> Option<glib::GString> {
231 assert_initialized_main_thread!();
232 unsafe {
233 from_glib_none(ffi::gtk_layer_get_namespace(window.as_ref().to_glib_none().0))
234 }
235}
236
237#[cfg(feature = "v0_6")]
244#[cfg_attr(docsrs, doc(cfg(feature = "v0_6")))]
245#[doc(alias = "gtk_layer_get_protocol_version")]
246#[doc(alias = "get_protocol_version")]
247pub fn protocol_version() -> u32 {
248 assert_initialized_main_thread!();
249 unsafe {
250 ffi::gtk_layer_get_protocol_version()
251 }
252}
253
254#[doc(alias = "gtk_layer_init_for_window")]
267pub fn init_for_window(window: &impl IsA<gtk::Window>) {
268 assert_initialized_main_thread!();
269 unsafe {
270 ffi::gtk_layer_init_for_window(window.as_ref().to_glib_none().0);
271 }
272}
273
274#[cfg(feature = "v0_5")]
281#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
282#[doc(alias = "gtk_layer_is_layer_window")]
283pub fn is_layer_window(window: &impl IsA<gtk::Window>) -> bool {
284 assert_initialized_main_thread!();
285 unsafe {
286 from_glib(ffi::gtk_layer_is_layer_window(window.as_ref().to_glib_none().0))
287 }
288}
289
290#[cfg(feature = "v0_5")]
297#[cfg_attr(docsrs, doc(cfg(feature = "v0_5")))]
298#[doc(alias = "gtk_layer_is_supported")]
299pub fn is_supported() -> bool {
300 assert_initialized_main_thread!();
301 unsafe {
302 from_glib(ffi::gtk_layer_is_supported())
303 }
304}
305
306#[doc(alias = "gtk_layer_set_anchor")]
318pub fn set_anchor(window: &impl IsA<gtk::Window>, edge: Edge, anchor_to_edge: bool) {
319 assert_initialized_main_thread!();
320 unsafe {
321 ffi::gtk_layer_set_anchor(window.as_ref().to_glib_none().0, edge.into_glib(), anchor_to_edge.into_glib());
322 }
323}
324
325#[doc(alias = "gtk_layer_set_exclusive_zone")]
336pub fn set_exclusive_zone(window: &impl IsA<gtk::Window>, exclusive_zone: i32) {
337 assert_initialized_main_thread!();
338 unsafe {
339 ffi::gtk_layer_set_exclusive_zone(window.as_ref().to_glib_none().0, exclusive_zone);
340 }
341}
342
343#[cfg_attr(feature = "v0_6", deprecated = "Since 0.6")]
355#[allow(deprecated)]
356#[doc(alias = "gtk_layer_set_keyboard_interactivity")]
357pub fn set_keyboard_interactivity(window: &impl IsA<gtk::Window>, interactivity: bool) {
358 assert_initialized_main_thread!();
359 unsafe {
360 ffi::gtk_layer_set_keyboard_interactivity(window.as_ref().to_glib_none().0, interactivity.into_glib());
361 }
362}
363
364#[cfg(feature = "v0_6")]
373#[cfg_attr(docsrs, doc(cfg(feature = "v0_6")))]
374#[doc(alias = "gtk_layer_set_keyboard_mode")]
375pub fn set_keyboard_mode(window: &impl IsA<gtk::Window>, mode: KeyboardMode) {
376 assert_initialized_main_thread!();
377 unsafe {
378 ffi::gtk_layer_set_keyboard_mode(window.as_ref().to_glib_none().0, mode.into_glib());
379 }
380}
381
382#[doc(alias = "gtk_layer_set_layer")]
392pub fn set_layer(window: &impl IsA<gtk::Window>, layer: Layer) {
393 assert_initialized_main_thread!();
394 unsafe {
395 ffi::gtk_layer_set_layer(window.as_ref().to_glib_none().0, layer.into_glib());
396 }
397}
398
399#[doc(alias = "gtk_layer_set_margin")]
410pub fn set_margin(window: &impl IsA<gtk::Window>, edge: Edge, margin_size: i32) {
411 assert_initialized_main_thread!();
412 unsafe {
413 ffi::gtk_layer_set_margin(window.as_ref().to_glib_none().0, edge.into_glib(), margin_size);
414 }
415}
416
417#[doc(alias = "gtk_layer_set_monitor")]
426pub fn set_monitor(window: &impl IsA<gtk::Window>, monitor: &gdk::Monitor) {
427 assert_initialized_main_thread!();
428 unsafe {
429 ffi::gtk_layer_set_monitor(window.as_ref().to_glib_none().0, monitor.to_glib_none().0);
430 }
431}
432
433#[doc(alias = "gtk_layer_set_namespace")]
446pub fn set_namespace(window: &impl IsA<gtk::Window>, name_space: &str) {
447 assert_initialized_main_thread!();
448 unsafe {
449 ffi::gtk_layer_set_namespace(window.as_ref().to_glib_none().0, name_space.to_glib_none().0);
450 }
451}