// GENERATED — DO NOT EDIT

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.AttrSize.html).
pub type AttrSize

///|
pub(open) trait IAttrSize {
  fn as_attr_size(Self) -> AttrSize
}

///|
pub impl IAttrSize for AttrSize with fn as_attr_size(self) {
  self
}

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/type_func.AttrSize.new.html).
pub extern "c" fn AttrSize::new(size : Int) -> Attribute = "moonbit_pango_attr_size_new"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/type_func.AttrSize.new_absolute.html).
pub extern "c" fn AttrSize::new_absolute(size : Int) -> Attribute = "moonbit_pango_attr_size_new_absolute"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.AttrSize.html).
#borrow(self_)
pub extern "c" fn AttrSize::get_attr(self_ : AttrSize) -> Attribute = "moonbit_pango_attr_size_attr_get"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.AttrSize.html).
#borrow(self_)
pub extern "c" fn AttrSize::get_size(self_ : AttrSize) -> Int = "moonbit_pango_attr_size_size_get"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.AttrSize.html).
#borrow(self_)
pub extern "c" fn AttrSize::set_size(self_ : AttrSize, value : Int) = "moonbit_pango_attr_size_size_set"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.AttrSize.html).
#borrow(self_)
pub extern "c" fn AttrSize::get_absolute(self_ : AttrSize) -> UInt = "moonbit_pango_attr_size_absolute_get"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.AttrSize.html).
#borrow(self_)
pub extern "c" fn AttrSize::set_absolute(self_ : AttrSize, value : UInt) = "moonbit_pango_attr_size_absolute_set"