pango/
attr_size.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use glib::translate::*;
4
5use crate::{ffi, AttrType};
6
7define_attribute_struct!(
8    AttrSize,
9    ffi::PangoAttrSize,
10    &[AttrType::Size, AttrType::AbsoluteSize]
11);
12
13impl AttrSize {
14    #[doc(alias = "pango_attr_size_new")]
15    pub fn new(size: i32) -> Self {
16        unsafe { from_glib_full(ffi::pango_attr_size_new(size)) }
17    }
18
19    #[doc(alias = "pango_attr_size_new_absolute")]
20    pub fn new_size_absolute(size: i32) -> Self {
21        unsafe { from_glib_full(ffi::pango_attr_size_new_absolute(size)) }
22    }
23
24    pub fn size(&self) -> i32 {
25        self.inner.size
26    }
27
28    pub fn absolute(&self) -> bool {
29        unsafe { from_glib(self.inner.absolute as i32) }
30    }
31}