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