// GENERATED — DO NOT EDIT

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

///|
pub(open) trait IFontset {
  fn as_fontset(Self) -> Fontset
  fn get_font(Self, UInt) -> Font = _
  fn get_metrics(Self) -> FontMetrics = _
}

///|
pub impl IFontset for Fontset with fn as_fontset(self) {
  self
}

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Fontset.get_font.html).
#borrow(self)
pub extern "c" fn Fontset::get_font(self : Fontset, wc : UInt) -> Font = "moonbit_pango_fontset_get_font"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/method.Fontset.get_metrics.html).
#borrow(self)
pub extern "c" fn Fontset::get_metrics(self : Fontset) -> FontMetrics = "moonbit_pango_fontset_get_metrics"

///|
impl IFontset with fn get_font(self, wc) -> Font {
  self.as_fontset().get_font(wc)
}

///|
impl IFontset with fn get_metrics(self) -> FontMetrics {
  self.as_fontset().get_metrics()
}

///|
pub fn Fontset::as_gobject_object(self : Fontset) -> @gobject.Object = "%identity"

///|
pub impl @gobject.IObject for Fontset with fn as_object(self) {
  self.as_gobject_object()
}