pango/auto/
language.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5use crate::{ffi, Script};
6use glib::translate::*;
7
8glib::wrapper! {
9    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
10    pub struct Language(Boxed<ffi::PangoLanguage>);
11
12    match fn {
13        copy => |ptr| glib::gobject_ffi::g_boxed_copy(ffi::pango_language_get_type(), ptr as *mut _) as *mut ffi::PangoLanguage,
14        free => |ptr| glib::gobject_ffi::g_boxed_free(ffi::pango_language_get_type(), ptr as *mut _),
15        type_ => || ffi::pango_language_get_type(),
16    }
17}
18
19impl Language {
20    #[doc(alias = "pango_language_get_sample_string")]
21    #[doc(alias = "get_sample_string")]
22    pub fn sample_string(&self) -> glib::GString {
23        unsafe {
24            from_glib_none(ffi::pango_language_get_sample_string(mut_override(
25                self.to_glib_none().0,
26            )))
27        }
28    }
29
30    #[doc(alias = "pango_language_includes_script")]
31    pub fn includes_script(&self, script: Script) -> bool {
32        unsafe {
33            from_glib(ffi::pango_language_includes_script(
34                mut_override(self.to_glib_none().0),
35                script.into_glib(),
36            ))
37        }
38    }
39
40    #[doc(alias = "pango_language_matches")]
41    pub fn matches(&self, range_list: &str) -> bool {
42        unsafe {
43            from_glib(ffi::pango_language_matches(
44                mut_override(self.to_glib_none().0),
45                range_list.to_glib_none().0,
46            ))
47        }
48    }
49
50    #[doc(alias = "pango_language_to_string")]
51    #[doc(alias = "to_string")]
52    pub fn to_str(&self) -> glib::GString {
53        unsafe {
54            from_glib_none(ffi::pango_language_to_string(mut_override(
55                self.to_glib_none().0,
56            )))
57        }
58    }
59
60    #[doc(alias = "pango_language_from_string")]
61    pub fn from_string(language: &str) -> Language {
62        unsafe { from_glib_none(ffi::pango_language_from_string(language.to_glib_none().0)) }
63    }
64
65    #[doc(alias = "pango_language_get_default")]
66    #[doc(alias = "get_default")]
67    #[allow(clippy::should_implement_trait)]
68    pub fn default() -> Language {
69        unsafe { from_glib_none(ffi::pango_language_get_default()) }
70    }
71
72    #[cfg(feature = "v1_48")]
73    #[cfg_attr(docsrs, doc(cfg(feature = "v1_48")))]
74    #[doc(alias = "pango_language_get_preferred")]
75    #[doc(alias = "get_preferred")]
76    pub fn preferred() -> Vec<Language> {
77        unsafe { FromGlibPtrContainer::from_glib_none(ffi::pango_language_get_preferred()) }
78    }
79}
80
81impl std::fmt::Display for Language {
82    #[inline]
83    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
84        f.write_str(&self.to_str())
85    }
86}