// GENERATED — DO NOT EDIT

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

///|
pub(open) trait IGlyphInfo {
  fn as_glyph_info(Self) -> GlyphInfo
}

///|
pub impl IGlyphInfo for GlyphInfo with fn as_glyph_info(self) {
  self
}

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.GlyphInfo.html).
#borrow(self_)
pub extern "c" fn GlyphInfo::get_glyph(self_ : GlyphInfo) -> Glyph = "moonbit_pango_glyph_info_glyph_get"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.GlyphInfo.html).
#borrow(self_)
pub extern "c" fn GlyphInfo::set_glyph(self_ : GlyphInfo, value : Glyph) = "moonbit_pango_glyph_info_glyph_set"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.GlyphInfo.html).
#borrow(self_)
pub extern "c" fn GlyphInfo::get_geometry(self_ : GlyphInfo) -> GlyphGeometry = "moonbit_pango_glyph_info_geometry_get"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.GlyphInfo.html).
#borrow(self_, value)
pub extern "c" fn GlyphInfo::set_geometry(
  self_ : GlyphInfo,
  value : GlyphGeometry,
) = "moonbit_pango_glyph_info_geometry_set"

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

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.GlyphInfo.html).
#borrow(self_, value)
pub extern "c" fn GlyphInfo::set_attr(self_ : GlyphInfo, value : GlyphVisAttr) = "moonbit_pango_glyph_info_attr_set"

///|
pub extern "c" fn GlyphInfo::_zero() -> GlyphInfo = "moonbit_pango_glyph_info__zero"