// GENERATED — DO NOT EDIT

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

///|
pub(open) trait IGlyphGeometry {
  fn as_glyph_geometry(Self) -> GlyphGeometry
}

///|
pub impl IGlyphGeometry for GlyphGeometry with fn as_glyph_geometry(self) {
  self
}

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

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

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

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

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

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

///|
pub extern "c" fn GlyphGeometry::_zero() -> GlyphGeometry = "moonbit_pango_glyph_geometry__zero"