Skip to main content

sourceview5/auto/
gutter_renderer.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files)
4// DO NOT EDIT
5
6use crate::{Buffer, GutterLines, GutterRendererAlignmentMode, View, ffi};
7use glib::{
8    object::ObjectType as _,
9    prelude::*,
10    signal::{SignalHandlerId, connect_raw},
11    translate::*,
12};
13use std::boxed::Box as Box_;
14
15glib::wrapper! {
16    #[doc(alias = "GtkSourceGutterRenderer")]
17    pub struct GutterRenderer(Object<ffi::GtkSourceGutterRenderer, ffi::GtkSourceGutterRendererClass>) @extends gtk::Widget, @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget;
18
19    match fn {
20        type_ => || ffi::gtk_source_gutter_renderer_get_type(),
21    }
22}
23
24impl GutterRenderer {
25    pub const NONE: Option<&'static GutterRenderer> = None;
26}
27
28pub trait GutterRendererExt: IsA<GutterRenderer> + 'static {
29    #[doc(alias = "gtk_source_gutter_renderer_activate")]
30    fn activate(
31        &self,
32        iter: &gtk::TextIter,
33        area: &gdk::Rectangle,
34        button: u32,
35        state: gdk::ModifierType,
36        n_presses: i32,
37    ) {
38        unsafe {
39            ffi::gtk_source_gutter_renderer_activate(
40                self.as_ref().to_glib_none().0,
41                iter.to_glib_none().0,
42                area.to_glib_none().0,
43                button,
44                state.into_glib(),
45                n_presses,
46            );
47        }
48    }
49
50    #[doc(alias = "gtk_source_gutter_renderer_align_cell")]
51    fn align_cell(&self, line: u32, width: f32, height: f32) -> (f32, f32) {
52        unsafe {
53            let mut x = std::mem::MaybeUninit::uninit();
54            let mut y = std::mem::MaybeUninit::uninit();
55            ffi::gtk_source_gutter_renderer_align_cell(
56                self.as_ref().to_glib_none().0,
57                line,
58                width,
59                height,
60                x.as_mut_ptr(),
61                y.as_mut_ptr(),
62            );
63            (x.assume_init(), y.assume_init())
64        }
65    }
66
67    #[doc(alias = "gtk_source_gutter_renderer_get_alignment_mode")]
68    #[doc(alias = "get_alignment_mode")]
69    #[doc(alias = "alignment-mode")]
70    fn alignment_mode(&self) -> GutterRendererAlignmentMode {
71        unsafe {
72            from_glib(ffi::gtk_source_gutter_renderer_get_alignment_mode(
73                self.as_ref().to_glib_none().0,
74            ))
75        }
76    }
77
78    #[doc(alias = "gtk_source_gutter_renderer_get_buffer")]
79    #[doc(alias = "get_buffer")]
80    fn buffer(&self) -> Option<Buffer> {
81        unsafe {
82            from_glib_none(ffi::gtk_source_gutter_renderer_get_buffer(
83                self.as_ref().to_glib_none().0,
84            ))
85        }
86    }
87
88    #[doc(alias = "gtk_source_gutter_renderer_get_view")]
89    #[doc(alias = "get_view")]
90    fn view(&self) -> View {
91        unsafe {
92            from_glib_none(ffi::gtk_source_gutter_renderer_get_view(
93                self.as_ref().to_glib_none().0,
94            ))
95        }
96    }
97
98    #[doc(alias = "gtk_source_gutter_renderer_get_xalign")]
99    #[doc(alias = "get_xalign")]
100    fn xalign(&self) -> f32 {
101        unsafe { ffi::gtk_source_gutter_renderer_get_xalign(self.as_ref().to_glib_none().0) }
102    }
103
104    #[doc(alias = "gtk_source_gutter_renderer_get_xpad")]
105    #[doc(alias = "get_xpad")]
106    fn xpad(&self) -> i32 {
107        unsafe { ffi::gtk_source_gutter_renderer_get_xpad(self.as_ref().to_glib_none().0) }
108    }
109
110    #[doc(alias = "gtk_source_gutter_renderer_get_yalign")]
111    #[doc(alias = "get_yalign")]
112    fn yalign(&self) -> f32 {
113        unsafe { ffi::gtk_source_gutter_renderer_get_yalign(self.as_ref().to_glib_none().0) }
114    }
115
116    #[doc(alias = "gtk_source_gutter_renderer_get_ypad")]
117    #[doc(alias = "get_ypad")]
118    fn ypad(&self) -> i32 {
119        unsafe { ffi::gtk_source_gutter_renderer_get_ypad(self.as_ref().to_glib_none().0) }
120    }
121
122    #[doc(alias = "gtk_source_gutter_renderer_query_activatable")]
123    fn query_activatable(&self, iter: &gtk::TextIter, area: &gdk::Rectangle) -> bool {
124        unsafe {
125            from_glib(ffi::gtk_source_gutter_renderer_query_activatable(
126                self.as_ref().to_glib_none().0,
127                iter.to_glib_none().0,
128                area.to_glib_none().0,
129            ))
130        }
131    }
132
133    #[doc(alias = "gtk_source_gutter_renderer_set_alignment_mode")]
134    #[doc(alias = "alignment-mode")]
135    fn set_alignment_mode(&self, mode: GutterRendererAlignmentMode) {
136        unsafe {
137            ffi::gtk_source_gutter_renderer_set_alignment_mode(
138                self.as_ref().to_glib_none().0,
139                mode.into_glib(),
140            );
141        }
142    }
143
144    #[doc(alias = "gtk_source_gutter_renderer_set_xalign")]
145    #[doc(alias = "xalign")]
146    fn set_xalign(&self, xalign: f32) {
147        unsafe {
148            ffi::gtk_source_gutter_renderer_set_xalign(self.as_ref().to_glib_none().0, xalign);
149        }
150    }
151
152    #[doc(alias = "gtk_source_gutter_renderer_set_xpad")]
153    #[doc(alias = "xpad")]
154    fn set_xpad(&self, xpad: i32) {
155        unsafe {
156            ffi::gtk_source_gutter_renderer_set_xpad(self.as_ref().to_glib_none().0, xpad);
157        }
158    }
159
160    #[doc(alias = "gtk_source_gutter_renderer_set_yalign")]
161    #[doc(alias = "yalign")]
162    fn set_yalign(&self, yalign: f32) {
163        unsafe {
164            ffi::gtk_source_gutter_renderer_set_yalign(self.as_ref().to_glib_none().0, yalign);
165        }
166    }
167
168    #[doc(alias = "gtk_source_gutter_renderer_set_ypad")]
169    #[doc(alias = "ypad")]
170    fn set_ypad(&self, ypad: i32) {
171        unsafe {
172            ffi::gtk_source_gutter_renderer_set_ypad(self.as_ref().to_glib_none().0, ypad);
173        }
174    }
175
176    fn lines(&self) -> Option<GutterLines> {
177        ObjectExt::property(self.as_ref(), "lines")
178    }
179
180    #[doc(alias = "activate")]
181    fn connect_activate<
182        F: Fn(&Self, &gtk::TextIter, &gdk::Rectangle, u32, gdk::ModifierType, i32) + 'static,
183    >(
184        &self,
185        f: F,
186    ) -> SignalHandlerId {
187        unsafe extern "C" fn activate_trampoline<
188            P: IsA<GutterRenderer>,
189            F: Fn(&P, &gtk::TextIter, &gdk::Rectangle, u32, gdk::ModifierType, i32) + 'static,
190        >(
191            this: *mut ffi::GtkSourceGutterRenderer,
192            iter: *mut gtk::ffi::GtkTextIter,
193            area: *mut gdk::ffi::GdkRectangle,
194            button: std::ffi::c_uint,
195            state: gdk::ffi::GdkModifierType,
196            n_presses: std::ffi::c_int,
197            f: glib::ffi::gpointer,
198        ) {
199            unsafe {
200                let f: &F = &*(f as *const F);
201                f(
202                    GutterRenderer::from_glib_borrow(this).unsafe_cast_ref(),
203                    &from_glib_borrow(iter),
204                    &from_glib_borrow(area),
205                    button,
206                    from_glib(state),
207                    n_presses,
208                )
209            }
210        }
211        unsafe {
212            let f: Box_<F> = Box_::new(f);
213            connect_raw(
214                self.as_ptr() as *mut _,
215                c"activate".as_ptr(),
216                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
217                    activate_trampoline::<Self, F> as *const (),
218                )),
219                Box_::into_raw(f),
220            )
221        }
222    }
223
224    #[doc(alias = "query-activatable")]
225    fn connect_query_activatable<
226        F: Fn(&Self, &gtk::TextIter, &gdk::Rectangle) -> bool + 'static,
227    >(
228        &self,
229        f: F,
230    ) -> SignalHandlerId {
231        unsafe extern "C" fn query_activatable_trampoline<
232            P: IsA<GutterRenderer>,
233            F: Fn(&P, &gtk::TextIter, &gdk::Rectangle) -> bool + 'static,
234        >(
235            this: *mut ffi::GtkSourceGutterRenderer,
236            iter: *mut gtk::ffi::GtkTextIter,
237            area: *mut gdk::ffi::GdkRectangle,
238            f: glib::ffi::gpointer,
239        ) -> glib::ffi::gboolean {
240            unsafe {
241                let f: &F = &*(f as *const F);
242                f(
243                    GutterRenderer::from_glib_borrow(this).unsafe_cast_ref(),
244                    &from_glib_borrow(iter),
245                    &from_glib_borrow(area),
246                )
247                .into_glib()
248            }
249        }
250        unsafe {
251            let f: Box_<F> = Box_::new(f);
252            connect_raw(
253                self.as_ptr() as *mut _,
254                c"query-activatable".as_ptr(),
255                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
256                    query_activatable_trampoline::<Self, F> as *const (),
257                )),
258                Box_::into_raw(f),
259            )
260        }
261    }
262
263    #[doc(alias = "query-data")]
264    fn connect_query_data<F: Fn(&Self, &glib::Object, u32) + 'static>(
265        &self,
266        f: F,
267    ) -> SignalHandlerId {
268        unsafe extern "C" fn query_data_trampoline<
269            P: IsA<GutterRenderer>,
270            F: Fn(&P, &glib::Object, u32) + 'static,
271        >(
272            this: *mut ffi::GtkSourceGutterRenderer,
273            object: *mut glib::gobject_ffi::GObject,
274            p0: std::ffi::c_uint,
275            f: glib::ffi::gpointer,
276        ) {
277            unsafe {
278                let f: &F = &*(f as *const F);
279                f(
280                    GutterRenderer::from_glib_borrow(this).unsafe_cast_ref(),
281                    &from_glib_borrow(object),
282                    p0,
283                )
284            }
285        }
286        unsafe {
287            let f: Box_<F> = Box_::new(f);
288            connect_raw(
289                self.as_ptr() as *mut _,
290                c"query-data".as_ptr(),
291                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
292                    query_data_trampoline::<Self, F> as *const (),
293                )),
294                Box_::into_raw(f),
295            )
296        }
297    }
298
299    #[doc(alias = "alignment-mode")]
300    fn connect_alignment_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
301        unsafe extern "C" fn notify_alignment_mode_trampoline<
302            P: IsA<GutterRenderer>,
303            F: Fn(&P) + 'static,
304        >(
305            this: *mut ffi::GtkSourceGutterRenderer,
306            _param_spec: glib::ffi::gpointer,
307            f: glib::ffi::gpointer,
308        ) {
309            unsafe {
310                let f: &F = &*(f as *const F);
311                f(GutterRenderer::from_glib_borrow(this).unsafe_cast_ref())
312            }
313        }
314        unsafe {
315            let f: Box_<F> = Box_::new(f);
316            connect_raw(
317                self.as_ptr() as *mut _,
318                c"notify::alignment-mode".as_ptr(),
319                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
320                    notify_alignment_mode_trampoline::<Self, F> as *const (),
321                )),
322                Box_::into_raw(f),
323            )
324        }
325    }
326
327    #[doc(alias = "lines")]
328    fn connect_lines_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
329        unsafe extern "C" fn notify_lines_trampoline<
330            P: IsA<GutterRenderer>,
331            F: Fn(&P) + 'static,
332        >(
333            this: *mut ffi::GtkSourceGutterRenderer,
334            _param_spec: glib::ffi::gpointer,
335            f: glib::ffi::gpointer,
336        ) {
337            unsafe {
338                let f: &F = &*(f as *const F);
339                f(GutterRenderer::from_glib_borrow(this).unsafe_cast_ref())
340            }
341        }
342        unsafe {
343            let f: Box_<F> = Box_::new(f);
344            connect_raw(
345                self.as_ptr() as *mut _,
346                c"notify::lines".as_ptr(),
347                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
348                    notify_lines_trampoline::<Self, F> as *const (),
349                )),
350                Box_::into_raw(f),
351            )
352        }
353    }
354
355    #[doc(alias = "view")]
356    fn connect_view_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
357        unsafe extern "C" fn notify_view_trampoline<P: IsA<GutterRenderer>, F: Fn(&P) + 'static>(
358            this: *mut ffi::GtkSourceGutterRenderer,
359            _param_spec: glib::ffi::gpointer,
360            f: glib::ffi::gpointer,
361        ) {
362            unsafe {
363                let f: &F = &*(f as *const F);
364                f(GutterRenderer::from_glib_borrow(this).unsafe_cast_ref())
365            }
366        }
367        unsafe {
368            let f: Box_<F> = Box_::new(f);
369            connect_raw(
370                self.as_ptr() as *mut _,
371                c"notify::view".as_ptr(),
372                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
373                    notify_view_trampoline::<Self, F> as *const (),
374                )),
375                Box_::into_raw(f),
376            )
377        }
378    }
379
380    #[doc(alias = "xalign")]
381    fn connect_xalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
382        unsafe extern "C" fn notify_xalign_trampoline<
383            P: IsA<GutterRenderer>,
384            F: Fn(&P) + 'static,
385        >(
386            this: *mut ffi::GtkSourceGutterRenderer,
387            _param_spec: glib::ffi::gpointer,
388            f: glib::ffi::gpointer,
389        ) {
390            unsafe {
391                let f: &F = &*(f as *const F);
392                f(GutterRenderer::from_glib_borrow(this).unsafe_cast_ref())
393            }
394        }
395        unsafe {
396            let f: Box_<F> = Box_::new(f);
397            connect_raw(
398                self.as_ptr() as *mut _,
399                c"notify::xalign".as_ptr(),
400                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
401                    notify_xalign_trampoline::<Self, F> as *const (),
402                )),
403                Box_::into_raw(f),
404            )
405        }
406    }
407
408    #[doc(alias = "xpad")]
409    fn connect_xpad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
410        unsafe extern "C" fn notify_xpad_trampoline<P: IsA<GutterRenderer>, F: Fn(&P) + 'static>(
411            this: *mut ffi::GtkSourceGutterRenderer,
412            _param_spec: glib::ffi::gpointer,
413            f: glib::ffi::gpointer,
414        ) {
415            unsafe {
416                let f: &F = &*(f as *const F);
417                f(GutterRenderer::from_glib_borrow(this).unsafe_cast_ref())
418            }
419        }
420        unsafe {
421            let f: Box_<F> = Box_::new(f);
422            connect_raw(
423                self.as_ptr() as *mut _,
424                c"notify::xpad".as_ptr(),
425                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
426                    notify_xpad_trampoline::<Self, F> as *const (),
427                )),
428                Box_::into_raw(f),
429            )
430        }
431    }
432
433    #[doc(alias = "yalign")]
434    fn connect_yalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
435        unsafe extern "C" fn notify_yalign_trampoline<
436            P: IsA<GutterRenderer>,
437            F: Fn(&P) + 'static,
438        >(
439            this: *mut ffi::GtkSourceGutterRenderer,
440            _param_spec: glib::ffi::gpointer,
441            f: glib::ffi::gpointer,
442        ) {
443            unsafe {
444                let f: &F = &*(f as *const F);
445                f(GutterRenderer::from_glib_borrow(this).unsafe_cast_ref())
446            }
447        }
448        unsafe {
449            let f: Box_<F> = Box_::new(f);
450            connect_raw(
451                self.as_ptr() as *mut _,
452                c"notify::yalign".as_ptr(),
453                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
454                    notify_yalign_trampoline::<Self, F> as *const (),
455                )),
456                Box_::into_raw(f),
457            )
458        }
459    }
460
461    #[doc(alias = "ypad")]
462    fn connect_ypad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
463        unsafe extern "C" fn notify_ypad_trampoline<P: IsA<GutterRenderer>, F: Fn(&P) + 'static>(
464            this: *mut ffi::GtkSourceGutterRenderer,
465            _param_spec: glib::ffi::gpointer,
466            f: glib::ffi::gpointer,
467        ) {
468            unsafe {
469                let f: &F = &*(f as *const F);
470                f(GutterRenderer::from_glib_borrow(this).unsafe_cast_ref())
471            }
472        }
473        unsafe {
474            let f: Box_<F> = Box_::new(f);
475            connect_raw(
476                self.as_ptr() as *mut _,
477                c"notify::ypad".as_ptr(),
478                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
479                    notify_ypad_trampoline::<Self, F> as *const (),
480                )),
481                Box_::into_raw(f),
482            )
483        }
484    }
485}
486
487impl<O: IsA<GutterRenderer>> GutterRendererExt for O {}