1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // DO NOT EDIT use glib::object::IsA; use glib::translate::*; use pango; use pango_cairo_sys; use std::fmt; glib_wrapper! { /// `FontMap` is an interface exported by font maps for /// use with Cairo. The actual type of the font map will depend /// on the particular font technology Cairo was compiled to use. /// /// # Implements /// /// [`FontMapExt`](trait.FontMapExt.html), [`pango::FontMapExt`](../pango/trait.FontMapExt.html), [`FontMapExtManual`](prelude/trait.FontMapExtManual.html) pub struct FontMap(Interface<pango_cairo_sys::PangoCairoFontMap>) @requires pango::FontMap; match fn { get_type => || pango_cairo_sys::pango_cairo_font_map_get_type(), } } impl FontMap { /// Gets a default `FontMap` to use with Cairo. /// /// Note that the type of the returned object will depend /// on the particular font backend Cairo was compiled to use; /// You generally should only use the `pango::FontMap` and /// `FontMap` interfaces on the returned object. /// /// The default Cairo fontmap can be changed by using /// `FontMap::set_default`. This can be used to /// change the Cairo font backend that the default fontmap /// uses for example. /// /// Note that since Pango 1.32.6, the default fontmap is per-thread. /// Each thread gets its own default fontmap. In this way, /// PangoCairo can be used safely from multiple threads. /// /// # Returns /// /// the default PangoCairo fontmap /// for the current thread. This object is owned by Pango and must not be freed. pub fn get_default() -> Option<pango::FontMap> { unsafe { from_glib_none(pango_cairo_sys::pango_cairo_font_map_get_default()) } } } pub const NONE_FONT_MAP: Option<&FontMap> = None; /// Trait containing all `FontMap` methods. /// /// # Implementors /// /// [`FontMap`](struct.FontMap.html) pub trait FontMapExt: 'static { /// Gets the resolution for the fontmap. See `FontMap::set_resolution` /// /// # Returns /// /// the resolution in "dots per inch" fn get_resolution(&self) -> f64; /// Sets the resolution for the fontmap. This is a scale factor between /// points specified in a `pango::FontDescription` and Cairo units. The /// default value is 96, meaning that a 10 point font will be 13 /// units high. (10 * 96. / 72. = 13.3). /// ## `dpi` /// the resolution in "dots per inch". (Physical inches aren't actually /// involved; the terminology is conventional.) fn set_resolution(&self, dpi: f64); } impl<O: IsA<FontMap>> FontMapExt for O { fn get_resolution(&self) -> f64 { unsafe { pango_cairo_sys::pango_cairo_font_map_get_resolution(self.as_ref().to_glib_none().0) } } fn set_resolution(&self, dpi: f64) { unsafe { pango_cairo_sys::pango_cairo_font_map_set_resolution( self.as_ref().to_glib_none().0, dpi, ); } } } impl fmt::Display for FontMap { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "FontMap") } }