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 crate::CellArea;
6 use glib::object::Cast;
7 use glib::object::IsA;
8 use glib::signal::connect_raw;
9 use glib::signal::SignalHandlerId;
10 use glib::translate::*;
11 use glib::StaticType;
12 use std::boxed::Box as Box_;
13 use std::fmt;
14 use std::mem;
15 use std::mem::transmute;
16 
17 glib::wrapper! {
18     #[doc(alias = "GtkCellAreaContext")]
19     pub struct CellAreaContext(Object<ffi::GtkCellAreaContext, ffi::GtkCellAreaContextClass>);
20 
21     match fn {
22         type_ => || ffi::gtk_cell_area_context_get_type(),
23     }
24 }
25 
26 pub const NONE_CELL_AREA_CONTEXT: Option<&CellAreaContext> = None;
27 
28 pub trait CellAreaContextExt: 'static {
29     #[doc(alias = "gtk_cell_area_context_allocate")]
allocate(&self, width: i32, height: i32)30     fn allocate(&self, width: i32, height: i32);
31 
32     #[doc(alias = "gtk_cell_area_context_get_allocation")]
33     #[doc(alias = "get_allocation")]
allocation(&self) -> (i32, i32)34     fn allocation(&self) -> (i32, i32);
35 
36     #[doc(alias = "gtk_cell_area_context_get_area")]
37     #[doc(alias = "get_area")]
area(&self) -> Option<CellArea>38     fn area(&self) -> Option<CellArea>;
39 
40     #[doc(alias = "gtk_cell_area_context_get_preferred_height")]
41     #[doc(alias = "get_preferred_height")]
preferred_height(&self) -> (i32, i32)42     fn preferred_height(&self) -> (i32, i32);
43 
44     #[doc(alias = "gtk_cell_area_context_get_preferred_height_for_width")]
45     #[doc(alias = "get_preferred_height_for_width")]
preferred_height_for_width(&self, width: i32) -> (i32, i32)46     fn preferred_height_for_width(&self, width: i32) -> (i32, i32);
47 
48     #[doc(alias = "gtk_cell_area_context_get_preferred_width")]
49     #[doc(alias = "get_preferred_width")]
preferred_width(&self) -> (i32, i32)50     fn preferred_width(&self) -> (i32, i32);
51 
52     #[doc(alias = "gtk_cell_area_context_get_preferred_width_for_height")]
53     #[doc(alias = "get_preferred_width_for_height")]
preferred_width_for_height(&self, height: i32) -> (i32, i32)54     fn preferred_width_for_height(&self, height: i32) -> (i32, i32);
55 
56     #[doc(alias = "gtk_cell_area_context_push_preferred_height")]
push_preferred_height(&self, minimum_height: i32, natural_height: i32)57     fn push_preferred_height(&self, minimum_height: i32, natural_height: i32);
58 
59     #[doc(alias = "gtk_cell_area_context_push_preferred_width")]
push_preferred_width(&self, minimum_width: i32, natural_width: i32)60     fn push_preferred_width(&self, minimum_width: i32, natural_width: i32);
61 
62     #[doc(alias = "gtk_cell_area_context_reset")]
reset(&self)63     fn reset(&self);
64 
65     #[doc(alias = "minimum-height")]
minimum_height(&self) -> i3266     fn minimum_height(&self) -> i32;
67 
68     #[doc(alias = "minimum-width")]
minimum_width(&self) -> i3269     fn minimum_width(&self) -> i32;
70 
71     #[doc(alias = "natural-height")]
natural_height(&self) -> i3272     fn natural_height(&self) -> i32;
73 
74     #[doc(alias = "natural-width")]
natural_width(&self) -> i3275     fn natural_width(&self) -> i32;
76 
77     #[doc(alias = "minimum-height")]
connect_minimum_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId78     fn connect_minimum_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
79 
80     #[doc(alias = "minimum-width")]
connect_minimum_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId81     fn connect_minimum_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
82 
83     #[doc(alias = "natural-height")]
connect_natural_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId84     fn connect_natural_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
85 
86     #[doc(alias = "natural-width")]
connect_natural_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId87     fn connect_natural_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
88 }
89 
90 impl<O: IsA<CellAreaContext>> CellAreaContextExt for O {
allocate(&self, width: i32, height: i32)91     fn allocate(&self, width: i32, height: i32) {
92         unsafe {
93             ffi::gtk_cell_area_context_allocate(self.as_ref().to_glib_none().0, width, height);
94         }
95     }
96 
allocation(&self) -> (i32, i32)97     fn allocation(&self) -> (i32, i32) {
98         unsafe {
99             let mut width = mem::MaybeUninit::uninit();
100             let mut height = mem::MaybeUninit::uninit();
101             ffi::gtk_cell_area_context_get_allocation(
102                 self.as_ref().to_glib_none().0,
103                 width.as_mut_ptr(),
104                 height.as_mut_ptr(),
105             );
106             let width = width.assume_init();
107             let height = height.assume_init();
108             (width, height)
109         }
110     }
111 
area(&self) -> Option<CellArea>112     fn area(&self) -> Option<CellArea> {
113         unsafe {
114             from_glib_none(ffi::gtk_cell_area_context_get_area(
115                 self.as_ref().to_glib_none().0,
116             ))
117         }
118     }
119 
preferred_height(&self) -> (i32, i32)120     fn preferred_height(&self) -> (i32, i32) {
121         unsafe {
122             let mut minimum_height = mem::MaybeUninit::uninit();
123             let mut natural_height = mem::MaybeUninit::uninit();
124             ffi::gtk_cell_area_context_get_preferred_height(
125                 self.as_ref().to_glib_none().0,
126                 minimum_height.as_mut_ptr(),
127                 natural_height.as_mut_ptr(),
128             );
129             let minimum_height = minimum_height.assume_init();
130             let natural_height = natural_height.assume_init();
131             (minimum_height, natural_height)
132         }
133     }
134 
preferred_height_for_width(&self, width: i32) -> (i32, i32)135     fn preferred_height_for_width(&self, width: i32) -> (i32, i32) {
136         unsafe {
137             let mut minimum_height = mem::MaybeUninit::uninit();
138             let mut natural_height = mem::MaybeUninit::uninit();
139             ffi::gtk_cell_area_context_get_preferred_height_for_width(
140                 self.as_ref().to_glib_none().0,
141                 width,
142                 minimum_height.as_mut_ptr(),
143                 natural_height.as_mut_ptr(),
144             );
145             let minimum_height = minimum_height.assume_init();
146             let natural_height = natural_height.assume_init();
147             (minimum_height, natural_height)
148         }
149     }
150 
preferred_width(&self) -> (i32, i32)151     fn preferred_width(&self) -> (i32, i32) {
152         unsafe {
153             let mut minimum_width = mem::MaybeUninit::uninit();
154             let mut natural_width = mem::MaybeUninit::uninit();
155             ffi::gtk_cell_area_context_get_preferred_width(
156                 self.as_ref().to_glib_none().0,
157                 minimum_width.as_mut_ptr(),
158                 natural_width.as_mut_ptr(),
159             );
160             let minimum_width = minimum_width.assume_init();
161             let natural_width = natural_width.assume_init();
162             (minimum_width, natural_width)
163         }
164     }
165 
preferred_width_for_height(&self, height: i32) -> (i32, i32)166     fn preferred_width_for_height(&self, height: i32) -> (i32, i32) {
167         unsafe {
168             let mut minimum_width = mem::MaybeUninit::uninit();
169             let mut natural_width = mem::MaybeUninit::uninit();
170             ffi::gtk_cell_area_context_get_preferred_width_for_height(
171                 self.as_ref().to_glib_none().0,
172                 height,
173                 minimum_width.as_mut_ptr(),
174                 natural_width.as_mut_ptr(),
175             );
176             let minimum_width = minimum_width.assume_init();
177             let natural_width = natural_width.assume_init();
178             (minimum_width, natural_width)
179         }
180     }
181 
push_preferred_height(&self, minimum_height: i32, natural_height: i32)182     fn push_preferred_height(&self, minimum_height: i32, natural_height: i32) {
183         unsafe {
184             ffi::gtk_cell_area_context_push_preferred_height(
185                 self.as_ref().to_glib_none().0,
186                 minimum_height,
187                 natural_height,
188             );
189         }
190     }
191 
push_preferred_width(&self, minimum_width: i32, natural_width: i32)192     fn push_preferred_width(&self, minimum_width: i32, natural_width: i32) {
193         unsafe {
194             ffi::gtk_cell_area_context_push_preferred_width(
195                 self.as_ref().to_glib_none().0,
196                 minimum_width,
197                 natural_width,
198             );
199         }
200     }
201 
reset(&self)202     fn reset(&self) {
203         unsafe {
204             ffi::gtk_cell_area_context_reset(self.as_ref().to_glib_none().0);
205         }
206     }
207 
minimum_height(&self) -> i32208     fn minimum_height(&self) -> i32 {
209         unsafe {
210             let mut value = glib::Value::from_type(<i32 as StaticType>::static_type());
211             glib::gobject_ffi::g_object_get_property(
212                 self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
213                 b"minimum-height\0".as_ptr() as *const _,
214                 value.to_glib_none_mut().0,
215             );
216             value
217                 .get()
218                 .expect("Return Value for property `minimum-height` getter")
219         }
220     }
221 
minimum_width(&self) -> i32222     fn minimum_width(&self) -> i32 {
223         unsafe {
224             let mut value = glib::Value::from_type(<i32 as StaticType>::static_type());
225             glib::gobject_ffi::g_object_get_property(
226                 self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
227                 b"minimum-width\0".as_ptr() as *const _,
228                 value.to_glib_none_mut().0,
229             );
230             value
231                 .get()
232                 .expect("Return Value for property `minimum-width` getter")
233         }
234     }
235 
natural_height(&self) -> i32236     fn natural_height(&self) -> i32 {
237         unsafe {
238             let mut value = glib::Value::from_type(<i32 as StaticType>::static_type());
239             glib::gobject_ffi::g_object_get_property(
240                 self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
241                 b"natural-height\0".as_ptr() as *const _,
242                 value.to_glib_none_mut().0,
243             );
244             value
245                 .get()
246                 .expect("Return Value for property `natural-height` getter")
247         }
248     }
249 
natural_width(&self) -> i32250     fn natural_width(&self) -> i32 {
251         unsafe {
252             let mut value = glib::Value::from_type(<i32 as StaticType>::static_type());
253             glib::gobject_ffi::g_object_get_property(
254                 self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
255                 b"natural-width\0".as_ptr() as *const _,
256                 value.to_glib_none_mut().0,
257             );
258             value
259                 .get()
260                 .expect("Return Value for property `natural-width` getter")
261         }
262     }
263 
connect_minimum_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId264     fn connect_minimum_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
265         unsafe extern "C" fn notify_minimum_height_trampoline<
266             P: IsA<CellAreaContext>,
267             F: Fn(&P) + 'static,
268         >(
269             this: *mut ffi::GtkCellAreaContext,
270             _param_spec: glib::ffi::gpointer,
271             f: glib::ffi::gpointer,
272         ) {
273             let f: &F = &*(f as *const F);
274             f(CellAreaContext::from_glib_borrow(this).unsafe_cast_ref())
275         }
276         unsafe {
277             let f: Box_<F> = Box_::new(f);
278             connect_raw(
279                 self.as_ptr() as *mut _,
280                 b"notify::minimum-height\0".as_ptr() as *const _,
281                 Some(transmute::<_, unsafe extern "C" fn()>(
282                     notify_minimum_height_trampoline::<Self, F> as *const (),
283                 )),
284                 Box_::into_raw(f),
285             )
286         }
287     }
288 
connect_minimum_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId289     fn connect_minimum_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
290         unsafe extern "C" fn notify_minimum_width_trampoline<
291             P: IsA<CellAreaContext>,
292             F: Fn(&P) + 'static,
293         >(
294             this: *mut ffi::GtkCellAreaContext,
295             _param_spec: glib::ffi::gpointer,
296             f: glib::ffi::gpointer,
297         ) {
298             let f: &F = &*(f as *const F);
299             f(CellAreaContext::from_glib_borrow(this).unsafe_cast_ref())
300         }
301         unsafe {
302             let f: Box_<F> = Box_::new(f);
303             connect_raw(
304                 self.as_ptr() as *mut _,
305                 b"notify::minimum-width\0".as_ptr() as *const _,
306                 Some(transmute::<_, unsafe extern "C" fn()>(
307                     notify_minimum_width_trampoline::<Self, F> as *const (),
308                 )),
309                 Box_::into_raw(f),
310             )
311         }
312     }
313 
connect_natural_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId314     fn connect_natural_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
315         unsafe extern "C" fn notify_natural_height_trampoline<
316             P: IsA<CellAreaContext>,
317             F: Fn(&P) + 'static,
318         >(
319             this: *mut ffi::GtkCellAreaContext,
320             _param_spec: glib::ffi::gpointer,
321             f: glib::ffi::gpointer,
322         ) {
323             let f: &F = &*(f as *const F);
324             f(CellAreaContext::from_glib_borrow(this).unsafe_cast_ref())
325         }
326         unsafe {
327             let f: Box_<F> = Box_::new(f);
328             connect_raw(
329                 self.as_ptr() as *mut _,
330                 b"notify::natural-height\0".as_ptr() as *const _,
331                 Some(transmute::<_, unsafe extern "C" fn()>(
332                     notify_natural_height_trampoline::<Self, F> as *const (),
333                 )),
334                 Box_::into_raw(f),
335             )
336         }
337     }
338 
connect_natural_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId339     fn connect_natural_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
340         unsafe extern "C" fn notify_natural_width_trampoline<
341             P: IsA<CellAreaContext>,
342             F: Fn(&P) + 'static,
343         >(
344             this: *mut ffi::GtkCellAreaContext,
345             _param_spec: glib::ffi::gpointer,
346             f: glib::ffi::gpointer,
347         ) {
348             let f: &F = &*(f as *const F);
349             f(CellAreaContext::from_glib_borrow(this).unsafe_cast_ref())
350         }
351         unsafe {
352             let f: Box_<F> = Box_::new(f);
353             connect_raw(
354                 self.as_ptr() as *mut _,
355                 b"notify::natural-width\0".as_ptr() as *const _,
356                 Some(transmute::<_, unsafe extern "C" fn()>(
357                     notify_natural_width_trampoline::<Self, F> as *const (),
358                 )),
359                 Box_::into_raw(f),
360             )
361         }
362     }
363 }
364 
365 impl fmt::Display for CellAreaContext {
fmt(&self, f: &mut fmt::Formatter) -> fmt::Result366     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
367         f.write_str("CellAreaContext")
368     }
369 }
370