[go: up one dir, main page]

gtk4/
constraint_guide.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use std::mem::MaybeUninit;
4
5use glib::translate::*;
6
7use crate::{ffi, ConstraintGuide};
8
9impl ConstraintGuide {
10    #[doc(alias = "gtk_constraint_guide_get_max_size")]
11    #[doc(alias = "get_max_size")]
12    pub fn max_size(&self) -> (i32, i32) {
13        unsafe {
14            let mut width = MaybeUninit::uninit();
15            let mut height = MaybeUninit::uninit();
16            ffi::gtk_constraint_guide_get_max_size(
17                self.to_glib_none().0,
18                width.as_mut_ptr(),
19                height.as_mut_ptr(),
20            );
21            (width.assume_init(), height.assume_init())
22        }
23    }
24
25    #[doc(alias = "gtk_constraint_guide_get_min_size")]
26    #[doc(alias = "get_min_size")]
27    pub fn min_size(&self) -> (i32, i32) {
28        unsafe {
29            let mut width = MaybeUninit::uninit();
30            let mut height = MaybeUninit::uninit();
31            ffi::gtk_constraint_guide_get_min_size(
32                self.to_glib_none().0,
33                width.as_mut_ptr(),
34                height.as_mut_ptr(),
35            );
36            (width.assume_init(), height.assume_init())
37        }
38    }
39
40    #[doc(alias = "gtk_constraint_guide_get_nat_size")]
41    #[doc(alias = "get_nat_size")]
42    pub fn nat_size(&self) -> (i32, i32) {
43        unsafe {
44            let mut width = MaybeUninit::uninit();
45            let mut height = MaybeUninit::uninit();
46            ffi::gtk_constraint_guide_get_nat_size(
47                self.to_glib_none().0,
48                width.as_mut_ptr(),
49                height.as_mut_ptr(),
50            );
51            (width.assume_init(), height.assume_init())
52        }
53    }
54}