gdk4_macos/auto/macos_monitor.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;
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9 ///
10 ///
11 /// # Implements
12 ///
13 /// [`trait@gdk::prelude::MonitorExt`]
14 #[doc(alias = "GdkMacosMonitor")]
15 pub struct MacosMonitor(Object<ffi::GdkMacosMonitor, ffi::GdkMacosMonitorClass>) @extends gdk::Monitor;
16
17 match fn {
18 type_ => || ffi::gdk_macos_monitor_get_type(),
19 }
20}
21
22impl MacosMonitor {
23 /// Retrieves the size and position of the “work area” on a monitor
24 /// within the display coordinate space.
25 ///
26 /// The returned geometry is in ”application pixels”, not in ”device pixels”
27 /// (see [`MonitorExtManual::scale_factor()`][crate::gdk::prelude::MonitorExtManual::scale_factor()]).
28 /// ## `monitor`
29 /// a [`gdk::Monitor`][crate::gdk::Monitor]
30 ///
31 /// # Returns
32 ///
33 ///
34 /// ## `geometry`
35 /// a [`gdk::Rectangle`][crate::gdk::Rectangle] to be filled with the monitor geometry
36 #[doc(alias = "gdk_macos_monitor_get_workarea")]
37 #[doc(alias = "get_workarea")]
38 pub fn workarea(monitor: &impl IsA<gdk::Monitor>) -> gdk::Rectangle {
39 assert_initialized_main_thread!();
40 unsafe {
41 let mut geometry = gdk::Rectangle::uninitialized();
42 ffi::gdk_macos_monitor_get_workarea(
43 monitor.as_ref().to_glib_none().0,
44 geometry.to_glib_none_mut().0,
45 );
46 geometry
47 }
48 }
49}