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::object::IsA;
6 use glib::translate::*;
7 use pango_sys;
8 use std::fmt;
9 use Color;
10 use Font;
11 use Glyph;
12 use GlyphItem;
13 use GlyphString;
14 use Layout;
15 use LayoutLine;
16 use Matrix;
17 use RenderPart;
18 
19 glib_wrapper! {
20     pub struct Renderer(Object<pango_sys::PangoRenderer, pango_sys::PangoRendererClass, RendererClass>);
21 
22     match fn {
23         get_type => || pango_sys::pango_renderer_get_type(),
24     }
25 }
26 
27 pub const NONE_RENDERER: Option<&Renderer> = None;
28 
29 pub trait RendererExt: 'static {
activate(&self)30     fn activate(&self);
31 
deactivate(&self)32     fn deactivate(&self);
33 
draw_error_underline(&self, x: i32, y: i32, width: i32, height: i32)34     fn draw_error_underline(&self, x: i32, y: i32, width: i32, height: i32);
35 
draw_glyph<P: IsA<Font>>(&self, font: &P, glyph: Glyph, x: f64, y: f64)36     fn draw_glyph<P: IsA<Font>>(&self, font: &P, glyph: Glyph, x: f64, y: f64);
37 
draw_glyph_item(&self, text: Option<&str>, glyph_item: &mut GlyphItem, x: i32, y: i32)38     fn draw_glyph_item(&self, text: Option<&str>, glyph_item: &mut GlyphItem, x: i32, y: i32);
39 
draw_glyphs<P: IsA<Font>>(&self, font: &P, glyphs: &mut GlyphString, x: i32, y: i32)40     fn draw_glyphs<P: IsA<Font>>(&self, font: &P, glyphs: &mut GlyphString, x: i32, y: i32);
41 
draw_layout(&self, layout: &Layout, x: i32, y: i32)42     fn draw_layout(&self, layout: &Layout, x: i32, y: i32);
43 
draw_layout_line(&self, line: &LayoutLine, x: i32, y: i32)44     fn draw_layout_line(&self, line: &LayoutLine, x: i32, y: i32);
45 
draw_rectangle(&self, part: RenderPart, x: i32, y: i32, width: i32, height: i32)46     fn draw_rectangle(&self, part: RenderPart, x: i32, y: i32, width: i32, height: i32);
47 
draw_trapezoid( &self, part: RenderPart, y1_: f64, x11: f64, x21: f64, y2: f64, x12: f64, x22: f64, )48     fn draw_trapezoid(
49         &self,
50         part: RenderPart,
51         y1_: f64,
52         x11: f64,
53         x21: f64,
54         y2: f64,
55         x12: f64,
56         x22: f64,
57     );
58 
59     #[cfg(any(feature = "v1_38", feature = "dox"))]
get_alpha(&self, part: RenderPart) -> u1660     fn get_alpha(&self, part: RenderPart) -> u16;
61 
get_color(&self, part: RenderPart) -> Option<Color>62     fn get_color(&self, part: RenderPart) -> Option<Color>;
63 
get_layout(&self) -> Option<Layout>64     fn get_layout(&self) -> Option<Layout>;
65 
get_layout_line(&self) -> Option<LayoutLine>66     fn get_layout_line(&self) -> Option<LayoutLine>;
67 
get_matrix(&self) -> Option<Matrix>68     fn get_matrix(&self) -> Option<Matrix>;
69 
part_changed(&self, part: RenderPart)70     fn part_changed(&self, part: RenderPart);
71 
72     #[cfg(any(feature = "v1_38", feature = "dox"))]
set_alpha(&self, part: RenderPart, alpha: u16)73     fn set_alpha(&self, part: RenderPart, alpha: u16);
74 
set_color(&self, part: RenderPart, color: Option<&Color>)75     fn set_color(&self, part: RenderPart, color: Option<&Color>);
76 
set_matrix(&self, matrix: Option<&Matrix>)77     fn set_matrix(&self, matrix: Option<&Matrix>);
78 }
79 
80 impl<O: IsA<Renderer>> RendererExt for O {
activate(&self)81     fn activate(&self) {
82         unsafe {
83             pango_sys::pango_renderer_activate(self.as_ref().to_glib_none().0);
84         }
85     }
86 
deactivate(&self)87     fn deactivate(&self) {
88         unsafe {
89             pango_sys::pango_renderer_deactivate(self.as_ref().to_glib_none().0);
90         }
91     }
92 
draw_error_underline(&self, x: i32, y: i32, width: i32, height: i32)93     fn draw_error_underline(&self, x: i32, y: i32, width: i32, height: i32) {
94         unsafe {
95             pango_sys::pango_renderer_draw_error_underline(
96                 self.as_ref().to_glib_none().0,
97                 x,
98                 y,
99                 width,
100                 height,
101             );
102         }
103     }
104 
draw_glyph<P: IsA<Font>>(&self, font: &P, glyph: Glyph, x: f64, y: f64)105     fn draw_glyph<P: IsA<Font>>(&self, font: &P, glyph: Glyph, x: f64, y: f64) {
106         unsafe {
107             pango_sys::pango_renderer_draw_glyph(
108                 self.as_ref().to_glib_none().0,
109                 font.as_ref().to_glib_none().0,
110                 glyph,
111                 x,
112                 y,
113             );
114         }
115     }
116 
draw_glyph_item(&self, text: Option<&str>, glyph_item: &mut GlyphItem, x: i32, y: i32)117     fn draw_glyph_item(&self, text: Option<&str>, glyph_item: &mut GlyphItem, x: i32, y: i32) {
118         unsafe {
119             pango_sys::pango_renderer_draw_glyph_item(
120                 self.as_ref().to_glib_none().0,
121                 text.to_glib_none().0,
122                 glyph_item.to_glib_none_mut().0,
123                 x,
124                 y,
125             );
126         }
127     }
128 
draw_glyphs<P: IsA<Font>>(&self, font: &P, glyphs: &mut GlyphString, x: i32, y: i32)129     fn draw_glyphs<P: IsA<Font>>(&self, font: &P, glyphs: &mut GlyphString, x: i32, y: i32) {
130         unsafe {
131             pango_sys::pango_renderer_draw_glyphs(
132                 self.as_ref().to_glib_none().0,
133                 font.as_ref().to_glib_none().0,
134                 glyphs.to_glib_none_mut().0,
135                 x,
136                 y,
137             );
138         }
139     }
140 
draw_layout(&self, layout: &Layout, x: i32, y: i32)141     fn draw_layout(&self, layout: &Layout, x: i32, y: i32) {
142         unsafe {
143             pango_sys::pango_renderer_draw_layout(
144                 self.as_ref().to_glib_none().0,
145                 layout.to_glib_none().0,
146                 x,
147                 y,
148             );
149         }
150     }
151 
draw_layout_line(&self, line: &LayoutLine, x: i32, y: i32)152     fn draw_layout_line(&self, line: &LayoutLine, x: i32, y: i32) {
153         unsafe {
154             pango_sys::pango_renderer_draw_layout_line(
155                 self.as_ref().to_glib_none().0,
156                 line.to_glib_none().0,
157                 x,
158                 y,
159             );
160         }
161     }
162 
draw_rectangle(&self, part: RenderPart, x: i32, y: i32, width: i32, height: i32)163     fn draw_rectangle(&self, part: RenderPart, x: i32, y: i32, width: i32, height: i32) {
164         unsafe {
165             pango_sys::pango_renderer_draw_rectangle(
166                 self.as_ref().to_glib_none().0,
167                 part.to_glib(),
168                 x,
169                 y,
170                 width,
171                 height,
172             );
173         }
174     }
175 
draw_trapezoid( &self, part: RenderPart, y1_: f64, x11: f64, x21: f64, y2: f64, x12: f64, x22: f64, )176     fn draw_trapezoid(
177         &self,
178         part: RenderPart,
179         y1_: f64,
180         x11: f64,
181         x21: f64,
182         y2: f64,
183         x12: f64,
184         x22: f64,
185     ) {
186         unsafe {
187             pango_sys::pango_renderer_draw_trapezoid(
188                 self.as_ref().to_glib_none().0,
189                 part.to_glib(),
190                 y1_,
191                 x11,
192                 x21,
193                 y2,
194                 x12,
195                 x22,
196             );
197         }
198     }
199 
200     #[cfg(any(feature = "v1_38", feature = "dox"))]
get_alpha(&self, part: RenderPart) -> u16201     fn get_alpha(&self, part: RenderPart) -> u16 {
202         unsafe {
203             pango_sys::pango_renderer_get_alpha(self.as_ref().to_glib_none().0, part.to_glib())
204         }
205     }
206 
get_color(&self, part: RenderPart) -> Option<Color>207     fn get_color(&self, part: RenderPart) -> Option<Color> {
208         unsafe {
209             from_glib_none(pango_sys::pango_renderer_get_color(
210                 self.as_ref().to_glib_none().0,
211                 part.to_glib(),
212             ))
213         }
214     }
215 
get_layout(&self) -> Option<Layout>216     fn get_layout(&self) -> Option<Layout> {
217         unsafe {
218             from_glib_none(pango_sys::pango_renderer_get_layout(
219                 self.as_ref().to_glib_none().0,
220             ))
221         }
222     }
223 
get_layout_line(&self) -> Option<LayoutLine>224     fn get_layout_line(&self) -> Option<LayoutLine> {
225         unsafe {
226             from_glib_none(pango_sys::pango_renderer_get_layout_line(
227                 self.as_ref().to_glib_none().0,
228             ))
229         }
230     }
231 
get_matrix(&self) -> Option<Matrix>232     fn get_matrix(&self) -> Option<Matrix> {
233         unsafe {
234             from_glib_none(pango_sys::pango_renderer_get_matrix(
235                 self.as_ref().to_glib_none().0,
236             ))
237         }
238     }
239 
part_changed(&self, part: RenderPart)240     fn part_changed(&self, part: RenderPart) {
241         unsafe {
242             pango_sys::pango_renderer_part_changed(self.as_ref().to_glib_none().0, part.to_glib());
243         }
244     }
245 
246     #[cfg(any(feature = "v1_38", feature = "dox"))]
set_alpha(&self, part: RenderPart, alpha: u16)247     fn set_alpha(&self, part: RenderPart, alpha: u16) {
248         unsafe {
249             pango_sys::pango_renderer_set_alpha(
250                 self.as_ref().to_glib_none().0,
251                 part.to_glib(),
252                 alpha,
253             );
254         }
255     }
256 
set_color(&self, part: RenderPart, color: Option<&Color>)257     fn set_color(&self, part: RenderPart, color: Option<&Color>) {
258         unsafe {
259             pango_sys::pango_renderer_set_color(
260                 self.as_ref().to_glib_none().0,
261                 part.to_glib(),
262                 color.to_glib_none().0,
263             );
264         }
265     }
266 
set_matrix(&self, matrix: Option<&Matrix>)267     fn set_matrix(&self, matrix: Option<&Matrix>) {
268         unsafe {
269             pango_sys::pango_renderer_set_matrix(
270                 self.as_ref().to_glib_none().0,
271                 matrix.to_glib_none().0,
272             );
273         }
274     }
275 }
276 
277 impl fmt::Display for Renderer {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result278     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
279         write!(f, "Renderer")
280     }
281 }
282