// GENERATED — DO NOT EDIT

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

///|
pub(open) trait IAnalysis {
  fn as_analysis(Self) -> Analysis
}

///|
pub impl IAnalysis for Analysis with fn as_analysis(self) {
  self
}

///|
#borrow(self_)
extern "c" fn __ffi_moonbit_pango_analysis_font_get(
  self_ : Analysis,
) -> @glib.Nullable[Font] = "moonbit_pango_analysis_font_get"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.Analysis.html).
pub fn Analysis::get_font(self : Analysis) -> Font? {
  __ffi_moonbit_pango_analysis_font_get(self).to_option()
}

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

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

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

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

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

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

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

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

///|
#borrow(self_)
extern "c" fn __ffi_moonbit_pango_analysis_language_get(
  self_ : Analysis,
) -> @glib.Nullable[Language] = "moonbit_pango_analysis_language_get"

///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/struct.Analysis.html).
pub fn Analysis::get_language(self : Analysis) -> Language? {
  __ffi_moonbit_pango_analysis_language_get(self).to_option()
}