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