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 
5 use glib::translate::*;
6 use pango_sys;
7 use AttrList;
8 
9 glib_wrapper! {
10     #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
11     pub struct GlyphItem(Boxed<pango_sys::PangoGlyphItem>);
12 
13     match fn {
14         copy => |ptr| pango_sys::pango_glyph_item_copy(mut_override(ptr)),
15         free => |ptr| pango_sys::pango_glyph_item_free(ptr),
16         get_type => || pango_sys::pango_glyph_item_get_type(),
17     }
18 }
19 
20 impl GlyphItem {
apply_attrs(&mut self, text: &str, list: &AttrList) -> Vec<GlyphItem>21     pub fn apply_attrs(&mut self, text: &str, list: &AttrList) -> Vec<GlyphItem> {
22         unsafe {
23             FromGlibPtrContainer::from_glib_full(pango_sys::pango_glyph_item_apply_attrs(
24                 self.to_glib_none_mut().0,
25                 text.to_glib_none().0,
26                 list.to_glib_none().0,
27             ))
28         }
29     }
30 
31     //pub fn get_logical_widths(&mut self, text: &str, logical_widths: &[i32]) {
32     //    unsafe { TODO: call pango_sys:pango_glyph_item_get_logical_widths() }
33     //}
34 
35     //pub fn letter_space(&mut self, text: &str, log_attrs: /*Ignored*/&[&LogAttr], letter_spacing: i32) {
36     //    unsafe { TODO: call pango_sys:pango_glyph_item_letter_space() }
37     //}
38 
split(&mut self, text: &str, split_index: i32) -> Option<GlyphItem>39     pub fn split(&mut self, text: &str, split_index: i32) -> Option<GlyphItem> {
40         unsafe {
41             from_glib_full(pango_sys::pango_glyph_item_split(
42                 self.to_glib_none_mut().0,
43                 text.to_glib_none().0,
44                 split_index,
45             ))
46         }
47     }
48 }
49