1use glib::{
2 object as gobject,
3 object::{Cast, IsA},
4 signal::{connect_raw, SignalHandlerId},
5 translate::*,
6 value::SetValueOptional,
7 GString, StaticType, Value,
8};
9
10use crate::{
12 Action, ActorAlign, ActorBox, ActorFlags, AllocationFlags, Animatable, AnimationMode,
13 ButtonEvent, Color, Constraint, Container, Content, ContentGravity, ContentRepeat,
14 CrossingEvent, Effect, Event, KeyEvent, LayoutManager, Margin, Matrix, MotionEvent,
15 OffscreenRedirect, Orientation, PaintVolume, Rect, RequestMode, RotateAxis, ScalingFilter,
16 ScrollEvent, Stage, TextDirection, Transition, Vertex,
17};
18use std::boxed::Box as Box_;
19use std::mem::transmute;
20use std::{fmt, mem};
21
22glib_wrapper! {
24 pub struct Actor(Object<ffi::ClutterActor, ffi::ClutterActorClass, ActorClass>) @extends gobject::InitiallyUnowned, @implements Animatable, Container;
25
26 match fn {
27 get_type => || ffi::clutter_actor_get_type(),
28 }
29}
30
31impl Actor {
32 pub fn new() -> Actor {
41 unsafe { from_glib_none(ffi::clutter_actor_new()) }
42 }
43}
44
45impl Default for Actor {
46 fn default() -> Self {
47 Self::new()
48 }
49}
50
51pub const NONE_ACTOR: Option<&Actor> = None;
52
53pub trait ActorExt: 'static {
59 fn add_action<P: IsA<Action>>(&self, action: &P);
69
70 fn add_action_with_name<P: IsA<Action>>(&self, name: &str, action: &P);
85
86 fn add_child<P: IsA<Actor>>(&self, child: &P);
99
100 fn add_constraint<P: IsA<Constraint>>(&self, constraint: &P);
109
110 fn add_constraint_with_name<P: IsA<Constraint>>(&self, name: &str, constraint: &P);
125
126 fn add_effect<P: IsA<Effect>>(&self, effect: &P);
137
138 fn add_effect_with_name<P: IsA<Effect>>(&self, name: &str, effect: &P);
157
158 fn add_transition<P: IsA<Transition>>(&self, name: &str, transition: &P);
174
175 fn allocate(&self, box_: &ActorBox, flags: AllocationFlags);
200
201 fn allocate_align_fill(
230 &self,
231 box_: &ActorBox,
232 x_align: f64,
233 y_align: f64,
234 x_fill: bool,
235 y_fill: bool,
236 flags: AllocationFlags,
237 );
238
239 fn allocate_available_size(
304 &self,
305 x: f32,
306 y: f32,
307 available_width: f32,
308 available_height: f32,
309 flags: AllocationFlags,
310 );
311
312 fn allocate_preferred_size(&self, flags: AllocationFlags);
327
328 fn apply_relative_transform_to_point<P: IsA<Actor>>(
344 &self,
345 ancestor: Option<&P>,
346 point: &Vertex,
347 ) -> Vertex;
348
349 fn apply_transform_to_point(&self, point: &Vertex) -> Vertex;
357
358 fn bind_model<P: IsA<gio::ListModel>, Q: Fn(&glib::Object) -> Actor + 'static>(
380 &self,
381 model: Option<&P>,
382 create_child_func: Q,
383 );
384
385 fn clear_actions(&self);
389
390 fn clear_constraints(&self);
392
393 fn clear_effects(&self);
395
396 fn contains<P: IsA<Actor>>(&self, descendant: &P) -> bool;
406
407 fn continue_paint(&self);
413
414 fn create_pango_context(&self) -> Option<pango::Context>;
426
427 fn create_pango_layout(&self, text: Option<&str>) -> Option<pango::Layout>;
444
445 fn destroy(&self);
454
455 fn destroy_all_children(&self);
476
477 fn event(&self, event: &Event, capture: bool) -> bool;
491
492 fn get_accessible(&self) -> Option<atk::Object>;
511
512 fn get_action(&self, name: &str) -> Option<Action>;
523
524 fn get_actions(&self) -> Vec<Action>;
533
534 fn get_allocation_box(&self) -> ActorBox;
547
548 fn get_background_color(&self) -> Color;
554
555 fn get_child_at_index(&self, index_: i32) -> Option<Actor>;
564
565 fn get_child_transform(&self) -> Matrix;
571
572 fn get_children(&self) -> Vec<Actor>;
580
581 fn get_clip(&self) -> (f32, f32, f32, f32);
595
596 fn get_clip_to_allocation(&self) -> bool;
602
603 fn get_constraint(&self, name: &str) -> Option<Constraint>;
614
615 fn get_constraints(&self) -> Vec<Constraint>;
624
625 fn get_content(&self) -> Option<Content>;
632
633 fn get_content_box(&self) -> ActorBox;
650
651 fn get_content_gravity(&self) -> ContentGravity;
658
659 fn get_content_repeat(&self) -> ContentRepeat;
666
667 fn get_content_scaling_filters(&self) -> (ScalingFilter, ScalingFilter);
675
676 fn get_default_paint_volume(&self) -> Option<PaintVolume>;
695
696 fn get_easing_delay(&self) -> u32;
703
704 fn get_easing_duration(&self) -> u32;
711
712 fn get_easing_mode(&self) -> AnimationMode;
719
720 fn get_effect(&self, name: &str) -> Option<Effect>;
731
732 fn get_effects(&self) -> Vec<Effect>;
741
742 fn get_first_child(&self) -> Option<Actor>;
752
753 fn get_fixed_position_set(&self) -> bool;
760
761 fn get_flags(&self) -> ActorFlags;
767
768 fn get_height(&self) -> f32;
791
792 fn get_last_child(&self) -> Option<Actor>;
802
803 fn get_layout_manager(&self) -> Option<LayoutManager>;
810
811 fn get_margin(&self) -> Margin;
815
816 fn get_margin_bottom(&self) -> f32;
822
823 fn get_margin_left(&self) -> f32;
829
830 fn get_margin_right(&self) -> f32;
836
837 fn get_margin_top(&self) -> f32;
843
844 fn get_n_children(&self) -> i32;
850
851 fn get_name(&self) -> Option<GString>;
858
859 fn get_next_sibling(&self) -> Option<Actor>;
870
871 fn get_offscreen_redirect(&self) -> OffscreenRedirect;
878
879 fn get_opacity(&self) -> u8;
889
890 fn get_paint_box(&self) -> Option<ActorBox>;
910
911 fn get_paint_opacity(&self) -> u8;
923
924 fn get_paint_visibility(&self) -> bool;
933
934 fn get_paint_volume(&self) -> Option<PaintVolume>;
958
959 fn get_pango_context(&self) -> Option<pango::Context>;
977
978 fn get_parent(&self) -> Option<Actor>;
985
986 fn get_pivot_point(&self) -> (f32, f32);
994
995 fn get_pivot_point_z(&self) -> f32;
997
998 fn get_position(&self) -> (f32, f32);
1010
1011 fn get_preferred_height(&self, for_width: f32) -> (f32, f32);
1029
1030 fn get_preferred_size(&self) -> (f32, f32, f32, f32);
1054
1055 fn get_preferred_width(&self, for_height: f32) -> (f32, f32);
1074
1075 fn get_previous_sibling(&self) -> Option<Actor>;
1086
1087 fn get_reactive(&self) -> bool;
1093
1094 fn get_request_mode(&self) -> RequestMode;
1100
1101 fn get_rotation_angle(&self, axis: RotateAxis) -> f64;
1109
1110 fn get_scale(&self) -> (f64, f64);
1118
1119 fn get_scale_z(&self) -> f64;
1126
1127 fn get_size(&self) -> (f32, f32);
1141
1142 fn get_stage(&self) -> Option<Stage>;
1149
1150 fn get_text_direction(&self) -> TextDirection;
1160
1161 fn get_transform(&self) -> Matrix;
1165
1166 fn get_transformed_paint_volume<P: IsA<Actor>>(
1188 &self,
1189 relative_to_ancestor: &P,
1190 ) -> Option<PaintVolume>;
1191
1192 fn get_transformed_position(&self) -> (f32, f32);
1198
1199 fn get_transformed_size(&self) -> (f32, f32);
1223
1224 fn get_transition(&self, name: &str) -> Option<Transition>;
1256
1257 fn get_translation(&self) -> (f32, f32, f32);
1268
1269 fn get_width(&self) -> f32;
1292
1293 fn get_x(&self) -> f32;
1313
1314 fn get_x_align(&self) -> ActorAlign;
1321
1322 fn get_x_expand(&self) -> bool;
1330
1331 fn get_y(&self) -> f32;
1351
1352 fn get_y_align(&self) -> ActorAlign;
1359
1360 fn get_y_expand(&self) -> bool;
1368
1369 fn get_z_position(&self) -> f32;
1375
1376 fn grab_key_focus(&self);
1379
1380 fn has_actions(&self) -> bool;
1387
1388 fn has_allocation(&self) -> bool;
1403
1404 fn has_clip(&self) -> bool;
1410
1411 fn has_constraints(&self) -> bool;
1418
1419 fn has_effects(&self) -> bool;
1426
1427 fn has_key_focus(&self) -> bool;
1433
1434 fn has_overlaps(&self) -> bool;
1450
1451 fn has_pointer(&self) -> bool;
1459
1460 fn hide(&self);
1469
1470 fn insert_child_above<P: IsA<Actor>, Q: IsA<Actor>>(&self, child: &P, sibling: Option<&Q>);
1487
1488 fn insert_child_at_index<P: IsA<Actor>>(&self, child: &P, index_: i32);
1505
1506 fn insert_child_below<P: IsA<Actor>, Q: IsA<Actor>>(&self, child: &P, sibling: Option<&Q>);
1523
1524 fn is_in_clone_paint(&self) -> bool;
1537
1538 fn is_mapped(&self) -> bool;
1546
1547 fn is_realized(&self) -> bool;
1555
1556 fn is_rotated(&self) -> bool;
1562
1563 fn is_scaled(&self) -> bool;
1569
1570 fn is_visible(&self) -> bool;
1578
1579 fn map(&self);
1590
1591 fn move_by(&self, dx: f32, dy: f32);
1603
1604 fn needs_expand(&self, orientation: Orientation) -> bool;
1619
1620 fn paint(&self);
1634
1635 fn queue_redraw(&self);
1652
1653 fn queue_redraw_with_clip(&self, clip: Option<&cairo::RectangleInt>);
1661
1662 fn queue_relayout(&self);
1668
1669 fn remove_action<P: IsA<Action>>(&self, action: &P);
1675
1676 fn remove_action_by_name(&self, name: &str);
1681
1682 fn remove_all_children(&self);
1691
1692 fn remove_all_transitions(&self);
1694
1695 fn remove_child<P: IsA<Actor>>(&self, child: &P);
1707
1708 fn remove_clip(&self);
1710
1711 fn remove_constraint<P: IsA<Constraint>>(&self, constraint: &P);
1717
1718 fn remove_constraint_by_name(&self, name: &str);
1723
1724 fn remove_effect<P: IsA<Effect>>(&self, effect: &P);
1730
1731 fn remove_effect_by_name(&self, name: &str);
1736
1737 fn remove_transition(&self, name: &str);
1747
1748 fn replace_child<P: IsA<Actor>, Q: IsA<Actor>>(&self, old_child: &P, new_child: &Q);
1754
1755 fn restore_easing_state(&self);
1758
1759 fn save_easing_state(&self);
1766
1767 fn set_allocation(&self, box_: &ActorBox, flags: AllocationFlags);
1845
1846 fn set_background_color(&self, color: Option<&Color>);
1859
1860 fn set_child_above_sibling<P: IsA<Actor>, Q: IsA<Actor>>(&self, child: &P, sibling: Option<&Q>);
1872
1873 fn set_child_at_index<P: IsA<Actor>>(&self, child: &P, index_: i32);
1883
1884 fn set_child_below_sibling<P: IsA<Actor>, Q: IsA<Actor>>(&self, child: &P, sibling: Option<&Q>);
1896
1897 fn set_child_transform(&self, transform: Option<&Matrix>);
1907
1908 fn set_clip(&self, xoff: f32, yoff: f32, width: f32, height: f32);
1920
1921 fn set_clip_to_allocation(&self, clip_set: bool);
1926
1927 fn set_content<P: IsA<Content>>(&self, content: Option<&P>);
1931
1932 fn set_content_gravity(&self, gravity: ContentGravity);
1941
1942 fn set_content_repeat(&self, repeat: ContentRepeat);
1948
1949 fn set_content_scaling_filters(&self, min_filter: ScalingFilter, mag_filter: ScalingFilter);
1960
1961 fn set_easing_delay(&self, msecs: u32);
1966
1967 fn set_easing_duration(&self, msecs: u32);
1972
1973 fn set_easing_mode(&self, mode: AnimationMode);
1978
1979 fn set_fixed_position_set(&self, is_set: bool);
1984
1985 fn set_flags(&self, flags: ActorFlags);
1991
1992 fn set_height(&self, height: f32);
2002
2003 fn set_layout_manager<P: IsA<LayoutManager>>(&self, manager: Option<&P>);
2012
2013 fn set_margin(&self, margin: &Margin);
2017
2018 fn set_margin_bottom(&self, margin: f32);
2024
2025 fn set_margin_left(&self, margin: f32);
2031
2032 fn set_margin_right(&self, margin: f32);
2038
2039 fn set_margin_top(&self, margin: f32);
2045
2046 fn set_name(&self, name: &str);
2051
2052 fn set_offscreen_redirect(&self, redirect: OffscreenRedirect);
2112
2113 fn set_opacity(&self, opacity: u8);
2120
2121 fn set_pivot_point(&self, pivot_x: f32, pivot_y: f32);
2132
2133 fn set_pivot_point_z(&self, pivot_z: f32);
2140
2141 fn set_position(&self, x: f32, y: f32);
2151
2152 fn set_reactive(&self, reactive: bool);
2156
2157 fn set_request_mode(&self, mode: RequestMode);
2165
2166 fn set_rotation_angle(&self, axis: RotateAxis, angle: f64);
2179
2180 fn set_scale(&self, scale_x: f64, scale_y: f64);
2191
2192 fn set_scale_z(&self, scale_z: f64);
2200
2201 fn set_size(&self, width: f32, height: f32);
2216
2217 fn set_text_direction(&self, text_dir: TextDirection);
2230
2231 fn set_transform(&self, transform: Option<&Matrix>);
2240
2241 fn set_translation(&self, translate_x: f32, translate_y: f32, translate_z: f32);
2250
2251 fn set_width(&self, width: f32);
2261
2262 fn set_x(&self, x: f32);
2271
2272 fn set_x_align(&self, x_align: ActorAlign);
2279
2280 fn set_x_expand(&self, expand: bool);
2290
2291 fn set_y(&self, y: f32);
2300
2301 fn set_y_align(&self, y_align: ActorAlign);
2308
2309 fn set_y_expand(&self, expand: bool);
2319
2320 fn set_z_position(&self, z_position: f32);
2326
2327 fn should_pick_paint(&self) -> bool;
2338
2339 fn show(&self);
2348
2349 fn transform_stage_point(&self, x: f32, y: f32) -> Option<(f32, f32)>;
2377
2378 fn unmap(&self);
2394
2395 fn unset_flags(&self, flags: ActorFlags);
2401
2402 fn set_property_actions<P: IsA<Action> + SetValueOptional>(&self, actions: Option<&P>);
2404
2405 fn get_property_allocation(&self) -> Option<ActorBox>;
2410
2411 fn get_property_background_color_set(&self) -> bool;
2413
2414 fn get_property_child_transform_set(&self) -> bool;
2416
2417 fn get_property_clip_rect(&self) -> Option<Rect>;
2425
2426 fn set_property_clip_rect(&self, clip_rect: Option<&Rect>);
2434
2435 fn set_property_constraints<P: IsA<Constraint> + SetValueOptional>(
2437 &self,
2438 constraints: Option<&P>,
2439 );
2440
2441 fn set_property_effect<P: IsA<Effect> + SetValueOptional>(&self, effect: Option<&P>);
2443
2444 fn get_property_fixed_x(&self) -> f32;
2449
2450 fn set_property_fixed_x(&self, fixed_x: f32);
2455
2456 fn get_property_fixed_y(&self) -> f32;
2461
2462 fn set_property_fixed_y(&self, fixed_y: f32);
2467
2468 fn get_property_has_clip(&self) -> bool;
2470
2471 fn get_property_has_pointer(&self) -> bool;
2474
2475 fn get_property_magnification_filter(&self) -> ScalingFilter;
2476
2477 fn set_property_magnification_filter(&self, magnification_filter: ScalingFilter);
2478
2479 fn get_property_mapped(&self) -> bool;
2482
2483 fn get_property_min_height(&self) -> f32;
2489
2490 fn set_property_min_height(&self, min_height: f32);
2496
2497 fn get_property_min_height_set(&self) -> bool;
2500
2501 fn set_property_min_height_set(&self, min_height_set: bool);
2504
2505 fn get_property_min_width(&self) -> f32;
2512
2513 fn set_property_min_width(&self, min_width: f32);
2520
2521 fn get_property_min_width_set(&self) -> bool;
2524
2525 fn set_property_min_width_set(&self, min_width_set: bool);
2528
2529 fn get_property_minification_filter(&self) -> ScalingFilter;
2530
2531 fn set_property_minification_filter(&self, minification_filter: ScalingFilter);
2532
2533 fn get_property_natural_height(&self) -> f32;
2539
2540 fn set_property_natural_height(&self, natural_height: f32);
2546
2547 fn get_property_natural_height_set(&self) -> bool;
2550
2551 fn set_property_natural_height_set(&self, natural_height_set: bool);
2554
2555 fn get_property_natural_width(&self) -> f32;
2561
2562 fn set_property_natural_width(&self, natural_width: f32);
2568
2569 fn get_property_natural_width_set(&self) -> bool;
2572
2573 fn set_property_natural_width_set(&self, natural_width_set: bool);
2576
2577 fn get_property_realized(&self) -> bool;
2579
2580 fn get_property_rotation_angle_x(&self) -> f64;
2584
2585 fn set_property_rotation_angle_x(&self, rotation_angle_x: f64);
2589
2590 fn get_property_rotation_angle_y(&self) -> f64;
2594
2595 fn set_property_rotation_angle_y(&self, rotation_angle_y: f64);
2599
2600 fn get_property_rotation_angle_z(&self) -> f64;
2604
2605 fn set_property_rotation_angle_z(&self, rotation_angle_z: f64);
2609
2610 fn get_property_scale_x(&self) -> f64;
2614
2615 fn set_property_scale_x(&self, scale_x: f64);
2619
2620 fn get_property_scale_y(&self) -> f64;
2624
2625 fn set_property_scale_y(&self, scale_y: f64);
2629
2630 fn get_property_show_on_set_parent(&self) -> bool;
2635
2636 fn set_property_show_on_set_parent(&self, show_on_set_parent: bool);
2641
2642 fn get_property_transform_set(&self) -> bool;
2644
2645 fn get_property_translation_x(&self) -> f32;
2650
2651 fn set_property_translation_x(&self, translation_x: f32);
2656
2657 fn get_property_translation_y(&self) -> f32;
2662
2663 fn set_property_translation_y(&self, translation_y: f32);
2668
2669 fn get_property_translation_z(&self) -> f32;
2674
2675 fn set_property_translation_z(&self, translation_z: f32);
2680
2681 fn get_property_visible(&self) -> bool;
2685
2686 fn set_property_visible(&self, visible: bool);
2690
2691 fn connect_allocation_changed<F: Fn(&Self, &ActorBox, AllocationFlags) + 'static>(
2702 &self,
2703 f: F,
2704 ) -> SignalHandlerId;
2705
2706 fn connect_button_press_event<F: Fn(&Self, &ButtonEvent) -> bool + 'static>(
2716 &self,
2717 f: F,
2718 ) -> SignalHandlerId;
2719
2720 fn connect_button_release_event<F: Fn(&Self, &ButtonEvent) -> bool + 'static>(
2730 &self,
2731 f: F,
2732 ) -> SignalHandlerId;
2733
2734 fn connect_captured_event<F: Fn(&Self, &Event) -> bool + 'static>(
2749 &self,
2750 f: F,
2751 ) -> SignalHandlerId;
2752
2753 fn connect_destroy<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2768
2769 fn connect_enter_event<F: Fn(&Self, &CrossingEvent) -> bool + 'static>(
2778 &self,
2779 f: F,
2780 ) -> SignalHandlerId;
2781
2782 fn connect_event<F: Fn(&Self, &Event) -> bool + 'static>(&self, f: F) -> SignalHandlerId;
2794
2795 fn connect_hide<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2798
2799 fn connect_key_focus_in<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2801
2802 fn connect_key_focus_out<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2804
2805 fn connect_key_press_event<F: Fn(&Self, &KeyEvent) -> bool + 'static>(
2815 &self,
2816 f: F,
2817 ) -> SignalHandlerId;
2818
2819 fn connect_key_release_event<F: Fn(&Self, &KeyEvent) -> bool + 'static>(
2830 &self,
2831 f: F,
2832 ) -> SignalHandlerId;
2833
2834 fn connect_leave_event<F: Fn(&Self, &CrossingEvent) -> bool + 'static>(
2843 &self,
2844 f: F,
2845 ) -> SignalHandlerId;
2846
2847 fn connect_motion_event<F: Fn(&Self, &MotionEvent) -> bool + 'static>(
2857 &self,
2858 f: F,
2859 ) -> SignalHandlerId;
2860
2861 fn connect_parent_set<F: Fn(&Self, Option<&Actor>) + 'static>(&self, f: F) -> SignalHandlerId;
2865
2866 fn connect_queue_redraw<F: Fn(&Self, &Actor) + 'static>(&self, f: F) -> SignalHandlerId;
2913
2914 fn connect_queue_relayout<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2925
2926 fn connect_scroll_event<F: Fn(&Self, &ScrollEvent) -> bool + 'static>(
2936 &self,
2937 f: F,
2938 ) -> SignalHandlerId;
2939
2940 fn connect_show<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2943
2944 fn connect_touch_event<F: Fn(&Self, &Event) -> bool + 'static>(&self, f: F) -> SignalHandlerId;
2954
2955 fn connect_transition_stopped<F: Fn(&Self, &str, bool) + 'static>(
2965 &self,
2966 f: F,
2967 ) -> SignalHandlerId;
2968
2969 fn connect_transitions_completed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2972
2973 fn connect_property_actions_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2974
2975 fn connect_property_allocation_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2976
2977 fn connect_property_background_color_notify<F: Fn(&Self) + 'static>(
2978 &self,
2979 f: F,
2980 ) -> SignalHandlerId;
2981
2982 fn connect_property_background_color_set_notify<F: Fn(&Self) + 'static>(
2983 &self,
2984 f: F,
2985 ) -> SignalHandlerId;
2986
2987 fn connect_property_child_transform_notify<F: Fn(&Self) + 'static>(
2988 &self,
2989 f: F,
2990 ) -> SignalHandlerId;
2991
2992 fn connect_property_child_transform_set_notify<F: Fn(&Self) + 'static>(
2993 &self,
2994 f: F,
2995 ) -> SignalHandlerId;
2996
2997 fn connect_property_clip_rect_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
2998
2999 fn connect_property_clip_to_allocation_notify<F: Fn(&Self) + 'static>(
3000 &self,
3001 f: F,
3002 ) -> SignalHandlerId;
3003
3004 fn connect_property_constraints_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3005
3006 fn connect_property_content_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3007
3008 fn connect_property_content_box_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3009
3010 fn connect_property_content_gravity_notify<F: Fn(&Self) + 'static>(
3011 &self,
3012 f: F,
3013 ) -> SignalHandlerId;
3014
3015 fn connect_property_content_repeat_notify<F: Fn(&Self) + 'static>(
3016 &self,
3017 f: F,
3018 ) -> SignalHandlerId;
3019
3020 fn connect_property_effect_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3021
3022 fn connect_property_first_child_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3023
3024 fn connect_property_fixed_position_set_notify<F: Fn(&Self) + 'static>(
3025 &self,
3026 f: F,
3027 ) -> SignalHandlerId;
3028
3029 fn connect_property_fixed_x_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3030
3031 fn connect_property_fixed_y_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3032
3033 fn connect_property_has_clip_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3034
3035 fn connect_property_has_pointer_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3036
3037 fn connect_property_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3038
3039 fn connect_property_last_child_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3040
3041 fn connect_property_layout_manager_notify<F: Fn(&Self) + 'static>(
3042 &self,
3043 f: F,
3044 ) -> SignalHandlerId;
3045
3046 fn connect_property_magnification_filter_notify<F: Fn(&Self) + 'static>(
3047 &self,
3048 f: F,
3049 ) -> SignalHandlerId;
3050
3051 fn connect_property_mapped_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3052
3053 fn connect_property_margin_bottom_notify<F: Fn(&Self) + 'static>(
3054 &self,
3055 f: F,
3056 ) -> SignalHandlerId;
3057
3058 fn connect_property_margin_left_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3059
3060 fn connect_property_margin_right_notify<F: Fn(&Self) + 'static>(&self, f: F)
3061 -> SignalHandlerId;
3062
3063 fn connect_property_margin_top_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3064
3065 fn connect_property_min_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3066
3067 fn connect_property_min_height_set_notify<F: Fn(&Self) + 'static>(
3068 &self,
3069 f: F,
3070 ) -> SignalHandlerId;
3071
3072 fn connect_property_min_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3073
3074 fn connect_property_min_width_set_notify<F: Fn(&Self) + 'static>(
3075 &self,
3076 f: F,
3077 ) -> SignalHandlerId;
3078
3079 fn connect_property_minification_filter_notify<F: Fn(&Self) + 'static>(
3080 &self,
3081 f: F,
3082 ) -> SignalHandlerId;
3083
3084 fn connect_property_name_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3085
3086 fn connect_property_natural_height_notify<F: Fn(&Self) + 'static>(
3087 &self,
3088 f: F,
3089 ) -> SignalHandlerId;
3090
3091 fn connect_property_natural_height_set_notify<F: Fn(&Self) + 'static>(
3092 &self,
3093 f: F,
3094 ) -> SignalHandlerId;
3095
3096 fn connect_property_natural_width_notify<F: Fn(&Self) + 'static>(
3097 &self,
3098 f: F,
3099 ) -> SignalHandlerId;
3100
3101 fn connect_property_natural_width_set_notify<F: Fn(&Self) + 'static>(
3102 &self,
3103 f: F,
3104 ) -> SignalHandlerId;
3105
3106 fn connect_property_offscreen_redirect_notify<F: Fn(&Self) + 'static>(
3107 &self,
3108 f: F,
3109 ) -> SignalHandlerId;
3110
3111 fn connect_property_opacity_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3112
3113 fn connect_property_pivot_point_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3114
3115 fn connect_property_pivot_point_z_notify<F: Fn(&Self) + 'static>(
3116 &self,
3117 f: F,
3118 ) -> SignalHandlerId;
3119
3120 fn connect_property_position_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3121
3122 fn connect_property_reactive_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3123
3124 fn connect_property_realized_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3125
3126 fn connect_property_request_mode_notify<F: Fn(&Self) + 'static>(&self, f: F)
3127 -> SignalHandlerId;
3128
3129 fn connect_property_rotation_angle_x_notify<F: Fn(&Self) + 'static>(
3130 &self,
3131 f: F,
3132 ) -> SignalHandlerId;
3133
3134 fn connect_property_rotation_angle_y_notify<F: Fn(&Self) + 'static>(
3135 &self,
3136 f: F,
3137 ) -> SignalHandlerId;
3138
3139 fn connect_property_rotation_angle_z_notify<F: Fn(&Self) + 'static>(
3140 &self,
3141 f: F,
3142 ) -> SignalHandlerId;
3143
3144 fn connect_property_scale_x_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3145
3146 fn connect_property_scale_y_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3147
3148 fn connect_property_scale_z_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3149
3150 fn connect_property_show_on_set_parent_notify<F: Fn(&Self) + 'static>(
3151 &self,
3152 f: F,
3153 ) -> SignalHandlerId;
3154
3155 fn connect_property_size_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3156
3157 fn connect_property_text_direction_notify<F: Fn(&Self) + 'static>(
3158 &self,
3159 f: F,
3160 ) -> SignalHandlerId;
3161
3162 fn connect_property_transform_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3163
3164 fn connect_property_transform_set_notify<F: Fn(&Self) + 'static>(
3165 &self,
3166 f: F,
3167 ) -> SignalHandlerId;
3168
3169 fn connect_property_translation_x_notify<F: Fn(&Self) + 'static>(
3170 &self,
3171 f: F,
3172 ) -> SignalHandlerId;
3173
3174 fn connect_property_translation_y_notify<F: Fn(&Self) + 'static>(
3175 &self,
3176 f: F,
3177 ) -> SignalHandlerId;
3178
3179 fn connect_property_translation_z_notify<F: Fn(&Self) + 'static>(
3180 &self,
3181 f: F,
3182 ) -> SignalHandlerId;
3183
3184 fn connect_property_visible_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3185
3186 fn connect_property_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3187
3188 fn connect_property_x_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3189
3190 fn connect_property_x_align_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3191
3192 fn connect_property_x_expand_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3193
3194 fn connect_property_y_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3195
3196 fn connect_property_y_align_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3197
3198 fn connect_property_y_expand_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3199
3200 fn connect_property_z_position_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
3201}
3202
3203impl<O: IsA<Actor>> ActorExt for O {
3204 fn add_action<P: IsA<Action>>(&self, action: &P) {
3205 unsafe {
3206 ffi::clutter_actor_add_action(
3207 self.as_ref().to_glib_none().0,
3208 action.as_ref().to_glib_none().0,
3209 );
3210 }
3211 }
3212
3213 fn add_action_with_name<P: IsA<Action>>(&self, name: &str, action: &P) {
3214 unsafe {
3215 ffi::clutter_actor_add_action_with_name(
3216 self.as_ref().to_glib_none().0,
3217 name.to_glib_none().0,
3218 action.as_ref().to_glib_none().0,
3219 );
3220 }
3221 }
3222
3223 fn add_child<P: IsA<Actor>>(&self, child: &P) {
3224 unsafe {
3225 ffi::clutter_actor_add_child(
3226 self.as_ref().to_glib_none().0,
3227 child.as_ref().to_glib_none().0,
3228 );
3229 }
3230 }
3231
3232 fn add_constraint<P: IsA<Constraint>>(&self, constraint: &P) {
3233 unsafe {
3234 ffi::clutter_actor_add_constraint(
3235 self.as_ref().to_glib_none().0,
3236 constraint.as_ref().to_glib_none().0,
3237 );
3238 }
3239 }
3240
3241 fn add_constraint_with_name<P: IsA<Constraint>>(&self, name: &str, constraint: &P) {
3242 unsafe {
3243 ffi::clutter_actor_add_constraint_with_name(
3244 self.as_ref().to_glib_none().0,
3245 name.to_glib_none().0,
3246 constraint.as_ref().to_glib_none().0,
3247 );
3248 }
3249 }
3250
3251 fn add_effect<P: IsA<Effect>>(&self, effect: &P) {
3252 unsafe {
3253 ffi::clutter_actor_add_effect(
3254 self.as_ref().to_glib_none().0,
3255 effect.as_ref().to_glib_none().0,
3256 );
3257 }
3258 }
3259
3260 fn add_effect_with_name<P: IsA<Effect>>(&self, name: &str, effect: &P) {
3261 unsafe {
3262 ffi::clutter_actor_add_effect_with_name(
3263 self.as_ref().to_glib_none().0,
3264 name.to_glib_none().0,
3265 effect.as_ref().to_glib_none().0,
3266 );
3267 }
3268 }
3269
3270 fn add_transition<P: IsA<Transition>>(&self, name: &str, transition: &P) {
3271 unsafe {
3272 ffi::clutter_actor_add_transition(
3273 self.as_ref().to_glib_none().0,
3274 name.to_glib_none().0,
3275 transition.as_ref().to_glib_none().0,
3276 );
3277 }
3278 }
3279
3280 fn allocate(&self, box_: &ActorBox, flags: AllocationFlags) {
3281 unsafe {
3282 ffi::clutter_actor_allocate(
3283 self.as_ref().to_glib_none().0,
3284 box_.to_glib_none().0,
3285 flags.to_glib(),
3286 );
3287 }
3288 }
3289
3290 fn allocate_align_fill(
3291 &self,
3292 box_: &ActorBox,
3293 x_align: f64,
3294 y_align: f64,
3295 x_fill: bool,
3296 y_fill: bool,
3297 flags: AllocationFlags,
3298 ) {
3299 unsafe {
3300 ffi::clutter_actor_allocate_align_fill(
3301 self.as_ref().to_glib_none().0,
3302 box_.to_glib_none().0,
3303 x_align,
3304 y_align,
3305 x_fill.to_glib(),
3306 y_fill.to_glib(),
3307 flags.to_glib(),
3308 );
3309 }
3310 }
3311
3312 fn allocate_available_size(
3313 &self,
3314 x: f32,
3315 y: f32,
3316 available_width: f32,
3317 available_height: f32,
3318 flags: AllocationFlags,
3319 ) {
3320 unsafe {
3321 ffi::clutter_actor_allocate_available_size(
3322 self.as_ref().to_glib_none().0,
3323 x,
3324 y,
3325 available_width,
3326 available_height,
3327 flags.to_glib(),
3328 );
3329 }
3330 }
3331
3332 fn allocate_preferred_size(&self, flags: AllocationFlags) {
3333 unsafe {
3334 ffi::clutter_actor_allocate_preferred_size(
3335 self.as_ref().to_glib_none().0,
3336 flags.to_glib(),
3337 );
3338 }
3339 }
3340
3341 fn apply_relative_transform_to_point<P: IsA<Actor>>(
3342 &self,
3343 ancestor: Option<&P>,
3344 point: &Vertex,
3345 ) -> Vertex {
3346 unsafe {
3347 let mut vertex = Vertex::uninitialized();
3348 ffi::clutter_actor_apply_relative_transform_to_point(
3349 self.as_ref().to_glib_none().0,
3350 ancestor.map(|p| p.as_ref()).to_glib_none().0,
3351 point.to_glib_none().0,
3352 vertex.to_glib_none_mut().0,
3353 );
3354 vertex
3355 }
3356 }
3357
3358 fn apply_transform_to_point(&self, point: &Vertex) -> Vertex {
3359 unsafe {
3360 let mut vertex = Vertex::uninitialized();
3361 ffi::clutter_actor_apply_transform_to_point(
3362 self.as_ref().to_glib_none().0,
3363 point.to_glib_none().0,
3364 vertex.to_glib_none_mut().0,
3365 );
3366 vertex
3367 }
3368 }
3369
3370 fn bind_model<P: IsA<gio::ListModel>, Q: Fn(&glib::Object) -> Actor + 'static>(
3371 &self,
3372 model: Option<&P>,
3373 create_child_func: Q,
3374 ) {
3375 let create_child_func_data: Box_<Q> = Box_::new(create_child_func);
3376 unsafe extern "C" fn create_child_func_func<
3377 P: IsA<gio::ListModel>,
3378 Q: Fn(&glib::Object) -> Actor + 'static,
3379 >(
3380 item: *mut gobject_sys::GObject,
3381 user_data: glib_sys::gpointer,
3382 ) -> *mut ffi::ClutterActor {
3383 let item = from_glib_borrow(item);
3384 let callback: &Q = &*(user_data as *mut _);
3385 let res = (*callback)(&item);
3386 res.to_glib_full()
3387 }
3388 let create_child_func = Some(create_child_func_func::<P, Q> as _);
3389 unsafe extern "C" fn notify_func<
3390 P: IsA<gio::ListModel>,
3391 Q: Fn(&glib::Object) -> Actor + 'static,
3392 >(
3393 data: glib_sys::gpointer,
3394 ) {
3395 let _callback: Box_<Q> = Box_::from_raw(data as *mut _);
3396 }
3397 let destroy_call4 = Some(notify_func::<P, Q> as _);
3398 let super_callback0: Box_<Q> = create_child_func_data;
3399 unsafe {
3400 ffi::clutter_actor_bind_model(
3401 self.as_ref().to_glib_none().0,
3402 model.map(|p| p.as_ref()).to_glib_none().0,
3403 create_child_func,
3404 Box_::into_raw(super_callback0) as *mut _,
3405 destroy_call4,
3406 );
3407 }
3408 }
3409
3410 fn clear_actions(&self) {
3415 unsafe {
3416 ffi::clutter_actor_clear_actions(self.as_ref().to_glib_none().0);
3417 }
3418 }
3419
3420 fn clear_constraints(&self) {
3421 unsafe {
3422 ffi::clutter_actor_clear_constraints(self.as_ref().to_glib_none().0);
3423 }
3424 }
3425
3426 fn clear_effects(&self) {
3427 unsafe {
3428 ffi::clutter_actor_clear_effects(self.as_ref().to_glib_none().0);
3429 }
3430 }
3431
3432 fn contains<P: IsA<Actor>>(&self, descendant: &P) -> bool {
3433 unsafe {
3434 from_glib(ffi::clutter_actor_contains(
3435 self.as_ref().to_glib_none().0,
3436 descendant.as_ref().to_glib_none().0,
3437 ))
3438 }
3439 }
3440
3441 fn continue_paint(&self) {
3442 unsafe {
3443 ffi::clutter_actor_continue_paint(self.as_ref().to_glib_none().0);
3444 }
3445 }
3446
3447 fn create_pango_context(&self) -> Option<pango::Context> {
3448 unsafe {
3449 from_glib_full(ffi::clutter_actor_create_pango_context(
3450 self.as_ref().to_glib_none().0,
3451 ))
3452 }
3453 }
3454
3455 fn create_pango_layout(&self, text: Option<&str>) -> Option<pango::Layout> {
3456 unsafe {
3457 from_glib_full(ffi::clutter_actor_create_pango_layout(
3458 self.as_ref().to_glib_none().0,
3459 text.to_glib_none().0,
3460 ))
3461 }
3462 }
3463
3464 fn destroy(&self) {
3465 unsafe {
3466 ffi::clutter_actor_destroy(self.as_ref().to_glib_none().0);
3467 }
3468 }
3469
3470 fn destroy_all_children(&self) {
3471 unsafe {
3472 ffi::clutter_actor_destroy_all_children(self.as_ref().to_glib_none().0);
3473 }
3474 }
3475
3476 fn event(&self, event: &Event, capture: bool) -> bool {
3477 unsafe {
3478 from_glib(ffi::clutter_actor_event(
3479 self.as_ref().to_glib_none().0,
3480 event.to_glib_none().0,
3481 capture.to_glib(),
3482 ))
3483 }
3484 }
3485
3486 fn get_accessible(&self) -> Option<atk::Object> {
3491 unsafe {
3492 from_glib_none(ffi::clutter_actor_get_accessible(
3493 self.as_ref().to_glib_none().0,
3494 ))
3495 }
3496 }
3497
3498 fn get_action(&self, name: &str) -> Option<Action> {
3499 unsafe {
3500 from_glib_none(ffi::clutter_actor_get_action(
3501 self.as_ref().to_glib_none().0,
3502 name.to_glib_none().0,
3503 ))
3504 }
3505 }
3506
3507 fn get_actions(&self) -> Vec<Action> {
3508 unsafe {
3509 FromGlibPtrContainer::from_glib_container(ffi::clutter_actor_get_actions(
3510 self.as_ref().to_glib_none().0,
3511 ))
3512 }
3513 }
3514
3515 fn get_allocation_box(&self) -> ActorBox {
3516 unsafe {
3517 let mut box_ = ActorBox::uninitialized();
3518 ffi::clutter_actor_get_allocation_box(
3519 self.as_ref().to_glib_none().0,
3520 box_.to_glib_none_mut().0,
3521 );
3522 box_
3523 }
3524 }
3525
3526 fn get_background_color(&self) -> Color {
3531 unsafe {
3532 let mut color = Color::uninitialized();
3533 ffi::clutter_actor_get_background_color(
3534 self.as_ref().to_glib_none().0,
3535 color.to_glib_none_mut().0,
3536 );
3537 color
3538 }
3539 }
3540
3541 fn get_child_at_index(&self, index_: i32) -> Option<Actor> {
3542 unsafe {
3543 from_glib_none(ffi::clutter_actor_get_child_at_index(
3544 self.as_ref().to_glib_none().0,
3545 index_,
3546 ))
3547 }
3548 }
3549
3550 fn get_child_transform(&self) -> Matrix {
3551 unsafe {
3552 let mut transform = Matrix::uninitialized();
3553 ffi::clutter_actor_get_child_transform(
3554 self.as_ref().to_glib_none().0,
3555 transform.to_glib_none_mut().0,
3556 );
3557 transform
3558 }
3559 }
3560
3561 fn get_children(&self) -> Vec<Actor> {
3562 unsafe {
3563 FromGlibPtrContainer::from_glib_container(ffi::clutter_actor_get_children(
3564 self.as_ref().to_glib_none().0,
3565 ))
3566 }
3567 }
3568
3569 fn get_clip(&self) -> (f32, f32, f32, f32) {
3570 unsafe {
3571 let mut xoff = mem::MaybeUninit::uninit();
3572 let mut yoff = mem::MaybeUninit::uninit();
3573 let mut width = mem::MaybeUninit::uninit();
3574 let mut height = mem::MaybeUninit::uninit();
3575 ffi::clutter_actor_get_clip(
3576 self.as_ref().to_glib_none().0,
3577 xoff.as_mut_ptr(),
3578 yoff.as_mut_ptr(),
3579 width.as_mut_ptr(),
3580 height.as_mut_ptr(),
3581 );
3582 let xoff = xoff.assume_init();
3583 let yoff = yoff.assume_init();
3584 let width = width.assume_init();
3585 let height = height.assume_init();
3586 (xoff, yoff, width, height)
3587 }
3588 }
3589
3590 fn get_clip_to_allocation(&self) -> bool {
3591 unsafe {
3592 from_glib(ffi::clutter_actor_get_clip_to_allocation(
3593 self.as_ref().to_glib_none().0,
3594 ))
3595 }
3596 }
3597
3598 fn get_constraint(&self, name: &str) -> Option<Constraint> {
3599 unsafe {
3600 from_glib_none(ffi::clutter_actor_get_constraint(
3601 self.as_ref().to_glib_none().0,
3602 name.to_glib_none().0,
3603 ))
3604 }
3605 }
3606
3607 fn get_constraints(&self) -> Vec<Constraint> {
3608 unsafe {
3609 FromGlibPtrContainer::from_glib_container(ffi::clutter_actor_get_constraints(
3610 self.as_ref().to_glib_none().0,
3611 ))
3612 }
3613 }
3614
3615 fn get_content(&self) -> Option<Content> {
3616 unsafe {
3617 from_glib_none(ffi::clutter_actor_get_content(
3618 self.as_ref().to_glib_none().0,
3619 ))
3620 }
3621 }
3622
3623 fn get_content_box(&self) -> ActorBox {
3624 unsafe {
3625 let mut box_ = ActorBox::uninitialized();
3626 ffi::clutter_actor_get_content_box(
3627 self.as_ref().to_glib_none().0,
3628 box_.to_glib_none_mut().0,
3629 );
3630 box_
3631 }
3632 }
3633
3634 fn get_content_gravity(&self) -> ContentGravity {
3635 unsafe {
3636 from_glib(ffi::clutter_actor_get_content_gravity(
3637 self.as_ref().to_glib_none().0,
3638 ))
3639 }
3640 }
3641
3642 fn get_content_repeat(&self) -> ContentRepeat {
3643 unsafe {
3644 from_glib(ffi::clutter_actor_get_content_repeat(
3645 self.as_ref().to_glib_none().0,
3646 ))
3647 }
3648 }
3649
3650 fn get_content_scaling_filters(&self) -> (ScalingFilter, ScalingFilter) {
3651 unsafe {
3652 let mut min_filter = mem::MaybeUninit::uninit();
3653 let mut mag_filter = mem::MaybeUninit::uninit();
3654 ffi::clutter_actor_get_content_scaling_filters(
3655 self.as_ref().to_glib_none().0,
3656 min_filter.as_mut_ptr(),
3657 mag_filter.as_mut_ptr(),
3658 );
3659 let min_filter = min_filter.assume_init();
3660 let mag_filter = mag_filter.assume_init();
3661 (from_glib(min_filter), from_glib(mag_filter))
3662 }
3663 }
3664
3665 fn get_default_paint_volume(&self) -> Option<PaintVolume> {
3666 unsafe {
3667 from_glib_none(ffi::clutter_actor_get_default_paint_volume(
3668 self.as_ref().to_glib_none().0,
3669 ))
3670 }
3671 }
3672
3673 fn get_easing_delay(&self) -> u32 {
3674 unsafe { ffi::clutter_actor_get_easing_delay(self.as_ref().to_glib_none().0) }
3675 }
3676
3677 fn get_easing_duration(&self) -> u32 {
3678 unsafe { ffi::clutter_actor_get_easing_duration(self.as_ref().to_glib_none().0) }
3679 }
3680
3681 fn get_easing_mode(&self) -> AnimationMode {
3682 unsafe {
3683 from_glib(ffi::clutter_actor_get_easing_mode(
3684 self.as_ref().to_glib_none().0,
3685 ))
3686 }
3687 }
3688
3689 fn get_effect(&self, name: &str) -> Option<Effect> {
3690 unsafe {
3691 from_glib_none(ffi::clutter_actor_get_effect(
3692 self.as_ref().to_glib_none().0,
3693 name.to_glib_none().0,
3694 ))
3695 }
3696 }
3697
3698 fn get_effects(&self) -> Vec<Effect> {
3699 unsafe {
3700 FromGlibPtrContainer::from_glib_container(ffi::clutter_actor_get_effects(
3701 self.as_ref().to_glib_none().0,
3702 ))
3703 }
3704 }
3705
3706 fn get_first_child(&self) -> Option<Actor> {
3707 unsafe {
3708 from_glib_none(ffi::clutter_actor_get_first_child(
3709 self.as_ref().to_glib_none().0,
3710 ))
3711 }
3712 }
3713
3714 fn get_fixed_position_set(&self) -> bool {
3715 unsafe {
3716 from_glib(ffi::clutter_actor_get_fixed_position_set(
3717 self.as_ref().to_glib_none().0,
3718 ))
3719 }
3720 }
3721
3722 fn get_flags(&self) -> ActorFlags {
3723 unsafe { from_glib(ffi::clutter_actor_get_flags(self.as_ref().to_glib_none().0)) }
3724 }
3725
3726 fn get_height(&self) -> f32 {
3727 unsafe { ffi::clutter_actor_get_height(self.as_ref().to_glib_none().0) }
3728 }
3729
3730 fn get_last_child(&self) -> Option<Actor> {
3731 unsafe {
3732 from_glib_none(ffi::clutter_actor_get_last_child(
3733 self.as_ref().to_glib_none().0,
3734 ))
3735 }
3736 }
3737
3738 fn get_layout_manager(&self) -> Option<LayoutManager> {
3739 unsafe {
3740 from_glib_none(ffi::clutter_actor_get_layout_manager(
3741 self.as_ref().to_glib_none().0,
3742 ))
3743 }
3744 }
3745
3746 fn get_margin(&self) -> Margin {
3747 unsafe {
3748 let mut margin = Margin::uninitialized();
3749 ffi::clutter_actor_get_margin(
3750 self.as_ref().to_glib_none().0,
3751 margin.to_glib_none_mut().0,
3752 );
3753 margin
3754 }
3755 }
3756
3757 fn get_margin_bottom(&self) -> f32 {
3758 unsafe { ffi::clutter_actor_get_margin_bottom(self.as_ref().to_glib_none().0) }
3759 }
3760
3761 fn get_margin_left(&self) -> f32 {
3762 unsafe { ffi::clutter_actor_get_margin_left(self.as_ref().to_glib_none().0) }
3763 }
3764
3765 fn get_margin_right(&self) -> f32 {
3766 unsafe { ffi::clutter_actor_get_margin_right(self.as_ref().to_glib_none().0) }
3767 }
3768
3769 fn get_margin_top(&self) -> f32 {
3770 unsafe { ffi::clutter_actor_get_margin_top(self.as_ref().to_glib_none().0) }
3771 }
3772
3773 fn get_n_children(&self) -> i32 {
3774 unsafe { ffi::clutter_actor_get_n_children(self.as_ref().to_glib_none().0) }
3775 }
3776
3777 fn get_name(&self) -> Option<GString> {
3778 unsafe { from_glib_none(ffi::clutter_actor_get_name(self.as_ref().to_glib_none().0)) }
3779 }
3780
3781 fn get_next_sibling(&self) -> Option<Actor> {
3782 unsafe {
3783 from_glib_none(ffi::clutter_actor_get_next_sibling(
3784 self.as_ref().to_glib_none().0,
3785 ))
3786 }
3787 }
3788
3789 fn get_offscreen_redirect(&self) -> OffscreenRedirect {
3790 unsafe {
3791 from_glib(ffi::clutter_actor_get_offscreen_redirect(
3792 self.as_ref().to_glib_none().0,
3793 ))
3794 }
3795 }
3796
3797 fn get_opacity(&self) -> u8 {
3798 unsafe { ffi::clutter_actor_get_opacity(self.as_ref().to_glib_none().0) }
3799 }
3800
3801 fn get_paint_box(&self) -> Option<ActorBox> {
3802 unsafe {
3803 let mut box_ = ActorBox::uninitialized();
3804 let ret = from_glib(ffi::clutter_actor_get_paint_box(
3805 self.as_ref().to_glib_none().0,
3806 box_.to_glib_none_mut().0,
3807 ));
3808 if ret {
3809 Some(box_)
3810 } else {
3811 None
3812 }
3813 }
3814 }
3815
3816 fn get_paint_opacity(&self) -> u8 {
3817 unsafe { ffi::clutter_actor_get_paint_opacity(self.as_ref().to_glib_none().0) }
3818 }
3819
3820 fn get_paint_visibility(&self) -> bool {
3821 unsafe {
3822 from_glib(ffi::clutter_actor_get_paint_visibility(
3823 self.as_ref().to_glib_none().0,
3824 ))
3825 }
3826 }
3827
3828 fn get_paint_volume(&self) -> Option<PaintVolume> {
3829 unsafe {
3830 from_glib_none(ffi::clutter_actor_get_paint_volume(
3831 self.as_ref().to_glib_none().0,
3832 ))
3833 }
3834 }
3835
3836 fn get_pango_context(&self) -> Option<pango::Context> {
3837 unsafe {
3838 from_glib_none(ffi::clutter_actor_get_pango_context(
3839 self.as_ref().to_glib_none().0,
3840 ))
3841 }
3842 }
3843
3844 fn get_parent(&self) -> Option<Actor> {
3845 unsafe {
3846 from_glib_none(ffi::clutter_actor_get_parent(
3847 self.as_ref().to_glib_none().0,
3848 ))
3849 }
3850 }
3851
3852 fn get_pivot_point(&self) -> (f32, f32) {
3853 unsafe {
3854 let mut pivot_x = mem::MaybeUninit::uninit();
3855 let mut pivot_y = mem::MaybeUninit::uninit();
3856 ffi::clutter_actor_get_pivot_point(
3857 self.as_ref().to_glib_none().0,
3858 pivot_x.as_mut_ptr(),
3859 pivot_y.as_mut_ptr(),
3860 );
3861 let pivot_x = pivot_x.assume_init();
3862 let pivot_y = pivot_y.assume_init();
3863 (pivot_x, pivot_y)
3864 }
3865 }
3866
3867 fn get_pivot_point_z(&self) -> f32 {
3868 unsafe { ffi::clutter_actor_get_pivot_point_z(self.as_ref().to_glib_none().0) }
3869 }
3870
3871 fn get_position(&self) -> (f32, f32) {
3872 unsafe {
3873 let mut x = mem::MaybeUninit::uninit();
3874 let mut y = mem::MaybeUninit::uninit();
3875 ffi::clutter_actor_get_position(
3876 self.as_ref().to_glib_none().0,
3877 x.as_mut_ptr(),
3878 y.as_mut_ptr(),
3879 );
3880 let x = x.assume_init();
3881 let y = y.assume_init();
3882 (x, y)
3883 }
3884 }
3885
3886 fn get_preferred_height(&self, for_width: f32) -> (f32, f32) {
3887 unsafe {
3888 let mut min_height_p = mem::MaybeUninit::uninit();
3889 let mut natural_height_p = mem::MaybeUninit::uninit();
3890 ffi::clutter_actor_get_preferred_height(
3891 self.as_ref().to_glib_none().0,
3892 for_width,
3893 min_height_p.as_mut_ptr(),
3894 natural_height_p.as_mut_ptr(),
3895 );
3896 let min_height_p = min_height_p.assume_init();
3897 let natural_height_p = natural_height_p.assume_init();
3898 (min_height_p, natural_height_p)
3899 }
3900 }
3901
3902 fn get_preferred_size(&self) -> (f32, f32, f32, f32) {
3903 unsafe {
3904 let mut min_width_p = mem::MaybeUninit::uninit();
3905 let mut min_height_p = mem::MaybeUninit::uninit();
3906 let mut natural_width_p = mem::MaybeUninit::uninit();
3907 let mut natural_height_p = mem::MaybeUninit::uninit();
3908 ffi::clutter_actor_get_preferred_size(
3909 self.as_ref().to_glib_none().0,
3910 min_width_p.as_mut_ptr(),
3911 min_height_p.as_mut_ptr(),
3912 natural_width_p.as_mut_ptr(),
3913 natural_height_p.as_mut_ptr(),
3914 );
3915 let min_width_p = min_width_p.assume_init();
3916 let min_height_p = min_height_p.assume_init();
3917 let natural_width_p = natural_width_p.assume_init();
3918 let natural_height_p = natural_height_p.assume_init();
3919 (min_width_p, min_height_p, natural_width_p, natural_height_p)
3920 }
3921 }
3922
3923 fn get_preferred_width(&self, for_height: f32) -> (f32, f32) {
3924 unsafe {
3925 let mut min_width_p = mem::MaybeUninit::uninit();
3926 let mut natural_width_p = mem::MaybeUninit::uninit();
3927 ffi::clutter_actor_get_preferred_width(
3928 self.as_ref().to_glib_none().0,
3929 for_height,
3930 min_width_p.as_mut_ptr(),
3931 natural_width_p.as_mut_ptr(),
3932 );
3933 let min_width_p = min_width_p.assume_init();
3934 let natural_width_p = natural_width_p.assume_init();
3935 (min_width_p, natural_width_p)
3936 }
3937 }
3938
3939 fn get_previous_sibling(&self) -> Option<Actor> {
3940 unsafe {
3941 from_glib_none(ffi::clutter_actor_get_previous_sibling(
3942 self.as_ref().to_glib_none().0,
3943 ))
3944 }
3945 }
3946
3947 fn get_reactive(&self) -> bool {
3948 unsafe {
3949 from_glib(ffi::clutter_actor_get_reactive(
3950 self.as_ref().to_glib_none().0,
3951 ))
3952 }
3953 }
3954
3955 fn get_request_mode(&self) -> RequestMode {
3956 unsafe {
3957 from_glib(ffi::clutter_actor_get_request_mode(
3958 self.as_ref().to_glib_none().0,
3959 ))
3960 }
3961 }
3962
3963 fn get_rotation_angle(&self, axis: RotateAxis) -> f64 {
3964 unsafe {
3965 ffi::clutter_actor_get_rotation_angle(self.as_ref().to_glib_none().0, axis.to_glib())
3966 }
3967 }
3968
3969 fn get_scale(&self) -> (f64, f64) {
3970 unsafe {
3971 let mut scale_x = mem::MaybeUninit::uninit();
3972 let mut scale_y = mem::MaybeUninit::uninit();
3973 ffi::clutter_actor_get_scale(
3974 self.as_ref().to_glib_none().0,
3975 scale_x.as_mut_ptr(),
3976 scale_y.as_mut_ptr(),
3977 );
3978 let scale_x = scale_x.assume_init();
3979 let scale_y = scale_y.assume_init();
3980 (scale_x, scale_y)
3981 }
3982 }
3983
3984 fn get_scale_z(&self) -> f64 {
3985 unsafe { ffi::clutter_actor_get_scale_z(self.as_ref().to_glib_none().0) }
3986 }
3987
3988 fn get_size(&self) -> (f32, f32) {
3989 unsafe {
3990 let mut width = mem::MaybeUninit::uninit();
3991 let mut height = mem::MaybeUninit::uninit();
3992 ffi::clutter_actor_get_size(
3993 self.as_ref().to_glib_none().0,
3994 width.as_mut_ptr(),
3995 height.as_mut_ptr(),
3996 );
3997 let width = width.assume_init();
3998 let height = height.assume_init();
3999 (width, height)
4000 }
4001 }
4002
4003 fn get_stage(&self) -> Option<Stage> {
4004 unsafe { from_glib_none(ffi::clutter_actor_get_stage(self.as_ref().to_glib_none().0)) }
4005 }
4006
4007 fn get_text_direction(&self) -> TextDirection {
4008 unsafe {
4009 from_glib(ffi::clutter_actor_get_text_direction(
4010 self.as_ref().to_glib_none().0,
4011 ))
4012 }
4013 }
4014
4015 fn get_transform(&self) -> Matrix {
4016 unsafe {
4017 let mut transform = Matrix::uninitialized();
4018 ffi::clutter_actor_get_transform(
4019 self.as_ref().to_glib_none().0,
4020 transform.to_glib_none_mut().0,
4021 );
4022 transform
4023 }
4024 }
4025
4026 fn get_transformed_paint_volume<P: IsA<Actor>>(
4027 &self,
4028 relative_to_ancestor: &P,
4029 ) -> Option<PaintVolume> {
4030 unsafe {
4031 from_glib_none(ffi::clutter_actor_get_transformed_paint_volume(
4032 self.as_ref().to_glib_none().0,
4033 relative_to_ancestor.as_ref().to_glib_none().0,
4034 ))
4035 }
4036 }
4037
4038 fn get_transformed_position(&self) -> (f32, f32) {
4039 unsafe {
4040 let mut x = mem::MaybeUninit::uninit();
4041 let mut y = mem::MaybeUninit::uninit();
4042 ffi::clutter_actor_get_transformed_position(
4043 self.as_ref().to_glib_none().0,
4044 x.as_mut_ptr(),
4045 y.as_mut_ptr(),
4046 );
4047 let x = x.assume_init();
4048 let y = y.assume_init();
4049 (x, y)
4050 }
4051 }
4052
4053 fn get_transformed_size(&self) -> (f32, f32) {
4054 unsafe {
4055 let mut width = mem::MaybeUninit::uninit();
4056 let mut height = mem::MaybeUninit::uninit();
4057 ffi::clutter_actor_get_transformed_size(
4058 self.as_ref().to_glib_none().0,
4059 width.as_mut_ptr(),
4060 height.as_mut_ptr(),
4061 );
4062 let width = width.assume_init();
4063 let height = height.assume_init();
4064 (width, height)
4065 }
4066 }
4067
4068 fn get_transition(&self, name: &str) -> Option<Transition> {
4069 unsafe {
4070 from_glib_none(ffi::clutter_actor_get_transition(
4071 self.as_ref().to_glib_none().0,
4072 name.to_glib_none().0,
4073 ))
4074 }
4075 }
4076
4077 fn get_translation(&self) -> (f32, f32, f32) {
4078 unsafe {
4079 let mut translate_x = mem::MaybeUninit::uninit();
4080 let mut translate_y = mem::MaybeUninit::uninit();
4081 let mut translate_z = mem::MaybeUninit::uninit();
4082 ffi::clutter_actor_get_translation(
4083 self.as_ref().to_glib_none().0,
4084 translate_x.as_mut_ptr(),
4085 translate_y.as_mut_ptr(),
4086 translate_z.as_mut_ptr(),
4087 );
4088 let translate_x = translate_x.assume_init();
4089 let translate_y = translate_y.assume_init();
4090 let translate_z = translate_z.assume_init();
4091 (translate_x, translate_y, translate_z)
4092 }
4093 }
4094
4095 fn get_width(&self) -> f32 {
4096 unsafe { ffi::clutter_actor_get_width(self.as_ref().to_glib_none().0) }
4097 }
4098
4099 fn get_x(&self) -> f32 {
4100 unsafe { ffi::clutter_actor_get_x(self.as_ref().to_glib_none().0) }
4101 }
4102
4103 fn get_x_align(&self) -> ActorAlign {
4104 unsafe {
4105 from_glib(ffi::clutter_actor_get_x_align(
4106 self.as_ref().to_glib_none().0,
4107 ))
4108 }
4109 }
4110
4111 fn get_x_expand(&self) -> bool {
4112 unsafe {
4113 from_glib(ffi::clutter_actor_get_x_expand(
4114 self.as_ref().to_glib_none().0,
4115 ))
4116 }
4117 }
4118
4119 fn get_y(&self) -> f32 {
4120 unsafe { ffi::clutter_actor_get_y(self.as_ref().to_glib_none().0) }
4121 }
4122
4123 fn get_y_align(&self) -> ActorAlign {
4124 unsafe {
4125 from_glib(ffi::clutter_actor_get_y_align(
4126 self.as_ref().to_glib_none().0,
4127 ))
4128 }
4129 }
4130
4131 fn get_y_expand(&self) -> bool {
4132 unsafe {
4133 from_glib(ffi::clutter_actor_get_y_expand(
4134 self.as_ref().to_glib_none().0,
4135 ))
4136 }
4137 }
4138
4139 fn get_z_position(&self) -> f32 {
4140 unsafe { ffi::clutter_actor_get_z_position(self.as_ref().to_glib_none().0) }
4141 }
4142
4143 fn grab_key_focus(&self) {
4144 unsafe {
4145 ffi::clutter_actor_grab_key_focus(self.as_ref().to_glib_none().0);
4146 }
4147 }
4148
4149 fn has_actions(&self) -> bool {
4150 unsafe {
4151 from_glib(ffi::clutter_actor_has_actions(
4152 self.as_ref().to_glib_none().0,
4153 ))
4154 }
4155 }
4156
4157 fn has_allocation(&self) -> bool {
4158 unsafe {
4159 from_glib(ffi::clutter_actor_has_allocation(
4160 self.as_ref().to_glib_none().0,
4161 ))
4162 }
4163 }
4164
4165 fn has_clip(&self) -> bool {
4166 unsafe { from_glib(ffi::clutter_actor_has_clip(self.as_ref().to_glib_none().0)) }
4167 }
4168
4169 fn has_constraints(&self) -> bool {
4170 unsafe {
4171 from_glib(ffi::clutter_actor_has_constraints(
4172 self.as_ref().to_glib_none().0,
4173 ))
4174 }
4175 }
4176
4177 fn has_effects(&self) -> bool {
4178 unsafe {
4179 from_glib(ffi::clutter_actor_has_effects(
4180 self.as_ref().to_glib_none().0,
4181 ))
4182 }
4183 }
4184
4185 fn has_key_focus(&self) -> bool {
4186 unsafe {
4187 from_glib(ffi::clutter_actor_has_key_focus(
4188 self.as_ref().to_glib_none().0,
4189 ))
4190 }
4191 }
4192
4193 fn has_overlaps(&self) -> bool {
4194 unsafe {
4195 from_glib(ffi::clutter_actor_has_overlaps(
4196 self.as_ref().to_glib_none().0,
4197 ))
4198 }
4199 }
4200
4201 fn has_pointer(&self) -> bool {
4202 unsafe {
4203 from_glib(ffi::clutter_actor_has_pointer(
4204 self.as_ref().to_glib_none().0,
4205 ))
4206 }
4207 }
4208
4209 fn hide(&self) {
4210 unsafe {
4211 ffi::clutter_actor_hide(self.as_ref().to_glib_none().0);
4212 }
4213 }
4214
4215 fn insert_child_above<P: IsA<Actor>, Q: IsA<Actor>>(&self, child: &P, sibling: Option<&Q>) {
4216 unsafe {
4217 ffi::clutter_actor_insert_child_above(
4218 self.as_ref().to_glib_none().0,
4219 child.as_ref().to_glib_none().0,
4220 sibling.map(|p| p.as_ref()).to_glib_none().0,
4221 );
4222 }
4223 }
4224
4225 fn insert_child_at_index<P: IsA<Actor>>(&self, child: &P, index_: i32) {
4226 unsafe {
4227 ffi::clutter_actor_insert_child_at_index(
4228 self.as_ref().to_glib_none().0,
4229 child.as_ref().to_glib_none().0,
4230 index_,
4231 );
4232 }
4233 }
4234
4235 fn insert_child_below<P: IsA<Actor>, Q: IsA<Actor>>(&self, child: &P, sibling: Option<&Q>) {
4236 unsafe {
4237 ffi::clutter_actor_insert_child_below(
4238 self.as_ref().to_glib_none().0,
4239 child.as_ref().to_glib_none().0,
4240 sibling.map(|p| p.as_ref()).to_glib_none().0,
4241 );
4242 }
4243 }
4244
4245 fn is_in_clone_paint(&self) -> bool {
4246 unsafe {
4247 from_glib(ffi::clutter_actor_is_in_clone_paint(
4248 self.as_ref().to_glib_none().0,
4249 ))
4250 }
4251 }
4252
4253 fn is_mapped(&self) -> bool {
4254 unsafe { from_glib(ffi::clutter_actor_is_mapped(self.as_ref().to_glib_none().0)) }
4255 }
4256
4257 fn is_realized(&self) -> bool {
4258 unsafe {
4259 from_glib(ffi::clutter_actor_is_realized(
4260 self.as_ref().to_glib_none().0,
4261 ))
4262 }
4263 }
4264
4265 fn is_rotated(&self) -> bool {
4266 unsafe {
4267 from_glib(ffi::clutter_actor_is_rotated(
4268 self.as_ref().to_glib_none().0,
4269 ))
4270 }
4271 }
4272
4273 fn is_scaled(&self) -> bool {
4274 unsafe { from_glib(ffi::clutter_actor_is_scaled(self.as_ref().to_glib_none().0)) }
4275 }
4276
4277 fn is_visible(&self) -> bool {
4278 unsafe {
4279 from_glib(ffi::clutter_actor_is_visible(
4280 self.as_ref().to_glib_none().0,
4281 ))
4282 }
4283 }
4284
4285 fn map(&self) {
4286 unsafe {
4287 ffi::clutter_actor_map(self.as_ref().to_glib_none().0);
4288 }
4289 }
4290
4291 fn move_by(&self, dx: f32, dy: f32) {
4292 unsafe {
4293 ffi::clutter_actor_move_by(self.as_ref().to_glib_none().0, dx, dy);
4294 }
4295 }
4296
4297 fn needs_expand(&self, orientation: Orientation) -> bool {
4298 unsafe {
4299 from_glib(ffi::clutter_actor_needs_expand(
4300 self.as_ref().to_glib_none().0,
4301 orientation.to_glib(),
4302 ))
4303 }
4304 }
4305
4306 fn paint(&self) {
4307 unsafe {
4308 ffi::clutter_actor_paint(self.as_ref().to_glib_none().0);
4309 }
4310 }
4311
4312 fn queue_redraw(&self) {
4313 unsafe {
4314 ffi::clutter_actor_queue_redraw(self.as_ref().to_glib_none().0);
4315 }
4316 }
4317
4318 fn queue_redraw_with_clip(&self, clip: Option<&cairo::RectangleInt>) {
4319 unsafe {
4320 ffi::clutter_actor_queue_redraw_with_clip(
4321 self.as_ref().to_glib_none().0,
4322 clip.to_glib_none().0,
4323 );
4324 }
4325 }
4326
4327 fn queue_relayout(&self) {
4328 unsafe {
4329 ffi::clutter_actor_queue_relayout(self.as_ref().to_glib_none().0);
4330 }
4331 }
4332
4333 fn remove_action<P: IsA<Action>>(&self, action: &P) {
4334 unsafe {
4335 ffi::clutter_actor_remove_action(
4336 self.as_ref().to_glib_none().0,
4337 action.as_ref().to_glib_none().0,
4338 );
4339 }
4340 }
4341
4342 fn remove_action_by_name(&self, name: &str) {
4343 unsafe {
4344 ffi::clutter_actor_remove_action_by_name(
4345 self.as_ref().to_glib_none().0,
4346 name.to_glib_none().0,
4347 );
4348 }
4349 }
4350
4351 fn remove_all_children(&self) {
4352 unsafe {
4353 ffi::clutter_actor_remove_all_children(self.as_ref().to_glib_none().0);
4354 }
4355 }
4356
4357 fn remove_all_transitions(&self) {
4358 unsafe {
4359 ffi::clutter_actor_remove_all_transitions(self.as_ref().to_glib_none().0);
4360 }
4361 }
4362
4363 fn remove_child<P: IsA<Actor>>(&self, child: &P) {
4364 unsafe {
4365 ffi::clutter_actor_remove_child(
4366 self.as_ref().to_glib_none().0,
4367 child.as_ref().to_glib_none().0,
4368 );
4369 }
4370 }
4371
4372 fn remove_clip(&self) {
4373 unsafe {
4374 ffi::clutter_actor_remove_clip(self.as_ref().to_glib_none().0);
4375 }
4376 }
4377
4378 fn remove_constraint<P: IsA<Constraint>>(&self, constraint: &P) {
4379 unsafe {
4380 ffi::clutter_actor_remove_constraint(
4381 self.as_ref().to_glib_none().0,
4382 constraint.as_ref().to_glib_none().0,
4383 );
4384 }
4385 }
4386
4387 fn remove_constraint_by_name(&self, name: &str) {
4388 unsafe {
4389 ffi::clutter_actor_remove_constraint_by_name(
4390 self.as_ref().to_glib_none().0,
4391 name.to_glib_none().0,
4392 );
4393 }
4394 }
4395
4396 fn remove_effect<P: IsA<Effect>>(&self, effect: &P) {
4397 unsafe {
4398 ffi::clutter_actor_remove_effect(
4399 self.as_ref().to_glib_none().0,
4400 effect.as_ref().to_glib_none().0,
4401 );
4402 }
4403 }
4404
4405 fn remove_effect_by_name(&self, name: &str) {
4406 unsafe {
4407 ffi::clutter_actor_remove_effect_by_name(
4408 self.as_ref().to_glib_none().0,
4409 name.to_glib_none().0,
4410 );
4411 }
4412 }
4413
4414 fn remove_transition(&self, name: &str) {
4415 unsafe {
4416 ffi::clutter_actor_remove_transition(
4417 self.as_ref().to_glib_none().0,
4418 name.to_glib_none().0,
4419 );
4420 }
4421 }
4422
4423 fn replace_child<P: IsA<Actor>, Q: IsA<Actor>>(&self, old_child: &P, new_child: &Q) {
4424 unsafe {
4425 ffi::clutter_actor_replace_child(
4426 self.as_ref().to_glib_none().0,
4427 old_child.as_ref().to_glib_none().0,
4428 new_child.as_ref().to_glib_none().0,
4429 );
4430 }
4431 }
4432
4433 fn restore_easing_state(&self) {
4434 unsafe {
4435 ffi::clutter_actor_restore_easing_state(self.as_ref().to_glib_none().0);
4436 }
4437 }
4438
4439 fn save_easing_state(&self) {
4440 unsafe {
4441 ffi::clutter_actor_save_easing_state(self.as_ref().to_glib_none().0);
4442 }
4443 }
4444
4445 fn set_allocation(&self, box_: &ActorBox, flags: AllocationFlags) {
4446 unsafe {
4447 ffi::clutter_actor_set_allocation(
4448 self.as_ref().to_glib_none().0,
4449 box_.to_glib_none().0,
4450 flags.to_glib(),
4451 );
4452 }
4453 }
4454
4455 fn set_background_color(&self, color: Option<&Color>) {
4456 unsafe {
4457 ffi::clutter_actor_set_background_color(
4458 self.as_ref().to_glib_none().0,
4459 color.to_glib_none().0,
4460 );
4461 }
4462 }
4463
4464 fn set_child_above_sibling<P: IsA<Actor>, Q: IsA<Actor>>(
4465 &self,
4466 child: &P,
4467 sibling: Option<&Q>,
4468 ) {
4469 unsafe {
4470 ffi::clutter_actor_set_child_above_sibling(
4471 self.as_ref().to_glib_none().0,
4472 child.as_ref().to_glib_none().0,
4473 sibling.map(|p| p.as_ref()).to_glib_none().0,
4474 );
4475 }
4476 }
4477
4478 fn set_child_at_index<P: IsA<Actor>>(&self, child: &P, index_: i32) {
4479 unsafe {
4480 ffi::clutter_actor_set_child_at_index(
4481 self.as_ref().to_glib_none().0,
4482 child.as_ref().to_glib_none().0,
4483 index_,
4484 );
4485 }
4486 }
4487
4488 fn set_child_below_sibling<P: IsA<Actor>, Q: IsA<Actor>>(
4489 &self,
4490 child: &P,
4491 sibling: Option<&Q>,
4492 ) {
4493 unsafe {
4494 ffi::clutter_actor_set_child_below_sibling(
4495 self.as_ref().to_glib_none().0,
4496 child.as_ref().to_glib_none().0,
4497 sibling.map(|p| p.as_ref()).to_glib_none().0,
4498 );
4499 }
4500 }
4501
4502 fn set_child_transform(&self, transform: Option<&Matrix>) {
4503 unsafe {
4504 ffi::clutter_actor_set_child_transform(
4505 self.as_ref().to_glib_none().0,
4506 transform.to_glib_none().0,
4507 );
4508 }
4509 }
4510
4511 fn set_clip(&self, xoff: f32, yoff: f32, width: f32, height: f32) {
4512 unsafe {
4513 ffi::clutter_actor_set_clip(self.as_ref().to_glib_none().0, xoff, yoff, width, height);
4514 }
4515 }
4516
4517 fn set_clip_to_allocation(&self, clip_set: bool) {
4518 unsafe {
4519 ffi::clutter_actor_set_clip_to_allocation(
4520 self.as_ref().to_glib_none().0,
4521 clip_set.to_glib(),
4522 );
4523 }
4524 }
4525
4526 fn set_content<P: IsA<Content>>(&self, content: Option<&P>) {
4527 unsafe {
4528 ffi::clutter_actor_set_content(
4529 self.as_ref().to_glib_none().0,
4530 content.map(|p| p.as_ref()).to_glib_none().0,
4531 );
4532 }
4533 }
4534
4535 fn set_content_gravity(&self, gravity: ContentGravity) {
4536 unsafe {
4537 ffi::clutter_actor_set_content_gravity(
4538 self.as_ref().to_glib_none().0,
4539 gravity.to_glib(),
4540 );
4541 }
4542 }
4543
4544 fn set_content_repeat(&self, repeat: ContentRepeat) {
4545 unsafe {
4546 ffi::clutter_actor_set_content_repeat(self.as_ref().to_glib_none().0, repeat.to_glib());
4547 }
4548 }
4549
4550 fn set_content_scaling_filters(&self, min_filter: ScalingFilter, mag_filter: ScalingFilter) {
4551 unsafe {
4552 ffi::clutter_actor_set_content_scaling_filters(
4553 self.as_ref().to_glib_none().0,
4554 min_filter.to_glib(),
4555 mag_filter.to_glib(),
4556 );
4557 }
4558 }
4559
4560 fn set_easing_delay(&self, msecs: u32) {
4561 unsafe {
4562 ffi::clutter_actor_set_easing_delay(self.as_ref().to_glib_none().0, msecs);
4563 }
4564 }
4565
4566 fn set_easing_duration(&self, msecs: u32) {
4567 unsafe {
4568 ffi::clutter_actor_set_easing_duration(self.as_ref().to_glib_none().0, msecs);
4569 }
4570 }
4571
4572 fn set_easing_mode(&self, mode: AnimationMode) {
4573 unsafe {
4574 ffi::clutter_actor_set_easing_mode(self.as_ref().to_glib_none().0, mode.to_glib());
4575 }
4576 }
4577
4578 fn set_fixed_position_set(&self, is_set: bool) {
4579 unsafe {
4580 ffi::clutter_actor_set_fixed_position_set(
4581 self.as_ref().to_glib_none().0,
4582 is_set.to_glib(),
4583 );
4584 }
4585 }
4586
4587 fn set_flags(&self, flags: ActorFlags) {
4588 unsafe {
4589 ffi::clutter_actor_set_flags(self.as_ref().to_glib_none().0, flags.to_glib());
4590 }
4591 }
4592
4593 fn set_height(&self, height: f32) {
4594 unsafe {
4595 ffi::clutter_actor_set_height(self.as_ref().to_glib_none().0, height);
4596 }
4597 }
4598
4599 fn set_layout_manager<P: IsA<LayoutManager>>(&self, manager: Option<&P>) {
4600 unsafe {
4601 ffi::clutter_actor_set_layout_manager(
4602 self.as_ref().to_glib_none().0,
4603 manager.map(|p| p.as_ref()).to_glib_none().0,
4604 );
4605 }
4606 }
4607
4608 fn set_margin(&self, margin: &Margin) {
4609 unsafe {
4610 ffi::clutter_actor_set_margin(self.as_ref().to_glib_none().0, margin.to_glib_none().0);
4611 }
4612 }
4613
4614 fn set_margin_bottom(&self, margin: f32) {
4615 unsafe {
4616 ffi::clutter_actor_set_margin_bottom(self.as_ref().to_glib_none().0, margin);
4617 }
4618 }
4619
4620 fn set_margin_left(&self, margin: f32) {
4621 unsafe {
4622 ffi::clutter_actor_set_margin_left(self.as_ref().to_glib_none().0, margin);
4623 }
4624 }
4625
4626 fn set_margin_right(&self, margin: f32) {
4627 unsafe {
4628 ffi::clutter_actor_set_margin_right(self.as_ref().to_glib_none().0, margin);
4629 }
4630 }
4631
4632 fn set_margin_top(&self, margin: f32) {
4633 unsafe {
4634 ffi::clutter_actor_set_margin_top(self.as_ref().to_glib_none().0, margin);
4635 }
4636 }
4637
4638 fn set_name(&self, name: &str) {
4639 unsafe {
4640 ffi::clutter_actor_set_name(self.as_ref().to_glib_none().0, name.to_glib_none().0);
4641 }
4642 }
4643
4644 fn set_offscreen_redirect(&self, redirect: OffscreenRedirect) {
4645 unsafe {
4646 ffi::clutter_actor_set_offscreen_redirect(
4647 self.as_ref().to_glib_none().0,
4648 redirect.to_glib(),
4649 );
4650 }
4651 }
4652
4653 fn set_opacity(&self, opacity: u8) {
4654 unsafe {
4655 ffi::clutter_actor_set_opacity(self.as_ref().to_glib_none().0, opacity);
4656 }
4657 }
4658
4659 fn set_pivot_point(&self, pivot_x: f32, pivot_y: f32) {
4660 unsafe {
4661 ffi::clutter_actor_set_pivot_point(self.as_ref().to_glib_none().0, pivot_x, pivot_y);
4662 }
4663 }
4664
4665 fn set_pivot_point_z(&self, pivot_z: f32) {
4666 unsafe {
4667 ffi::clutter_actor_set_pivot_point_z(self.as_ref().to_glib_none().0, pivot_z);
4668 }
4669 }
4670
4671 fn set_position(&self, x: f32, y: f32) {
4672 unsafe {
4673 ffi::clutter_actor_set_position(self.as_ref().to_glib_none().0, x, y);
4674 }
4675 }
4676
4677 fn set_reactive(&self, reactive: bool) {
4678 unsafe {
4679 ffi::clutter_actor_set_reactive(self.as_ref().to_glib_none().0, reactive.to_glib());
4680 }
4681 }
4682
4683 fn set_request_mode(&self, mode: RequestMode) {
4684 unsafe {
4685 ffi::clutter_actor_set_request_mode(self.as_ref().to_glib_none().0, mode.to_glib());
4686 }
4687 }
4688
4689 fn set_rotation_angle(&self, axis: RotateAxis, angle: f64) {
4690 unsafe {
4691 ffi::clutter_actor_set_rotation_angle(
4692 self.as_ref().to_glib_none().0,
4693 axis.to_glib(),
4694 angle,
4695 );
4696 }
4697 }
4698
4699 fn set_scale(&self, scale_x: f64, scale_y: f64) {
4700 unsafe {
4701 ffi::clutter_actor_set_scale(self.as_ref().to_glib_none().0, scale_x, scale_y);
4702 }
4703 }
4704
4705 fn set_scale_z(&self, scale_z: f64) {
4706 unsafe {
4707 ffi::clutter_actor_set_scale_z(self.as_ref().to_glib_none().0, scale_z);
4708 }
4709 }
4710
4711 fn set_size(&self, width: f32, height: f32) {
4712 unsafe {
4713 ffi::clutter_actor_set_size(self.as_ref().to_glib_none().0, width, height);
4714 }
4715 }
4716
4717 fn set_text_direction(&self, text_dir: TextDirection) {
4718 unsafe {
4719 ffi::clutter_actor_set_text_direction(
4720 self.as_ref().to_glib_none().0,
4721 text_dir.to_glib(),
4722 );
4723 }
4724 }
4725
4726 fn set_transform(&self, transform: Option<&Matrix>) {
4727 unsafe {
4728 ffi::clutter_actor_set_transform(
4729 self.as_ref().to_glib_none().0,
4730 transform.to_glib_none().0,
4731 );
4732 }
4733 }
4734
4735 fn set_translation(&self, translate_x: f32, translate_y: f32, translate_z: f32) {
4736 unsafe {
4737 ffi::clutter_actor_set_translation(
4738 self.as_ref().to_glib_none().0,
4739 translate_x,
4740 translate_y,
4741 translate_z,
4742 );
4743 }
4744 }
4745
4746 fn set_width(&self, width: f32) {
4747 unsafe {
4748 ffi::clutter_actor_set_width(self.as_ref().to_glib_none().0, width);
4749 }
4750 }
4751
4752 fn set_x(&self, x: f32) {
4753 unsafe {
4754 ffi::clutter_actor_set_x(self.as_ref().to_glib_none().0, x);
4755 }
4756 }
4757
4758 fn set_x_align(&self, x_align: ActorAlign) {
4759 unsafe {
4760 ffi::clutter_actor_set_x_align(self.as_ref().to_glib_none().0, x_align.to_glib());
4761 }
4762 }
4763
4764 fn set_x_expand(&self, expand: bool) {
4765 unsafe {
4766 ffi::clutter_actor_set_x_expand(self.as_ref().to_glib_none().0, expand.to_glib());
4767 }
4768 }
4769
4770 fn set_y(&self, y: f32) {
4771 unsafe {
4772 ffi::clutter_actor_set_y(self.as_ref().to_glib_none().0, y);
4773 }
4774 }
4775
4776 fn set_y_align(&self, y_align: ActorAlign) {
4777 unsafe {
4778 ffi::clutter_actor_set_y_align(self.as_ref().to_glib_none().0, y_align.to_glib());
4779 }
4780 }
4781
4782 fn set_y_expand(&self, expand: bool) {
4783 unsafe {
4784 ffi::clutter_actor_set_y_expand(self.as_ref().to_glib_none().0, expand.to_glib());
4785 }
4786 }
4787
4788 fn set_z_position(&self, z_position: f32) {
4789 unsafe {
4790 ffi::clutter_actor_set_z_position(self.as_ref().to_glib_none().0, z_position);
4791 }
4792 }
4793
4794 fn should_pick_paint(&self) -> bool {
4795 unsafe {
4796 from_glib(ffi::clutter_actor_should_pick_paint(
4797 self.as_ref().to_glib_none().0,
4798 ))
4799 }
4800 }
4801
4802 fn show(&self) {
4803 unsafe {
4804 ffi::clutter_actor_show(self.as_ref().to_glib_none().0);
4805 }
4806 }
4807
4808 fn transform_stage_point(&self, x: f32, y: f32) -> Option<(f32, f32)> {
4809 unsafe {
4810 let mut x_out = mem::MaybeUninit::uninit();
4811 let mut y_out = mem::MaybeUninit::uninit();
4812 let ret = from_glib(ffi::clutter_actor_transform_stage_point(
4813 self.as_ref().to_glib_none().0,
4814 x,
4815 y,
4816 x_out.as_mut_ptr(),
4817 y_out.as_mut_ptr(),
4818 ));
4819 let x_out = x_out.assume_init();
4820 let y_out = y_out.assume_init();
4821 if ret {
4822 Some((x_out, y_out))
4823 } else {
4824 None
4825 }
4826 }
4827 }
4828
4829 fn unmap(&self) {
4830 unsafe {
4831 ffi::clutter_actor_unmap(self.as_ref().to_glib_none().0);
4832 }
4833 }
4834
4835 fn unset_flags(&self, flags: ActorFlags) {
4836 unsafe {
4837 ffi::clutter_actor_unset_flags(self.as_ref().to_glib_none().0, flags.to_glib());
4838 }
4839 }
4840
4841 fn set_property_actions<P: IsA<Action> + SetValueOptional>(&self, actions: Option<&P>) {
4842 unsafe {
4843 gobject_sys::g_object_set_property(
4844 self.to_glib_none().0 as *mut gobject_sys::GObject,
4845 b"actions\0".as_ptr() as *const _,
4846 Value::from(actions).to_glib_none().0,
4847 );
4848 }
4849 }
4850
4851 fn get_property_allocation(&self) -> Option<ActorBox> {
4852 unsafe {
4853 let mut value = Value::from_type(<ActorBox as StaticType>::static_type());
4854 gobject_sys::g_object_get_property(
4855 self.to_glib_none().0 as *mut gobject_sys::GObject,
4856 b"allocation\0".as_ptr() as *const _,
4857 value.to_glib_none_mut().0,
4858 );
4859 value
4860 .get()
4861 .expect("Return Value for property `allocation` getter")
4862 }
4863 }
4864
4865 fn get_property_background_color_set(&self) -> bool {
4866 unsafe {
4867 let mut value = Value::from_type(<bool as StaticType>::static_type());
4868 gobject_sys::g_object_get_property(
4869 self.to_glib_none().0 as *mut gobject_sys::GObject,
4870 b"background-color-set\0".as_ptr() as *const _,
4871 value.to_glib_none_mut().0,
4872 );
4873 value
4874 .get()
4875 .expect("Return Value for property `background-color-set` getter")
4876 .unwrap()
4877 }
4878 }
4879
4880 fn get_property_child_transform_set(&self) -> bool {
4881 unsafe {
4882 let mut value = Value::from_type(<bool as StaticType>::static_type());
4883 gobject_sys::g_object_get_property(
4884 self.to_glib_none().0 as *mut gobject_sys::GObject,
4885 b"child-transform-set\0".as_ptr() as *const _,
4886 value.to_glib_none_mut().0,
4887 );
4888 value
4889 .get()
4890 .expect("Return Value for property `child-transform-set` getter")
4891 .unwrap()
4892 }
4893 }
4894
4895 fn get_property_clip_rect(&self) -> Option<Rect> {
4896 unsafe {
4897 let mut value = Value::from_type(<Rect as StaticType>::static_type());
4898 gobject_sys::g_object_get_property(
4899 self.to_glib_none().0 as *mut gobject_sys::GObject,
4900 b"clip-rect\0".as_ptr() as *const _,
4901 value.to_glib_none_mut().0,
4902 );
4903 value
4904 .get()
4905 .expect("Return Value for property `clip-rect` getter")
4906 }
4907 }
4908
4909 fn set_property_clip_rect(&self, clip_rect: Option<&Rect>) {
4910 unsafe {
4911 gobject_sys::g_object_set_property(
4912 self.to_glib_none().0 as *mut gobject_sys::GObject,
4913 b"clip-rect\0".as_ptr() as *const _,
4914 Value::from(clip_rect).to_glib_none().0,
4915 );
4916 }
4917 }
4918
4919 fn set_property_constraints<P: IsA<Constraint> + SetValueOptional>(
4920 &self,
4921 constraints: Option<&P>,
4922 ) {
4923 unsafe {
4924 gobject_sys::g_object_set_property(
4925 self.to_glib_none().0 as *mut gobject_sys::GObject,
4926 b"constraints\0".as_ptr() as *const _,
4927 Value::from(constraints).to_glib_none().0,
4928 );
4929 }
4930 }
4931
4932 fn set_property_effect<P: IsA<Effect> + SetValueOptional>(&self, effect: Option<&P>) {
4933 unsafe {
4934 gobject_sys::g_object_set_property(
4935 self.to_glib_none().0 as *mut gobject_sys::GObject,
4936 b"effect\0".as_ptr() as *const _,
4937 Value::from(effect).to_glib_none().0,
4938 );
4939 }
4940 }
4941
4942 fn get_property_fixed_x(&self) -> f32 {
4943 unsafe {
4944 let mut value = Value::from_type(<f32 as StaticType>::static_type());
4945 gobject_sys::g_object_get_property(
4946 self.to_glib_none().0 as *mut gobject_sys::GObject,
4947 b"fixed-x\0".as_ptr() as *const _,
4948 value.to_glib_none_mut().0,
4949 );
4950 value
4951 .get()
4952 .expect("Return Value for property `fixed-x` getter")
4953 .unwrap()
4954 }
4955 }
4956
4957 fn set_property_fixed_x(&self, fixed_x: f32) {
4958 unsafe {
4959 gobject_sys::g_object_set_property(
4960 self.to_glib_none().0 as *mut gobject_sys::GObject,
4961 b"fixed-x\0".as_ptr() as *const _,
4962 Value::from(&fixed_x).to_glib_none().0,
4963 );
4964 }
4965 }
4966
4967 fn get_property_fixed_y(&self) -> f32 {
4968 unsafe {
4969 let mut value = Value::from_type(<f32 as StaticType>::static_type());
4970 gobject_sys::g_object_get_property(
4971 self.to_glib_none().0 as *mut gobject_sys::GObject,
4972 b"fixed-y\0".as_ptr() as *const _,
4973 value.to_glib_none_mut().0,
4974 );
4975 value
4976 .get()
4977 .expect("Return Value for property `fixed-y` getter")
4978 .unwrap()
4979 }
4980 }
4981
4982 fn set_property_fixed_y(&self, fixed_y: f32) {
4983 unsafe {
4984 gobject_sys::g_object_set_property(
4985 self.to_glib_none().0 as *mut gobject_sys::GObject,
4986 b"fixed-y\0".as_ptr() as *const _,
4987 Value::from(&fixed_y).to_glib_none().0,
4988 );
4989 }
4990 }
4991
4992 fn get_property_has_clip(&self) -> bool {
4993 unsafe {
4994 let mut value = Value::from_type(<bool as StaticType>::static_type());
4995 gobject_sys::g_object_get_property(
4996 self.to_glib_none().0 as *mut gobject_sys::GObject,
4997 b"has-clip\0".as_ptr() as *const _,
4998 value.to_glib_none_mut().0,
4999 );
5000 value
5001 .get()
5002 .expect("Return Value for property `has-clip` getter")
5003 .unwrap()
5004 }
5005 }
5006
5007 fn get_property_has_pointer(&self) -> bool {
5008 unsafe {
5009 let mut value = Value::from_type(<bool as StaticType>::static_type());
5010 gobject_sys::g_object_get_property(
5011 self.to_glib_none().0 as *mut gobject_sys::GObject,
5012 b"has-pointer\0".as_ptr() as *const _,
5013 value.to_glib_none_mut().0,
5014 );
5015 value
5016 .get()
5017 .expect("Return Value for property `has-pointer` getter")
5018 .unwrap()
5019 }
5020 }
5021
5022 fn get_property_magnification_filter(&self) -> ScalingFilter {
5023 unsafe {
5024 let mut value = Value::from_type(<ScalingFilter as StaticType>::static_type());
5025 gobject_sys::g_object_get_property(
5026 self.to_glib_none().0 as *mut gobject_sys::GObject,
5027 b"magnification-filter\0".as_ptr() as *const _,
5028 value.to_glib_none_mut().0,
5029 );
5030 value
5031 .get()
5032 .expect("Return Value for property `magnification-filter` getter")
5033 .unwrap()
5034 }
5035 }
5036
5037 fn set_property_magnification_filter(&self, magnification_filter: ScalingFilter) {
5038 unsafe {
5039 gobject_sys::g_object_set_property(
5040 self.to_glib_none().0 as *mut gobject_sys::GObject,
5041 b"magnification-filter\0".as_ptr() as *const _,
5042 Value::from(&magnification_filter).to_glib_none().0,
5043 );
5044 }
5045 }
5046
5047 fn get_property_mapped(&self) -> bool {
5048 unsafe {
5049 let mut value = Value::from_type(<bool as StaticType>::static_type());
5050 gobject_sys::g_object_get_property(
5051 self.to_glib_none().0 as *mut gobject_sys::GObject,
5052 b"mapped\0".as_ptr() as *const _,
5053 value.to_glib_none_mut().0,
5054 );
5055 value
5056 .get()
5057 .expect("Return Value for property `mapped` getter")
5058 .unwrap()
5059 }
5060 }
5061
5062 fn get_property_min_height(&self) -> f32 {
5063 unsafe {
5064 let mut value = Value::from_type(<f32 as StaticType>::static_type());
5065 gobject_sys::g_object_get_property(
5066 self.to_glib_none().0 as *mut gobject_sys::GObject,
5067 b"min-height\0".as_ptr() as *const _,
5068 value.to_glib_none_mut().0,
5069 );
5070 value
5071 .get()
5072 .expect("Return Value for property `min-height` getter")
5073 .unwrap()
5074 }
5075 }
5076
5077 fn set_property_min_height(&self, min_height: f32) {
5078 unsafe {
5079 gobject_sys::g_object_set_property(
5080 self.to_glib_none().0 as *mut gobject_sys::GObject,
5081 b"min-height\0".as_ptr() as *const _,
5082 Value::from(&min_height).to_glib_none().0,
5083 );
5084 }
5085 }
5086
5087 fn get_property_min_height_set(&self) -> bool {
5088 unsafe {
5089 let mut value = Value::from_type(<bool as StaticType>::static_type());
5090 gobject_sys::g_object_get_property(
5091 self.to_glib_none().0 as *mut gobject_sys::GObject,
5092 b"min-height-set\0".as_ptr() as *const _,
5093 value.to_glib_none_mut().0,
5094 );
5095 value
5096 .get()
5097 .expect("Return Value for property `min-height-set` getter")
5098 .unwrap()
5099 }
5100 }
5101
5102 fn set_property_min_height_set(&self, min_height_set: bool) {
5103 unsafe {
5104 gobject_sys::g_object_set_property(
5105 self.to_glib_none().0 as *mut gobject_sys::GObject,
5106 b"min-height-set\0".as_ptr() as *const _,
5107 Value::from(&min_height_set).to_glib_none().0,
5108 );
5109 }
5110 }
5111
5112 fn get_property_min_width(&self) -> f32 {
5113 unsafe {
5114 let mut value = Value::from_type(<f32 as StaticType>::static_type());
5115 gobject_sys::g_object_get_property(
5116 self.to_glib_none().0 as *mut gobject_sys::GObject,
5117 b"min-width\0".as_ptr() as *const _,
5118 value.to_glib_none_mut().0,
5119 );
5120 value
5121 .get()
5122 .expect("Return Value for property `min-width` getter")
5123 .unwrap()
5124 }
5125 }
5126
5127 fn set_property_min_width(&self, min_width: f32) {
5128 unsafe {
5129 gobject_sys::g_object_set_property(
5130 self.to_glib_none().0 as *mut gobject_sys::GObject,
5131 b"min-width\0".as_ptr() as *const _,
5132 Value::from(&min_width).to_glib_none().0,
5133 );
5134 }
5135 }
5136
5137 fn get_property_min_width_set(&self) -> bool {
5138 unsafe {
5139 let mut value = Value::from_type(<bool as StaticType>::static_type());
5140 gobject_sys::g_object_get_property(
5141 self.to_glib_none().0 as *mut gobject_sys::GObject,
5142 b"min-width-set\0".as_ptr() as *const _,
5143 value.to_glib_none_mut().0,
5144 );
5145 value
5146 .get()
5147 .expect("Return Value for property `min-width-set` getter")
5148 .unwrap()
5149 }
5150 }
5151
5152 fn set_property_min_width_set(&self, min_width_set: bool) {
5153 unsafe {
5154 gobject_sys::g_object_set_property(
5155 self.to_glib_none().0 as *mut gobject_sys::GObject,
5156 b"min-width-set\0".as_ptr() as *const _,
5157 Value::from(&min_width_set).to_glib_none().0,
5158 );
5159 }
5160 }
5161
5162 fn get_property_minification_filter(&self) -> ScalingFilter {
5163 unsafe {
5164 let mut value = Value::from_type(<ScalingFilter as StaticType>::static_type());
5165 gobject_sys::g_object_get_property(
5166 self.to_glib_none().0 as *mut gobject_sys::GObject,
5167 b"minification-filter\0".as_ptr() as *const _,
5168 value.to_glib_none_mut().0,
5169 );
5170 value
5171 .get()
5172 .expect("Return Value for property `minification-filter` getter")
5173 .unwrap()
5174 }
5175 }
5176
5177 fn set_property_minification_filter(&self, minification_filter: ScalingFilter) {
5178 unsafe {
5179 gobject_sys::g_object_set_property(
5180 self.to_glib_none().0 as *mut gobject_sys::GObject,
5181 b"minification-filter\0".as_ptr() as *const _,
5182 Value::from(&minification_filter).to_glib_none().0,
5183 );
5184 }
5185 }
5186
5187 fn get_property_natural_height(&self) -> f32 {
5188 unsafe {
5189 let mut value = Value::from_type(<f32 as StaticType>::static_type());
5190 gobject_sys::g_object_get_property(
5191 self.to_glib_none().0 as *mut gobject_sys::GObject,
5192 b"natural-height\0".as_ptr() as *const _,
5193 value.to_glib_none_mut().0,
5194 );
5195 value
5196 .get()
5197 .expect("Return Value for property `natural-height` getter")
5198 .unwrap()
5199 }
5200 }
5201
5202 fn set_property_natural_height(&self, natural_height: f32) {
5203 unsafe {
5204 gobject_sys::g_object_set_property(
5205 self.to_glib_none().0 as *mut gobject_sys::GObject,
5206 b"natural-height\0".as_ptr() as *const _,
5207 Value::from(&natural_height).to_glib_none().0,
5208 );
5209 }
5210 }
5211
5212 fn get_property_natural_height_set(&self) -> bool {
5213 unsafe {
5214 let mut value = Value::from_type(<bool as StaticType>::static_type());
5215 gobject_sys::g_object_get_property(
5216 self.to_glib_none().0 as *mut gobject_sys::GObject,
5217 b"natural-height-set\0".as_ptr() as *const _,
5218 value.to_glib_none_mut().0,
5219 );
5220 value
5221 .get()
5222 .expect("Return Value for property `natural-height-set` getter")
5223 .unwrap()
5224 }
5225 }
5226
5227 fn set_property_natural_height_set(&self, natural_height_set: bool) {
5228 unsafe {
5229 gobject_sys::g_object_set_property(
5230 self.to_glib_none().0 as *mut gobject_sys::GObject,
5231 b"natural-height-set\0".as_ptr() as *const _,
5232 Value::from(&natural_height_set).to_glib_none().0,
5233 );
5234 }
5235 }
5236
5237 fn get_property_natural_width(&self) -> f32 {
5238 unsafe {
5239 let mut value = Value::from_type(<f32 as StaticType>::static_type());
5240 gobject_sys::g_object_get_property(
5241 self.to_glib_none().0 as *mut gobject_sys::GObject,
5242 b"natural-width\0".as_ptr() as *const _,
5243 value.to_glib_none_mut().0,
5244 );
5245 value
5246 .get()
5247 .expect("Return Value for property `natural-width` getter")
5248 .unwrap()
5249 }
5250 }
5251
5252 fn set_property_natural_width(&self, natural_width: f32) {
5253 unsafe {
5254 gobject_sys::g_object_set_property(
5255 self.to_glib_none().0 as *mut gobject_sys::GObject,
5256 b"natural-width\0".as_ptr() as *const _,
5257 Value::from(&natural_width).to_glib_none().0,
5258 );
5259 }
5260 }
5261
5262 fn get_property_natural_width_set(&self) -> bool {
5263 unsafe {
5264 let mut value = Value::from_type(<bool as StaticType>::static_type());
5265 gobject_sys::g_object_get_property(
5266 self.to_glib_none().0 as *mut gobject_sys::GObject,
5267 b"natural-width-set\0".as_ptr() as *const _,
5268 value.to_glib_none_mut().0,
5269 );
5270 value
5271 .get()
5272 .expect("Return Value for property `natural-width-set` getter")
5273 .unwrap()
5274 }
5275 }
5276
5277 fn set_property_natural_width_set(&self, natural_width_set: bool) {
5278 unsafe {
5279 gobject_sys::g_object_set_property(
5280 self.to_glib_none().0 as *mut gobject_sys::GObject,
5281 b"natural-width-set\0".as_ptr() as *const _,
5282 Value::from(&natural_width_set).to_glib_none().0,
5283 );
5284 }
5285 }
5286
5287 fn get_property_realized(&self) -> bool {
5288 unsafe {
5289 let mut value = Value::from_type(<bool as StaticType>::static_type());
5290 gobject_sys::g_object_get_property(
5291 self.to_glib_none().0 as *mut gobject_sys::GObject,
5292 b"realized\0".as_ptr() as *const _,
5293 value.to_glib_none_mut().0,
5294 );
5295 value
5296 .get()
5297 .expect("Return Value for property `realized` getter")
5298 .unwrap()
5299 }
5300 }
5301
5302 fn get_property_rotation_angle_x(&self) -> f64 {
5303 unsafe {
5304 let mut value = Value::from_type(<f64 as StaticType>::static_type());
5305 gobject_sys::g_object_get_property(
5306 self.to_glib_none().0 as *mut gobject_sys::GObject,
5307 b"rotation-angle-x\0".as_ptr() as *const _,
5308 value.to_glib_none_mut().0,
5309 );
5310 value
5311 .get()
5312 .expect("Return Value for property `rotation-angle-x` getter")
5313 .unwrap()
5314 }
5315 }
5316
5317 fn set_property_rotation_angle_x(&self, rotation_angle_x: f64) {
5318 unsafe {
5319 gobject_sys::g_object_set_property(
5320 self.to_glib_none().0 as *mut gobject_sys::GObject,
5321 b"rotation-angle-x\0".as_ptr() as *const _,
5322 Value::from(&rotation_angle_x).to_glib_none().0,
5323 );
5324 }
5325 }
5326
5327 fn get_property_rotation_angle_y(&self) -> f64 {
5328 unsafe {
5329 let mut value = Value::from_type(<f64 as StaticType>::static_type());
5330 gobject_sys::g_object_get_property(
5331 self.to_glib_none().0 as *mut gobject_sys::GObject,
5332 b"rotation-angle-y\0".as_ptr() as *const _,
5333 value.to_glib_none_mut().0,
5334 );
5335 value
5336 .get()
5337 .expect("Return Value for property `rotation-angle-y` getter")
5338 .unwrap()
5339 }
5340 }
5341
5342 fn set_property_rotation_angle_y(&self, rotation_angle_y: f64) {
5343 unsafe {
5344 gobject_sys::g_object_set_property(
5345 self.to_glib_none().0 as *mut gobject_sys::GObject,
5346 b"rotation-angle-y\0".as_ptr() as *const _,
5347 Value::from(&rotation_angle_y).to_glib_none().0,
5348 );
5349 }
5350 }
5351
5352 fn get_property_rotation_angle_z(&self) -> f64 {
5353 unsafe {
5354 let mut value = Value::from_type(<f64 as StaticType>::static_type());
5355 gobject_sys::g_object_get_property(
5356 self.to_glib_none().0 as *mut gobject_sys::GObject,
5357 b"rotation-angle-z\0".as_ptr() as *const _,
5358 value.to_glib_none_mut().0,
5359 );
5360 value
5361 .get()
5362 .expect("Return Value for property `rotation-angle-z` getter")
5363 .unwrap()
5364 }
5365 }
5366
5367 fn set_property_rotation_angle_z(&self, rotation_angle_z: f64) {
5368 unsafe {
5369 gobject_sys::g_object_set_property(
5370 self.to_glib_none().0 as *mut gobject_sys::GObject,
5371 b"rotation-angle-z\0".as_ptr() as *const _,
5372 Value::from(&rotation_angle_z).to_glib_none().0,
5373 );
5374 }
5375 }
5376
5377 fn get_property_scale_x(&self) -> f64 {
5378 unsafe {
5379 let mut value = Value::from_type(<f64 as StaticType>::static_type());
5380 gobject_sys::g_object_get_property(
5381 self.to_glib_none().0 as *mut gobject_sys::GObject,
5382 b"scale-x\0".as_ptr() as *const _,
5383 value.to_glib_none_mut().0,
5384 );
5385 value
5386 .get()
5387 .expect("Return Value for property `scale-x` getter")
5388 .unwrap()
5389 }
5390 }
5391
5392 fn set_property_scale_x(&self, scale_x: f64) {
5393 unsafe {
5394 gobject_sys::g_object_set_property(
5395 self.to_glib_none().0 as *mut gobject_sys::GObject,
5396 b"scale-x\0".as_ptr() as *const _,
5397 Value::from(&scale_x).to_glib_none().0,
5398 );
5399 }
5400 }
5401
5402 fn get_property_scale_y(&self) -> f64 {
5403 unsafe {
5404 let mut value = Value::from_type(<f64 as StaticType>::static_type());
5405 gobject_sys::g_object_get_property(
5406 self.to_glib_none().0 as *mut gobject_sys::GObject,
5407 b"scale-y\0".as_ptr() as *const _,
5408 value.to_glib_none_mut().0,
5409 );
5410 value
5411 .get()
5412 .expect("Return Value for property `scale-y` getter")
5413 .unwrap()
5414 }
5415 }
5416
5417 fn set_property_scale_y(&self, scale_y: f64) {
5418 unsafe {
5419 gobject_sys::g_object_set_property(
5420 self.to_glib_none().0 as *mut gobject_sys::GObject,
5421 b"scale-y\0".as_ptr() as *const _,
5422 Value::from(&scale_y).to_glib_none().0,
5423 );
5424 }
5425 }
5426
5427 fn get_property_show_on_set_parent(&self) -> bool {
5428 unsafe {
5429 let mut value = Value::from_type(<bool as StaticType>::static_type());
5430 gobject_sys::g_object_get_property(
5431 self.to_glib_none().0 as *mut gobject_sys::GObject,
5432 b"show-on-set-parent\0".as_ptr() as *const _,
5433 value.to_glib_none_mut().0,
5434 );
5435 value
5436 .get()
5437 .expect("Return Value for property `show-on-set-parent` getter")
5438 .unwrap()
5439 }
5440 }
5441
5442 fn set_property_show_on_set_parent(&self, show_on_set_parent: bool) {
5443 unsafe {
5444 gobject_sys::g_object_set_property(
5445 self.to_glib_none().0 as *mut gobject_sys::GObject,
5446 b"show-on-set-parent\0".as_ptr() as *const _,
5447 Value::from(&show_on_set_parent).to_glib_none().0,
5448 );
5449 }
5450 }
5451
5452 fn get_property_transform_set(&self) -> bool {
5453 unsafe {
5454 let mut value = Value::from_type(<bool as StaticType>::static_type());
5455 gobject_sys::g_object_get_property(
5456 self.to_glib_none().0 as *mut gobject_sys::GObject,
5457 b"transform-set\0".as_ptr() as *const _,
5458 value.to_glib_none_mut().0,
5459 );
5460 value
5461 .get()
5462 .expect("Return Value for property `transform-set` getter")
5463 .unwrap()
5464 }
5465 }
5466
5467 fn get_property_translation_x(&self) -> f32 {
5468 unsafe {
5469 let mut value = Value::from_type(<f32 as StaticType>::static_type());
5470 gobject_sys::g_object_get_property(
5471 self.to_glib_none().0 as *mut gobject_sys::GObject,
5472 b"translation-x\0".as_ptr() as *const _,
5473 value.to_glib_none_mut().0,
5474 );
5475 value
5476 .get()
5477 .expect("Return Value for property `translation-x` getter")
5478 .unwrap()
5479 }
5480 }
5481
5482 fn set_property_translation_x(&self, translation_x: f32) {
5483 unsafe {
5484 gobject_sys::g_object_set_property(
5485 self.to_glib_none().0 as *mut gobject_sys::GObject,
5486 b"translation-x\0".as_ptr() as *const _,
5487 Value::from(&translation_x).to_glib_none().0,
5488 );
5489 }
5490 }
5491
5492 fn get_property_translation_y(&self) -> f32 {
5493 unsafe {
5494 let mut value = Value::from_type(<f32 as StaticType>::static_type());
5495 gobject_sys::g_object_get_property(
5496 self.to_glib_none().0 as *mut gobject_sys::GObject,
5497 b"translation-y\0".as_ptr() as *const _,
5498 value.to_glib_none_mut().0,
5499 );
5500 value
5501 .get()
5502 .expect("Return Value for property `translation-y` getter")
5503 .unwrap()
5504 }
5505 }
5506
5507 fn set_property_translation_y(&self, translation_y: f32) {
5508 unsafe {
5509 gobject_sys::g_object_set_property(
5510 self.to_glib_none().0 as *mut gobject_sys::GObject,
5511 b"translation-y\0".as_ptr() as *const _,
5512 Value::from(&translation_y).to_glib_none().0,
5513 );
5514 }
5515 }
5516
5517 fn get_property_translation_z(&self) -> f32 {
5518 unsafe {
5519 let mut value = Value::from_type(<f32 as StaticType>::static_type());
5520 gobject_sys::g_object_get_property(
5521 self.to_glib_none().0 as *mut gobject_sys::GObject,
5522 b"translation-z\0".as_ptr() as *const _,
5523 value.to_glib_none_mut().0,
5524 );
5525 value
5526 .get()
5527 .expect("Return Value for property `translation-z` getter")
5528 .unwrap()
5529 }
5530 }
5531
5532 fn set_property_translation_z(&self, translation_z: f32) {
5533 unsafe {
5534 gobject_sys::g_object_set_property(
5535 self.to_glib_none().0 as *mut gobject_sys::GObject,
5536 b"translation-z\0".as_ptr() as *const _,
5537 Value::from(&translation_z).to_glib_none().0,
5538 );
5539 }
5540 }
5541
5542 fn get_property_visible(&self) -> bool {
5543 unsafe {
5544 let mut value = Value::from_type(<bool as StaticType>::static_type());
5545 gobject_sys::g_object_get_property(
5546 self.to_glib_none().0 as *mut gobject_sys::GObject,
5547 b"visible\0".as_ptr() as *const _,
5548 value.to_glib_none_mut().0,
5549 );
5550 value
5551 .get()
5552 .expect("Return Value for property `visible` getter")
5553 .unwrap()
5554 }
5555 }
5556
5557 fn set_property_visible(&self, visible: bool) {
5558 unsafe {
5559 gobject_sys::g_object_set_property(
5560 self.to_glib_none().0 as *mut gobject_sys::GObject,
5561 b"visible\0".as_ptr() as *const _,
5562 Value::from(&visible).to_glib_none().0,
5563 );
5564 }
5565 }
5566
5567 fn connect_allocation_changed<F: Fn(&Self, &ActorBox, AllocationFlags) + 'static>(
5568 &self,
5569 f: F,
5570 ) -> SignalHandlerId {
5571 unsafe extern "C" fn allocation_changed_trampoline<
5572 P,
5573 F: Fn(&P, &ActorBox, AllocationFlags) + 'static,
5574 >(
5575 this: *mut ffi::ClutterActor,
5576 box_: *mut ffi::ClutterActorBox,
5577 flags: ffi::ClutterAllocationFlags,
5578 f: glib_sys::gpointer,
5579 ) where
5580 P: IsA<Actor>,
5581 {
5582 let f: &F = &*(f as *const F);
5583 f(
5584 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5585 &from_glib_borrow(box_),
5586 from_glib(flags),
5587 )
5588 }
5589 unsafe {
5590 let f: Box_<F> = Box_::new(f);
5591 connect_raw(
5592 self.as_ptr() as *mut _,
5593 b"allocation-changed\0".as_ptr() as *const _,
5594 Some(transmute::<_, unsafe extern "C" fn()>(
5595 allocation_changed_trampoline::<Self, F> as *const (),
5596 )),
5597 Box_::into_raw(f),
5598 )
5599 }
5600 }
5601
5602 fn connect_button_press_event<F: Fn(&Self, &ButtonEvent) -> bool + 'static>(
5603 &self,
5604 f: F,
5605 ) -> SignalHandlerId {
5606 unsafe extern "C" fn button_press_event_trampoline<
5607 P,
5608 F: Fn(&P, &ButtonEvent) -> bool + 'static,
5609 >(
5610 this: *mut ffi::ClutterActor,
5611 event: *mut ffi::ClutterButtonEvent,
5612 f: glib_sys::gpointer,
5613 ) -> glib_sys::gboolean
5614 where
5615 P: IsA<Actor>,
5616 {
5617 let f: &F = &*(f as *const F);
5618 f(
5619 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5620 &from_glib_borrow(event),
5621 )
5622 .to_glib()
5623 }
5624 unsafe {
5625 let f: Box_<F> = Box_::new(f);
5626 connect_raw(
5627 self.as_ptr() as *mut _,
5628 b"button-press-event\0".as_ptr() as *const _,
5629 Some(transmute::<_, unsafe extern "C" fn()>(
5630 button_press_event_trampoline::<Self, F> as *const (),
5631 )),
5632 Box_::into_raw(f),
5633 )
5634 }
5635 }
5636
5637 fn connect_button_release_event<F: Fn(&Self, &ButtonEvent) -> bool + 'static>(
5638 &self,
5639 f: F,
5640 ) -> SignalHandlerId {
5641 unsafe extern "C" fn button_release_event_trampoline<
5642 P,
5643 F: Fn(&P, &ButtonEvent) -> bool + 'static,
5644 >(
5645 this: *mut ffi::ClutterActor,
5646 event: *mut ffi::ClutterButtonEvent,
5647 f: glib_sys::gpointer,
5648 ) -> glib_sys::gboolean
5649 where
5650 P: IsA<Actor>,
5651 {
5652 let f: &F = &*(f as *const F);
5653 f(
5654 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5655 &from_glib_borrow(event),
5656 )
5657 .to_glib()
5658 }
5659 unsafe {
5660 let f: Box_<F> = Box_::new(f);
5661 connect_raw(
5662 self.as_ptr() as *mut _,
5663 b"button-release-event\0".as_ptr() as *const _,
5664 Some(transmute::<_, unsafe extern "C" fn()>(
5665 button_release_event_trampoline::<Self, F> as *const (),
5666 )),
5667 Box_::into_raw(f),
5668 )
5669 }
5670 }
5671
5672 fn connect_captured_event<F: Fn(&Self, &Event) -> bool + 'static>(
5673 &self,
5674 f: F,
5675 ) -> SignalHandlerId {
5676 unsafe extern "C" fn captured_event_trampoline<P, F: Fn(&P, &Event) -> bool + 'static>(
5677 this: *mut ffi::ClutterActor,
5678 event: *mut ffi::ClutterEvent,
5679 f: glib_sys::gpointer,
5680 ) -> glib_sys::gboolean
5681 where
5682 P: IsA<Actor>,
5683 {
5684 let f: &F = &*(f as *const F);
5685 f(
5686 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5687 &from_glib_none(event),
5688 )
5689 .to_glib()
5690 }
5691 unsafe {
5692 let f: Box_<F> = Box_::new(f);
5693 connect_raw(
5694 self.as_ptr() as *mut _,
5695 b"captured-event\0".as_ptr() as *const _,
5696 Some(transmute::<_, unsafe extern "C" fn()>(
5697 captured_event_trampoline::<Self, F> as *const (),
5698 )),
5699 Box_::into_raw(f),
5700 )
5701 }
5702 }
5703
5704 fn connect_destroy<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
5705 unsafe extern "C" fn destroy_trampoline<P, F: Fn(&P) + 'static>(
5706 this: *mut ffi::ClutterActor,
5707 f: glib_sys::gpointer,
5708 ) where
5709 P: IsA<Actor>,
5710 {
5711 let f: &F = &*(f as *const F);
5712 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
5713 }
5714 unsafe {
5715 let f: Box_<F> = Box_::new(f);
5716 connect_raw(
5717 self.as_ptr() as *mut _,
5718 b"destroy\0".as_ptr() as *const _,
5719 Some(transmute::<_, unsafe extern "C" fn()>(
5720 destroy_trampoline::<Self, F> as *const (),
5721 )),
5722 Box_::into_raw(f),
5723 )
5724 }
5725 }
5726
5727 fn connect_enter_event<F: Fn(&Self, &CrossingEvent) -> bool + 'static>(
5728 &self,
5729 f: F,
5730 ) -> SignalHandlerId {
5731 unsafe extern "C" fn enter_event_trampoline<
5732 P,
5733 F: Fn(&P, &CrossingEvent) -> bool + 'static,
5734 >(
5735 this: *mut ffi::ClutterActor,
5736 event: *mut ffi::ClutterCrossingEvent,
5737 f: glib_sys::gpointer,
5738 ) -> glib_sys::gboolean
5739 where
5740 P: IsA<Actor>,
5741 {
5742 let f: &F = &*(f as *const F);
5743 f(
5744 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5745 &from_glib_borrow(event),
5746 )
5747 .to_glib()
5748 }
5749 unsafe {
5750 let f: Box_<F> = Box_::new(f);
5751 connect_raw(
5752 self.as_ptr() as *mut _,
5753 b"enter-event\0".as_ptr() as *const _,
5754 Some(transmute::<_, unsafe extern "C" fn()>(
5755 enter_event_trampoline::<Self, F> as *const (),
5756 )),
5757 Box_::into_raw(f),
5758 )
5759 }
5760 }
5761
5762 fn connect_event<F: Fn(&Self, &Event) -> bool + 'static>(&self, f: F) -> SignalHandlerId {
5763 unsafe extern "C" fn event_trampoline<P, F: Fn(&P, &Event) -> bool + 'static>(
5764 this: *mut ffi::ClutterActor,
5765 event: *mut ffi::ClutterEvent,
5766 f: glib_sys::gpointer,
5767 ) -> glib_sys::gboolean
5768 where
5769 P: IsA<Actor>,
5770 {
5771 let f: &F = &*(f as *const F);
5772 f(
5773 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5774 &from_glib_none(event),
5775 )
5776 .to_glib()
5777 }
5778 unsafe {
5779 let f: Box_<F> = Box_::new(f);
5780 connect_raw(
5781 self.as_ptr() as *mut _,
5782 b"event\0".as_ptr() as *const _,
5783 Some(transmute::<_, unsafe extern "C" fn()>(
5784 event_trampoline::<Self, F> as *const (),
5785 )),
5786 Box_::into_raw(f),
5787 )
5788 }
5789 }
5790
5791 fn connect_hide<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
5792 unsafe extern "C" fn hide_trampoline<P, F: Fn(&P) + 'static>(
5793 this: *mut ffi::ClutterActor,
5794 f: glib_sys::gpointer,
5795 ) where
5796 P: IsA<Actor>,
5797 {
5798 let f: &F = &*(f as *const F);
5799 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
5800 }
5801 unsafe {
5802 let f: Box_<F> = Box_::new(f);
5803 connect_raw(
5804 self.as_ptr() as *mut _,
5805 b"hide\0".as_ptr() as *const _,
5806 Some(transmute::<_, unsafe extern "C" fn()>(
5807 hide_trampoline::<Self, F> as *const (),
5808 )),
5809 Box_::into_raw(f),
5810 )
5811 }
5812 }
5813
5814 fn connect_key_focus_in<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
5815 unsafe extern "C" fn key_focus_in_trampoline<P, F: Fn(&P) + 'static>(
5816 this: *mut ffi::ClutterActor,
5817 f: glib_sys::gpointer,
5818 ) where
5819 P: IsA<Actor>,
5820 {
5821 let f: &F = &*(f as *const F);
5822 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
5823 }
5824 unsafe {
5825 let f: Box_<F> = Box_::new(f);
5826 connect_raw(
5827 self.as_ptr() as *mut _,
5828 b"key-focus-in\0".as_ptr() as *const _,
5829 Some(transmute::<_, unsafe extern "C" fn()>(
5830 key_focus_in_trampoline::<Self, F> as *const (),
5831 )),
5832 Box_::into_raw(f),
5833 )
5834 }
5835 }
5836
5837 fn connect_key_focus_out<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
5838 unsafe extern "C" fn key_focus_out_trampoline<P, F: Fn(&P) + 'static>(
5839 this: *mut ffi::ClutterActor,
5840 f: glib_sys::gpointer,
5841 ) where
5842 P: IsA<Actor>,
5843 {
5844 let f: &F = &*(f as *const F);
5845 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
5846 }
5847 unsafe {
5848 let f: Box_<F> = Box_::new(f);
5849 connect_raw(
5850 self.as_ptr() as *mut _,
5851 b"key-focus-out\0".as_ptr() as *const _,
5852 Some(transmute::<_, unsafe extern "C" fn()>(
5853 key_focus_out_trampoline::<Self, F> as *const (),
5854 )),
5855 Box_::into_raw(f),
5856 )
5857 }
5858 }
5859
5860 fn connect_key_press_event<F: Fn(&Self, &KeyEvent) -> bool + 'static>(
5861 &self,
5862 f: F,
5863 ) -> SignalHandlerId {
5864 unsafe extern "C" fn key_press_event_trampoline<P, F: Fn(&P, &KeyEvent) -> bool + 'static>(
5865 this: *mut ffi::ClutterActor,
5866 event: *mut ffi::ClutterKeyEvent,
5867 f: glib_sys::gpointer,
5868 ) -> glib_sys::gboolean
5869 where
5870 P: IsA<Actor>,
5871 {
5872 let f: &F = &*(f as *const F);
5873 f(
5874 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5875 &from_glib_borrow(event),
5876 )
5877 .to_glib()
5878 }
5879 unsafe {
5880 let f: Box_<F> = Box_::new(f);
5881 connect_raw(
5882 self.as_ptr() as *mut _,
5883 b"key-press-event\0".as_ptr() as *const _,
5884 Some(transmute::<_, unsafe extern "C" fn()>(
5885 key_press_event_trampoline::<Self, F> as *const (),
5886 )),
5887 Box_::into_raw(f),
5888 )
5889 }
5890 }
5891
5892 fn connect_key_release_event<F: Fn(&Self, &KeyEvent) -> bool + 'static>(
5893 &self,
5894 f: F,
5895 ) -> SignalHandlerId {
5896 unsafe extern "C" fn key_release_event_trampoline<
5897 P,
5898 F: Fn(&P, &KeyEvent) -> bool + 'static,
5899 >(
5900 this: *mut ffi::ClutterActor,
5901 event: *mut ffi::ClutterKeyEvent,
5902 f: glib_sys::gpointer,
5903 ) -> glib_sys::gboolean
5904 where
5905 P: IsA<Actor>,
5906 {
5907 let f: &F = &*(f as *const F);
5908 f(
5909 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5910 &from_glib_borrow(event),
5911 )
5912 .to_glib()
5913 }
5914 unsafe {
5915 let f: Box_<F> = Box_::new(f);
5916 connect_raw(
5917 self.as_ptr() as *mut _,
5918 b"key-release-event\0".as_ptr() as *const _,
5919 Some(transmute::<_, unsafe extern "C" fn()>(
5920 key_release_event_trampoline::<Self, F> as *const (),
5921 )),
5922 Box_::into_raw(f),
5923 )
5924 }
5925 }
5926
5927 fn connect_leave_event<F: Fn(&Self, &CrossingEvent) -> bool + 'static>(
5928 &self,
5929 f: F,
5930 ) -> SignalHandlerId {
5931 unsafe extern "C" fn leave_event_trampoline<
5932 P,
5933 F: Fn(&P, &CrossingEvent) -> bool + 'static,
5934 >(
5935 this: *mut ffi::ClutterActor,
5936 event: *mut ffi::ClutterCrossingEvent,
5937 f: glib_sys::gpointer,
5938 ) -> glib_sys::gboolean
5939 where
5940 P: IsA<Actor>,
5941 {
5942 let f: &F = &*(f as *const F);
5943 f(
5944 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5945 &from_glib_borrow(event),
5946 )
5947 .to_glib()
5948 }
5949 unsafe {
5950 let f: Box_<F> = Box_::new(f);
5951 connect_raw(
5952 self.as_ptr() as *mut _,
5953 b"leave-event\0".as_ptr() as *const _,
5954 Some(transmute::<_, unsafe extern "C" fn()>(
5955 leave_event_trampoline::<Self, F> as *const (),
5956 )),
5957 Box_::into_raw(f),
5958 )
5959 }
5960 }
5961
5962 fn connect_motion_event<F: Fn(&Self, &MotionEvent) -> bool + 'static>(
5963 &self,
5964 f: F,
5965 ) -> SignalHandlerId {
5966 unsafe extern "C" fn motion_event_trampoline<P, F: Fn(&P, &MotionEvent) -> bool + 'static>(
5967 this: *mut ffi::ClutterActor,
5968 event: *mut ffi::ClutterMotionEvent,
5969 f: glib_sys::gpointer,
5970 ) -> glib_sys::gboolean
5971 where
5972 P: IsA<Actor>,
5973 {
5974 let f: &F = &*(f as *const F);
5975 f(
5976 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
5977 &from_glib_borrow(event),
5978 )
5979 .to_glib()
5980 }
5981 unsafe {
5982 let f: Box_<F> = Box_::new(f);
5983 connect_raw(
5984 self.as_ptr() as *mut _,
5985 b"motion-event\0".as_ptr() as *const _,
5986 Some(transmute::<_, unsafe extern "C" fn()>(
5987 motion_event_trampoline::<Self, F> as *const (),
5988 )),
5989 Box_::into_raw(f),
5990 )
5991 }
5992 }
5993
5994 fn connect_parent_set<F: Fn(&Self, Option<&Actor>) + 'static>(&self, f: F) -> SignalHandlerId {
5995 unsafe extern "C" fn parent_set_trampoline<P, F: Fn(&P, Option<&Actor>) + 'static>(
5996 this: *mut ffi::ClutterActor,
5997 old_parent: *mut ffi::ClutterActor,
5998 f: glib_sys::gpointer,
5999 ) where
6000 P: IsA<Actor>,
6001 {
6002 let f: &F = &*(f as *const F);
6003 f(
6004 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
6005 Option::<Actor>::from_glib_borrow(old_parent)
6006 .as_ref()
6007 .as_ref(),
6008 )
6009 }
6010 unsafe {
6011 let f: Box_<F> = Box_::new(f);
6012 connect_raw(
6013 self.as_ptr() as *mut _,
6014 b"parent-set\0".as_ptr() as *const _,
6015 Some(transmute::<_, unsafe extern "C" fn()>(
6016 parent_set_trampoline::<Self, F> as *const (),
6017 )),
6018 Box_::into_raw(f),
6019 )
6020 }
6021 }
6022
6023 fn connect_queue_redraw<F: Fn(&Self, &Actor) + 'static>(&self, f: F) -> SignalHandlerId {
6024 unsafe extern "C" fn queue_redraw_trampoline<P, F: Fn(&P, &Actor) + 'static>(
6025 this: *mut ffi::ClutterActor,
6026 origin: *mut ffi::ClutterActor,
6027 f: glib_sys::gpointer,
6028 ) where
6029 P: IsA<Actor>,
6030 {
6031 let f: &F = &*(f as *const F);
6032 f(
6033 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
6034 &from_glib_borrow(origin),
6035 )
6036 }
6037 unsafe {
6038 let f: Box_<F> = Box_::new(f);
6039 connect_raw(
6040 self.as_ptr() as *mut _,
6041 b"queue-redraw\0".as_ptr() as *const _,
6042 Some(transmute::<_, unsafe extern "C" fn()>(
6043 queue_redraw_trampoline::<Self, F> as *const (),
6044 )),
6045 Box_::into_raw(f),
6046 )
6047 }
6048 }
6049
6050 fn connect_queue_relayout<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6051 unsafe extern "C" fn queue_relayout_trampoline<P, F: Fn(&P) + 'static>(
6052 this: *mut ffi::ClutterActor,
6053 f: glib_sys::gpointer,
6054 ) where
6055 P: IsA<Actor>,
6056 {
6057 let f: &F = &*(f as *const F);
6058 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6059 }
6060 unsafe {
6061 let f: Box_<F> = Box_::new(f);
6062 connect_raw(
6063 self.as_ptr() as *mut _,
6064 b"queue-relayout\0".as_ptr() as *const _,
6065 Some(transmute::<_, unsafe extern "C" fn()>(
6066 queue_relayout_trampoline::<Self, F> as *const (),
6067 )),
6068 Box_::into_raw(f),
6069 )
6070 }
6071 }
6072
6073 fn connect_scroll_event<F: Fn(&Self, &ScrollEvent) -> bool + 'static>(
6074 &self,
6075 f: F,
6076 ) -> SignalHandlerId {
6077 unsafe extern "C" fn scroll_event_trampoline<P, F: Fn(&P, &ScrollEvent) -> bool + 'static>(
6078 this: *mut ffi::ClutterActor,
6079 event: *mut ffi::ClutterScrollEvent,
6080 f: glib_sys::gpointer,
6081 ) -> glib_sys::gboolean
6082 where
6083 P: IsA<Actor>,
6084 {
6085 let f: &F = &*(f as *const F);
6086 f(
6087 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
6088 &from_glib_borrow(event),
6089 )
6090 .to_glib()
6091 }
6092 unsafe {
6093 let f: Box_<F> = Box_::new(f);
6094 connect_raw(
6095 self.as_ptr() as *mut _,
6096 b"scroll-event\0".as_ptr() as *const _,
6097 Some(transmute::<_, unsafe extern "C" fn()>(
6098 scroll_event_trampoline::<Self, F> as *const (),
6099 )),
6100 Box_::into_raw(f),
6101 )
6102 }
6103 }
6104
6105 fn connect_show<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6106 unsafe extern "C" fn show_trampoline<P, F: Fn(&P) + 'static>(
6107 this: *mut ffi::ClutterActor,
6108 f: glib_sys::gpointer,
6109 ) where
6110 P: IsA<Actor>,
6111 {
6112 let f: &F = &*(f as *const F);
6113 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6114 }
6115 unsafe {
6116 let f: Box_<F> = Box_::new(f);
6117 connect_raw(
6118 self.as_ptr() as *mut _,
6119 b"show\0".as_ptr() as *const _,
6120 Some(transmute::<_, unsafe extern "C" fn()>(
6121 show_trampoline::<Self, F> as *const (),
6122 )),
6123 Box_::into_raw(f),
6124 )
6125 }
6126 }
6127
6128 fn connect_touch_event<F: Fn(&Self, &Event) -> bool + 'static>(&self, f: F) -> SignalHandlerId {
6129 unsafe extern "C" fn touch_event_trampoline<P, F: Fn(&P, &Event) -> bool + 'static>(
6130 this: *mut ffi::ClutterActor,
6131 event: *mut ffi::ClutterEvent,
6132 f: glib_sys::gpointer,
6133 ) -> glib_sys::gboolean
6134 where
6135 P: IsA<Actor>,
6136 {
6137 let f: &F = &*(f as *const F);
6138 f(
6139 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
6140 &from_glib_none(event),
6141 )
6142 .to_glib()
6143 }
6144 unsafe {
6145 let f: Box_<F> = Box_::new(f);
6146 connect_raw(
6147 self.as_ptr() as *mut _,
6148 b"touch-event\0".as_ptr() as *const _,
6149 Some(transmute::<_, unsafe extern "C" fn()>(
6150 touch_event_trampoline::<Self, F> as *const (),
6151 )),
6152 Box_::into_raw(f),
6153 )
6154 }
6155 }
6156
6157 fn connect_transition_stopped<F: Fn(&Self, &str, bool) + 'static>(
6158 &self,
6159 f: F,
6160 ) -> SignalHandlerId {
6161 unsafe extern "C" fn transition_stopped_trampoline<P, F: Fn(&P, &str, bool) + 'static>(
6162 this: *mut ffi::ClutterActor,
6163 name: *mut libc::c_char,
6164 is_finished: glib_sys::gboolean,
6165 f: glib_sys::gpointer,
6166 ) where
6167 P: IsA<Actor>,
6168 {
6169 let f: &F = &*(f as *const F);
6170 f(
6171 &Actor::from_glib_borrow(this).unsafe_cast_ref(),
6172 &GString::from_glib_borrow(name),
6173 from_glib(is_finished),
6174 )
6175 }
6176 unsafe {
6177 let f: Box_<F> = Box_::new(f);
6178 connect_raw(
6179 self.as_ptr() as *mut _,
6180 b"transition-stopped\0".as_ptr() as *const _,
6181 Some(transmute::<_, unsafe extern "C" fn()>(
6182 transition_stopped_trampoline::<Self, F> as *const (),
6183 )),
6184 Box_::into_raw(f),
6185 )
6186 }
6187 }
6188
6189 fn connect_transitions_completed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6190 unsafe extern "C" fn transitions_completed_trampoline<P, F: Fn(&P) + 'static>(
6191 this: *mut ffi::ClutterActor,
6192 f: glib_sys::gpointer,
6193 ) where
6194 P: IsA<Actor>,
6195 {
6196 let f: &F = &*(f as *const F);
6197 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6198 }
6199 unsafe {
6200 let f: Box_<F> = Box_::new(f);
6201 connect_raw(
6202 self.as_ptr() as *mut _,
6203 b"transitions-completed\0".as_ptr() as *const _,
6204 Some(transmute::<_, unsafe extern "C" fn()>(
6205 transitions_completed_trampoline::<Self, F> as *const (),
6206 )),
6207 Box_::into_raw(f),
6208 )
6209 }
6210 }
6211
6212 fn connect_property_actions_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6213 unsafe extern "C" fn notify_actions_trampoline<P, F: Fn(&P) + 'static>(
6214 this: *mut ffi::ClutterActor,
6215 _param_spec: glib_sys::gpointer,
6216 f: glib_sys::gpointer,
6217 ) where
6218 P: IsA<Actor>,
6219 {
6220 let f: &F = &*(f as *const F);
6221 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6222 }
6223 unsafe {
6224 let f: Box_<F> = Box_::new(f);
6225 connect_raw(
6226 self.as_ptr() as *mut _,
6227 b"notify::actions\0".as_ptr() as *const _,
6228 Some(transmute::<_, unsafe extern "C" fn()>(
6229 notify_actions_trampoline::<Self, F> as *const (),
6230 )),
6231 Box_::into_raw(f),
6232 )
6233 }
6234 }
6235
6236 fn connect_property_allocation_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6237 unsafe extern "C" fn notify_allocation_trampoline<P, F: Fn(&P) + 'static>(
6238 this: *mut ffi::ClutterActor,
6239 _param_spec: glib_sys::gpointer,
6240 f: glib_sys::gpointer,
6241 ) where
6242 P: IsA<Actor>,
6243 {
6244 let f: &F = &*(f as *const F);
6245 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6246 }
6247 unsafe {
6248 let f: Box_<F> = Box_::new(f);
6249 connect_raw(
6250 self.as_ptr() as *mut _,
6251 b"notify::allocation\0".as_ptr() as *const _,
6252 Some(transmute::<_, unsafe extern "C" fn()>(
6253 notify_allocation_trampoline::<Self, F> as *const (),
6254 )),
6255 Box_::into_raw(f),
6256 )
6257 }
6258 }
6259
6260 fn connect_property_background_color_notify<F: Fn(&Self) + 'static>(
6261 &self,
6262 f: F,
6263 ) -> SignalHandlerId {
6264 unsafe extern "C" fn notify_background_color_trampoline<P, F: Fn(&P) + 'static>(
6265 this: *mut ffi::ClutterActor,
6266 _param_spec: glib_sys::gpointer,
6267 f: glib_sys::gpointer,
6268 ) where
6269 P: IsA<Actor>,
6270 {
6271 let f: &F = &*(f as *const F);
6272 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6273 }
6274 unsafe {
6275 let f: Box_<F> = Box_::new(f);
6276 connect_raw(
6277 self.as_ptr() as *mut _,
6278 b"notify::background-color\0".as_ptr() as *const _,
6279 Some(transmute::<_, unsafe extern "C" fn()>(
6280 notify_background_color_trampoline::<Self, F> as *const (),
6281 )),
6282 Box_::into_raw(f),
6283 )
6284 }
6285 }
6286
6287 fn connect_property_background_color_set_notify<F: Fn(&Self) + 'static>(
6288 &self,
6289 f: F,
6290 ) -> SignalHandlerId {
6291 unsafe extern "C" fn notify_background_color_set_trampoline<P, F: Fn(&P) + 'static>(
6292 this: *mut ffi::ClutterActor,
6293 _param_spec: glib_sys::gpointer,
6294 f: glib_sys::gpointer,
6295 ) where
6296 P: IsA<Actor>,
6297 {
6298 let f: &F = &*(f as *const F);
6299 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6300 }
6301 unsafe {
6302 let f: Box_<F> = Box_::new(f);
6303 connect_raw(
6304 self.as_ptr() as *mut _,
6305 b"notify::background-color-set\0".as_ptr() as *const _,
6306 Some(transmute::<_, unsafe extern "C" fn()>(
6307 notify_background_color_set_trampoline::<Self, F> as *const (),
6308 )),
6309 Box_::into_raw(f),
6310 )
6311 }
6312 }
6313
6314 fn connect_property_child_transform_notify<F: Fn(&Self) + 'static>(
6315 &self,
6316 f: F,
6317 ) -> SignalHandlerId {
6318 unsafe extern "C" fn notify_child_transform_trampoline<P, F: Fn(&P) + 'static>(
6319 this: *mut ffi::ClutterActor,
6320 _param_spec: glib_sys::gpointer,
6321 f: glib_sys::gpointer,
6322 ) where
6323 P: IsA<Actor>,
6324 {
6325 let f: &F = &*(f as *const F);
6326 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6327 }
6328 unsafe {
6329 let f: Box_<F> = Box_::new(f);
6330 connect_raw(
6331 self.as_ptr() as *mut _,
6332 b"notify::child-transform\0".as_ptr() as *const _,
6333 Some(transmute::<_, unsafe extern "C" fn()>(
6334 notify_child_transform_trampoline::<Self, F> as *const (),
6335 )),
6336 Box_::into_raw(f),
6337 )
6338 }
6339 }
6340
6341 fn connect_property_child_transform_set_notify<F: Fn(&Self) + 'static>(
6342 &self,
6343 f: F,
6344 ) -> SignalHandlerId {
6345 unsafe extern "C" fn notify_child_transform_set_trampoline<P, F: Fn(&P) + 'static>(
6346 this: *mut ffi::ClutterActor,
6347 _param_spec: glib_sys::gpointer,
6348 f: glib_sys::gpointer,
6349 ) where
6350 P: IsA<Actor>,
6351 {
6352 let f: &F = &*(f as *const F);
6353 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6354 }
6355 unsafe {
6356 let f: Box_<F> = Box_::new(f);
6357 connect_raw(
6358 self.as_ptr() as *mut _,
6359 b"notify::child-transform-set\0".as_ptr() as *const _,
6360 Some(transmute::<_, unsafe extern "C" fn()>(
6361 notify_child_transform_set_trampoline::<Self, F> as *const (),
6362 )),
6363 Box_::into_raw(f),
6364 )
6365 }
6366 }
6367
6368 fn connect_property_clip_rect_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6369 unsafe extern "C" fn notify_clip_rect_trampoline<P, F: Fn(&P) + 'static>(
6370 this: *mut ffi::ClutterActor,
6371 _param_spec: glib_sys::gpointer,
6372 f: glib_sys::gpointer,
6373 ) where
6374 P: IsA<Actor>,
6375 {
6376 let f: &F = &*(f as *const F);
6377 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6378 }
6379 unsafe {
6380 let f: Box_<F> = Box_::new(f);
6381 connect_raw(
6382 self.as_ptr() as *mut _,
6383 b"notify::clip-rect\0".as_ptr() as *const _,
6384 Some(transmute::<_, unsafe extern "C" fn()>(
6385 notify_clip_rect_trampoline::<Self, F> as *const (),
6386 )),
6387 Box_::into_raw(f),
6388 )
6389 }
6390 }
6391
6392 fn connect_property_clip_to_allocation_notify<F: Fn(&Self) + 'static>(
6393 &self,
6394 f: F,
6395 ) -> SignalHandlerId {
6396 unsafe extern "C" fn notify_clip_to_allocation_trampoline<P, F: Fn(&P) + 'static>(
6397 this: *mut ffi::ClutterActor,
6398 _param_spec: glib_sys::gpointer,
6399 f: glib_sys::gpointer,
6400 ) where
6401 P: IsA<Actor>,
6402 {
6403 let f: &F = &*(f as *const F);
6404 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6405 }
6406 unsafe {
6407 let f: Box_<F> = Box_::new(f);
6408 connect_raw(
6409 self.as_ptr() as *mut _,
6410 b"notify::clip-to-allocation\0".as_ptr() as *const _,
6411 Some(transmute::<_, unsafe extern "C" fn()>(
6412 notify_clip_to_allocation_trampoline::<Self, F> as *const (),
6413 )),
6414 Box_::into_raw(f),
6415 )
6416 }
6417 }
6418
6419 fn connect_property_constraints_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6420 unsafe extern "C" fn notify_constraints_trampoline<P, F: Fn(&P) + 'static>(
6421 this: *mut ffi::ClutterActor,
6422 _param_spec: glib_sys::gpointer,
6423 f: glib_sys::gpointer,
6424 ) where
6425 P: IsA<Actor>,
6426 {
6427 let f: &F = &*(f as *const F);
6428 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6429 }
6430 unsafe {
6431 let f: Box_<F> = Box_::new(f);
6432 connect_raw(
6433 self.as_ptr() as *mut _,
6434 b"notify::constraints\0".as_ptr() as *const _,
6435 Some(transmute::<_, unsafe extern "C" fn()>(
6436 notify_constraints_trampoline::<Self, F> as *const (),
6437 )),
6438 Box_::into_raw(f),
6439 )
6440 }
6441 }
6442
6443 fn connect_property_content_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6444 unsafe extern "C" fn notify_content_trampoline<P, F: Fn(&P) + 'static>(
6445 this: *mut ffi::ClutterActor,
6446 _param_spec: glib_sys::gpointer,
6447 f: glib_sys::gpointer,
6448 ) where
6449 P: IsA<Actor>,
6450 {
6451 let f: &F = &*(f as *const F);
6452 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6453 }
6454 unsafe {
6455 let f: Box_<F> = Box_::new(f);
6456 connect_raw(
6457 self.as_ptr() as *mut _,
6458 b"notify::content\0".as_ptr() as *const _,
6459 Some(transmute::<_, unsafe extern "C" fn()>(
6460 notify_content_trampoline::<Self, F> as *const (),
6461 )),
6462 Box_::into_raw(f),
6463 )
6464 }
6465 }
6466
6467 fn connect_property_content_box_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6468 unsafe extern "C" fn notify_content_box_trampoline<P, F: Fn(&P) + 'static>(
6469 this: *mut ffi::ClutterActor,
6470 _param_spec: glib_sys::gpointer,
6471 f: glib_sys::gpointer,
6472 ) where
6473 P: IsA<Actor>,
6474 {
6475 let f: &F = &*(f as *const F);
6476 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6477 }
6478 unsafe {
6479 let f: Box_<F> = Box_::new(f);
6480 connect_raw(
6481 self.as_ptr() as *mut _,
6482 b"notify::content-box\0".as_ptr() as *const _,
6483 Some(transmute::<_, unsafe extern "C" fn()>(
6484 notify_content_box_trampoline::<Self, F> as *const (),
6485 )),
6486 Box_::into_raw(f),
6487 )
6488 }
6489 }
6490
6491 fn connect_property_content_gravity_notify<F: Fn(&Self) + 'static>(
6492 &self,
6493 f: F,
6494 ) -> SignalHandlerId {
6495 unsafe extern "C" fn notify_content_gravity_trampoline<P, F: Fn(&P) + 'static>(
6496 this: *mut ffi::ClutterActor,
6497 _param_spec: glib_sys::gpointer,
6498 f: glib_sys::gpointer,
6499 ) where
6500 P: IsA<Actor>,
6501 {
6502 let f: &F = &*(f as *const F);
6503 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6504 }
6505 unsafe {
6506 let f: Box_<F> = Box_::new(f);
6507 connect_raw(
6508 self.as_ptr() as *mut _,
6509 b"notify::content-gravity\0".as_ptr() as *const _,
6510 Some(transmute::<_, unsafe extern "C" fn()>(
6511 notify_content_gravity_trampoline::<Self, F> as *const (),
6512 )),
6513 Box_::into_raw(f),
6514 )
6515 }
6516 }
6517
6518 fn connect_property_content_repeat_notify<F: Fn(&Self) + 'static>(
6519 &self,
6520 f: F,
6521 ) -> SignalHandlerId {
6522 unsafe extern "C" fn notify_content_repeat_trampoline<P, F: Fn(&P) + 'static>(
6523 this: *mut ffi::ClutterActor,
6524 _param_spec: glib_sys::gpointer,
6525 f: glib_sys::gpointer,
6526 ) where
6527 P: IsA<Actor>,
6528 {
6529 let f: &F = &*(f as *const F);
6530 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6531 }
6532 unsafe {
6533 let f: Box_<F> = Box_::new(f);
6534 connect_raw(
6535 self.as_ptr() as *mut _,
6536 b"notify::content-repeat\0".as_ptr() as *const _,
6537 Some(transmute::<_, unsafe extern "C" fn()>(
6538 notify_content_repeat_trampoline::<Self, F> as *const (),
6539 )),
6540 Box_::into_raw(f),
6541 )
6542 }
6543 }
6544
6545 fn connect_property_effect_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6546 unsafe extern "C" fn notify_effect_trampoline<P, F: Fn(&P) + 'static>(
6547 this: *mut ffi::ClutterActor,
6548 _param_spec: glib_sys::gpointer,
6549 f: glib_sys::gpointer,
6550 ) where
6551 P: IsA<Actor>,
6552 {
6553 let f: &F = &*(f as *const F);
6554 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6555 }
6556 unsafe {
6557 let f: Box_<F> = Box_::new(f);
6558 connect_raw(
6559 self.as_ptr() as *mut _,
6560 b"notify::effect\0".as_ptr() as *const _,
6561 Some(transmute::<_, unsafe extern "C" fn()>(
6562 notify_effect_trampoline::<Self, F> as *const (),
6563 )),
6564 Box_::into_raw(f),
6565 )
6566 }
6567 }
6568
6569 fn connect_property_first_child_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6570 unsafe extern "C" fn notify_first_child_trampoline<P, F: Fn(&P) + 'static>(
6571 this: *mut ffi::ClutterActor,
6572 _param_spec: glib_sys::gpointer,
6573 f: glib_sys::gpointer,
6574 ) where
6575 P: IsA<Actor>,
6576 {
6577 let f: &F = &*(f as *const F);
6578 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6579 }
6580 unsafe {
6581 let f: Box_<F> = Box_::new(f);
6582 connect_raw(
6583 self.as_ptr() as *mut _,
6584 b"notify::first-child\0".as_ptr() as *const _,
6585 Some(transmute::<_, unsafe extern "C" fn()>(
6586 notify_first_child_trampoline::<Self, F> as *const (),
6587 )),
6588 Box_::into_raw(f),
6589 )
6590 }
6591 }
6592
6593 fn connect_property_fixed_position_set_notify<F: Fn(&Self) + 'static>(
6594 &self,
6595 f: F,
6596 ) -> SignalHandlerId {
6597 unsafe extern "C" fn notify_fixed_position_set_trampoline<P, F: Fn(&P) + 'static>(
6598 this: *mut ffi::ClutterActor,
6599 _param_spec: glib_sys::gpointer,
6600 f: glib_sys::gpointer,
6601 ) where
6602 P: IsA<Actor>,
6603 {
6604 let f: &F = &*(f as *const F);
6605 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6606 }
6607 unsafe {
6608 let f: Box_<F> = Box_::new(f);
6609 connect_raw(
6610 self.as_ptr() as *mut _,
6611 b"notify::fixed-position-set\0".as_ptr() as *const _,
6612 Some(transmute::<_, unsafe extern "C" fn()>(
6613 notify_fixed_position_set_trampoline::<Self, F> as *const (),
6614 )),
6615 Box_::into_raw(f),
6616 )
6617 }
6618 }
6619
6620 fn connect_property_fixed_x_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6621 unsafe extern "C" fn notify_fixed_x_trampoline<P, F: Fn(&P) + 'static>(
6622 this: *mut ffi::ClutterActor,
6623 _param_spec: glib_sys::gpointer,
6624 f: glib_sys::gpointer,
6625 ) where
6626 P: IsA<Actor>,
6627 {
6628 let f: &F = &*(f as *const F);
6629 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6630 }
6631 unsafe {
6632 let f: Box_<F> = Box_::new(f);
6633 connect_raw(
6634 self.as_ptr() as *mut _,
6635 b"notify::fixed-x\0".as_ptr() as *const _,
6636 Some(transmute::<_, unsafe extern "C" fn()>(
6637 notify_fixed_x_trampoline::<Self, F> as *const (),
6638 )),
6639 Box_::into_raw(f),
6640 )
6641 }
6642 }
6643
6644 fn connect_property_fixed_y_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6645 unsafe extern "C" fn notify_fixed_y_trampoline<P, F: Fn(&P) + 'static>(
6646 this: *mut ffi::ClutterActor,
6647 _param_spec: glib_sys::gpointer,
6648 f: glib_sys::gpointer,
6649 ) where
6650 P: IsA<Actor>,
6651 {
6652 let f: &F = &*(f as *const F);
6653 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6654 }
6655 unsafe {
6656 let f: Box_<F> = Box_::new(f);
6657 connect_raw(
6658 self.as_ptr() as *mut _,
6659 b"notify::fixed-y\0".as_ptr() as *const _,
6660 Some(transmute::<_, unsafe extern "C" fn()>(
6661 notify_fixed_y_trampoline::<Self, F> as *const (),
6662 )),
6663 Box_::into_raw(f),
6664 )
6665 }
6666 }
6667
6668 fn connect_property_has_clip_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6669 unsafe extern "C" fn notify_has_clip_trampoline<P, F: Fn(&P) + 'static>(
6670 this: *mut ffi::ClutterActor,
6671 _param_spec: glib_sys::gpointer,
6672 f: glib_sys::gpointer,
6673 ) where
6674 P: IsA<Actor>,
6675 {
6676 let f: &F = &*(f as *const F);
6677 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6678 }
6679 unsafe {
6680 let f: Box_<F> = Box_::new(f);
6681 connect_raw(
6682 self.as_ptr() as *mut _,
6683 b"notify::has-clip\0".as_ptr() as *const _,
6684 Some(transmute::<_, unsafe extern "C" fn()>(
6685 notify_has_clip_trampoline::<Self, F> as *const (),
6686 )),
6687 Box_::into_raw(f),
6688 )
6689 }
6690 }
6691
6692 fn connect_property_has_pointer_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6693 unsafe extern "C" fn notify_has_pointer_trampoline<P, F: Fn(&P) + 'static>(
6694 this: *mut ffi::ClutterActor,
6695 _param_spec: glib_sys::gpointer,
6696 f: glib_sys::gpointer,
6697 ) where
6698 P: IsA<Actor>,
6699 {
6700 let f: &F = &*(f as *const F);
6701 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6702 }
6703 unsafe {
6704 let f: Box_<F> = Box_::new(f);
6705 connect_raw(
6706 self.as_ptr() as *mut _,
6707 b"notify::has-pointer\0".as_ptr() as *const _,
6708 Some(transmute::<_, unsafe extern "C" fn()>(
6709 notify_has_pointer_trampoline::<Self, F> as *const (),
6710 )),
6711 Box_::into_raw(f),
6712 )
6713 }
6714 }
6715
6716 fn connect_property_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6717 unsafe extern "C" fn notify_height_trampoline<P, F: Fn(&P) + 'static>(
6718 this: *mut ffi::ClutterActor,
6719 _param_spec: glib_sys::gpointer,
6720 f: glib_sys::gpointer,
6721 ) where
6722 P: IsA<Actor>,
6723 {
6724 let f: &F = &*(f as *const F);
6725 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6726 }
6727 unsafe {
6728 let f: Box_<F> = Box_::new(f);
6729 connect_raw(
6730 self.as_ptr() as *mut _,
6731 b"notify::height\0".as_ptr() as *const _,
6732 Some(transmute::<_, unsafe extern "C" fn()>(
6733 notify_height_trampoline::<Self, F> as *const (),
6734 )),
6735 Box_::into_raw(f),
6736 )
6737 }
6738 }
6739
6740 fn connect_property_last_child_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6741 unsafe extern "C" fn notify_last_child_trampoline<P, F: Fn(&P) + 'static>(
6742 this: *mut ffi::ClutterActor,
6743 _param_spec: glib_sys::gpointer,
6744 f: glib_sys::gpointer,
6745 ) where
6746 P: IsA<Actor>,
6747 {
6748 let f: &F = &*(f as *const F);
6749 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6750 }
6751 unsafe {
6752 let f: Box_<F> = Box_::new(f);
6753 connect_raw(
6754 self.as_ptr() as *mut _,
6755 b"notify::last-child\0".as_ptr() as *const _,
6756 Some(transmute::<_, unsafe extern "C" fn()>(
6757 notify_last_child_trampoline::<Self, F> as *const (),
6758 )),
6759 Box_::into_raw(f),
6760 )
6761 }
6762 }
6763
6764 fn connect_property_layout_manager_notify<F: Fn(&Self) + 'static>(
6765 &self,
6766 f: F,
6767 ) -> SignalHandlerId {
6768 unsafe extern "C" fn notify_layout_manager_trampoline<P, F: Fn(&P) + 'static>(
6769 this: *mut ffi::ClutterActor,
6770 _param_spec: glib_sys::gpointer,
6771 f: glib_sys::gpointer,
6772 ) where
6773 P: IsA<Actor>,
6774 {
6775 let f: &F = &*(f as *const F);
6776 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6777 }
6778 unsafe {
6779 let f: Box_<F> = Box_::new(f);
6780 connect_raw(
6781 self.as_ptr() as *mut _,
6782 b"notify::layout-manager\0".as_ptr() as *const _,
6783 Some(transmute::<_, unsafe extern "C" fn()>(
6784 notify_layout_manager_trampoline::<Self, F> as *const (),
6785 )),
6786 Box_::into_raw(f),
6787 )
6788 }
6789 }
6790
6791 fn connect_property_magnification_filter_notify<F: Fn(&Self) + 'static>(
6792 &self,
6793 f: F,
6794 ) -> SignalHandlerId {
6795 unsafe extern "C" fn notify_magnification_filter_trampoline<P, F: Fn(&P) + 'static>(
6796 this: *mut ffi::ClutterActor,
6797 _param_spec: glib_sys::gpointer,
6798 f: glib_sys::gpointer,
6799 ) where
6800 P: IsA<Actor>,
6801 {
6802 let f: &F = &*(f as *const F);
6803 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6804 }
6805 unsafe {
6806 let f: Box_<F> = Box_::new(f);
6807 connect_raw(
6808 self.as_ptr() as *mut _,
6809 b"notify::magnification-filter\0".as_ptr() as *const _,
6810 Some(transmute::<_, unsafe extern "C" fn()>(
6811 notify_magnification_filter_trampoline::<Self, F> as *const (),
6812 )),
6813 Box_::into_raw(f),
6814 )
6815 }
6816 }
6817
6818 fn connect_property_mapped_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6819 unsafe extern "C" fn notify_mapped_trampoline<P, F: Fn(&P) + 'static>(
6820 this: *mut ffi::ClutterActor,
6821 _param_spec: glib_sys::gpointer,
6822 f: glib_sys::gpointer,
6823 ) where
6824 P: IsA<Actor>,
6825 {
6826 let f: &F = &*(f as *const F);
6827 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6828 }
6829 unsafe {
6830 let f: Box_<F> = Box_::new(f);
6831 connect_raw(
6832 self.as_ptr() as *mut _,
6833 b"notify::mapped\0".as_ptr() as *const _,
6834 Some(transmute::<_, unsafe extern "C" fn()>(
6835 notify_mapped_trampoline::<Self, F> as *const (),
6836 )),
6837 Box_::into_raw(f),
6838 )
6839 }
6840 }
6841
6842 fn connect_property_margin_bottom_notify<F: Fn(&Self) + 'static>(
6843 &self,
6844 f: F,
6845 ) -> SignalHandlerId {
6846 unsafe extern "C" fn notify_margin_bottom_trampoline<P, F: Fn(&P) + 'static>(
6847 this: *mut ffi::ClutterActor,
6848 _param_spec: glib_sys::gpointer,
6849 f: glib_sys::gpointer,
6850 ) where
6851 P: IsA<Actor>,
6852 {
6853 let f: &F = &*(f as *const F);
6854 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6855 }
6856 unsafe {
6857 let f: Box_<F> = Box_::new(f);
6858 connect_raw(
6859 self.as_ptr() as *mut _,
6860 b"notify::margin-bottom\0".as_ptr() as *const _,
6861 Some(transmute::<_, unsafe extern "C" fn()>(
6862 notify_margin_bottom_trampoline::<Self, F> as *const (),
6863 )),
6864 Box_::into_raw(f),
6865 )
6866 }
6867 }
6868
6869 fn connect_property_margin_left_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6870 unsafe extern "C" fn notify_margin_left_trampoline<P, F: Fn(&P) + 'static>(
6871 this: *mut ffi::ClutterActor,
6872 _param_spec: glib_sys::gpointer,
6873 f: glib_sys::gpointer,
6874 ) where
6875 P: IsA<Actor>,
6876 {
6877 let f: &F = &*(f as *const F);
6878 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6879 }
6880 unsafe {
6881 let f: Box_<F> = Box_::new(f);
6882 connect_raw(
6883 self.as_ptr() as *mut _,
6884 b"notify::margin-left\0".as_ptr() as *const _,
6885 Some(transmute::<_, unsafe extern "C" fn()>(
6886 notify_margin_left_trampoline::<Self, F> as *const (),
6887 )),
6888 Box_::into_raw(f),
6889 )
6890 }
6891 }
6892
6893 fn connect_property_margin_right_notify<F: Fn(&Self) + 'static>(
6894 &self,
6895 f: F,
6896 ) -> SignalHandlerId {
6897 unsafe extern "C" fn notify_margin_right_trampoline<P, F: Fn(&P) + 'static>(
6898 this: *mut ffi::ClutterActor,
6899 _param_spec: glib_sys::gpointer,
6900 f: glib_sys::gpointer,
6901 ) where
6902 P: IsA<Actor>,
6903 {
6904 let f: &F = &*(f as *const F);
6905 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6906 }
6907 unsafe {
6908 let f: Box_<F> = Box_::new(f);
6909 connect_raw(
6910 self.as_ptr() as *mut _,
6911 b"notify::margin-right\0".as_ptr() as *const _,
6912 Some(transmute::<_, unsafe extern "C" fn()>(
6913 notify_margin_right_trampoline::<Self, F> as *const (),
6914 )),
6915 Box_::into_raw(f),
6916 )
6917 }
6918 }
6919
6920 fn connect_property_margin_top_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6921 unsafe extern "C" fn notify_margin_top_trampoline<P, F: Fn(&P) + 'static>(
6922 this: *mut ffi::ClutterActor,
6923 _param_spec: glib_sys::gpointer,
6924 f: glib_sys::gpointer,
6925 ) where
6926 P: IsA<Actor>,
6927 {
6928 let f: &F = &*(f as *const F);
6929 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6930 }
6931 unsafe {
6932 let f: Box_<F> = Box_::new(f);
6933 connect_raw(
6934 self.as_ptr() as *mut _,
6935 b"notify::margin-top\0".as_ptr() as *const _,
6936 Some(transmute::<_, unsafe extern "C" fn()>(
6937 notify_margin_top_trampoline::<Self, F> as *const (),
6938 )),
6939 Box_::into_raw(f),
6940 )
6941 }
6942 }
6943
6944 fn connect_property_min_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6945 unsafe extern "C" fn notify_min_height_trampoline<P, F: Fn(&P) + 'static>(
6946 this: *mut ffi::ClutterActor,
6947 _param_spec: glib_sys::gpointer,
6948 f: glib_sys::gpointer,
6949 ) where
6950 P: IsA<Actor>,
6951 {
6952 let f: &F = &*(f as *const F);
6953 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6954 }
6955 unsafe {
6956 let f: Box_<F> = Box_::new(f);
6957 connect_raw(
6958 self.as_ptr() as *mut _,
6959 b"notify::min-height\0".as_ptr() as *const _,
6960 Some(transmute::<_, unsafe extern "C" fn()>(
6961 notify_min_height_trampoline::<Self, F> as *const (),
6962 )),
6963 Box_::into_raw(f),
6964 )
6965 }
6966 }
6967
6968 fn connect_property_min_height_set_notify<F: Fn(&Self) + 'static>(
6969 &self,
6970 f: F,
6971 ) -> SignalHandlerId {
6972 unsafe extern "C" fn notify_min_height_set_trampoline<P, F: Fn(&P) + 'static>(
6973 this: *mut ffi::ClutterActor,
6974 _param_spec: glib_sys::gpointer,
6975 f: glib_sys::gpointer,
6976 ) where
6977 P: IsA<Actor>,
6978 {
6979 let f: &F = &*(f as *const F);
6980 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
6981 }
6982 unsafe {
6983 let f: Box_<F> = Box_::new(f);
6984 connect_raw(
6985 self.as_ptr() as *mut _,
6986 b"notify::min-height-set\0".as_ptr() as *const _,
6987 Some(transmute::<_, unsafe extern "C" fn()>(
6988 notify_min_height_set_trampoline::<Self, F> as *const (),
6989 )),
6990 Box_::into_raw(f),
6991 )
6992 }
6993 }
6994
6995 fn connect_property_min_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
6996 unsafe extern "C" fn notify_min_width_trampoline<P, F: Fn(&P) + 'static>(
6997 this: *mut ffi::ClutterActor,
6998 _param_spec: glib_sys::gpointer,
6999 f: glib_sys::gpointer,
7000 ) where
7001 P: IsA<Actor>,
7002 {
7003 let f: &F = &*(f as *const F);
7004 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7005 }
7006 unsafe {
7007 let f: Box_<F> = Box_::new(f);
7008 connect_raw(
7009 self.as_ptr() as *mut _,
7010 b"notify::min-width\0".as_ptr() as *const _,
7011 Some(transmute::<_, unsafe extern "C" fn()>(
7012 notify_min_width_trampoline::<Self, F> as *const (),
7013 )),
7014 Box_::into_raw(f),
7015 )
7016 }
7017 }
7018
7019 fn connect_property_min_width_set_notify<F: Fn(&Self) + 'static>(
7020 &self,
7021 f: F,
7022 ) -> SignalHandlerId {
7023 unsafe extern "C" fn notify_min_width_set_trampoline<P, F: Fn(&P) + 'static>(
7024 this: *mut ffi::ClutterActor,
7025 _param_spec: glib_sys::gpointer,
7026 f: glib_sys::gpointer,
7027 ) where
7028 P: IsA<Actor>,
7029 {
7030 let f: &F = &*(f as *const F);
7031 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7032 }
7033 unsafe {
7034 let f: Box_<F> = Box_::new(f);
7035 connect_raw(
7036 self.as_ptr() as *mut _,
7037 b"notify::min-width-set\0".as_ptr() as *const _,
7038 Some(transmute::<_, unsafe extern "C" fn()>(
7039 notify_min_width_set_trampoline::<Self, F> as *const (),
7040 )),
7041 Box_::into_raw(f),
7042 )
7043 }
7044 }
7045
7046 fn connect_property_minification_filter_notify<F: Fn(&Self) + 'static>(
7047 &self,
7048 f: F,
7049 ) -> SignalHandlerId {
7050 unsafe extern "C" fn notify_minification_filter_trampoline<P, F: Fn(&P) + 'static>(
7051 this: *mut ffi::ClutterActor,
7052 _param_spec: glib_sys::gpointer,
7053 f: glib_sys::gpointer,
7054 ) where
7055 P: IsA<Actor>,
7056 {
7057 let f: &F = &*(f as *const F);
7058 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7059 }
7060 unsafe {
7061 let f: Box_<F> = Box_::new(f);
7062 connect_raw(
7063 self.as_ptr() as *mut _,
7064 b"notify::minification-filter\0".as_ptr() as *const _,
7065 Some(transmute::<_, unsafe extern "C" fn()>(
7066 notify_minification_filter_trampoline::<Self, F> as *const (),
7067 )),
7068 Box_::into_raw(f),
7069 )
7070 }
7071 }
7072
7073 fn connect_property_name_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7074 unsafe extern "C" fn notify_name_trampoline<P, F: Fn(&P) + 'static>(
7075 this: *mut ffi::ClutterActor,
7076 _param_spec: glib_sys::gpointer,
7077 f: glib_sys::gpointer,
7078 ) where
7079 P: IsA<Actor>,
7080 {
7081 let f: &F = &*(f as *const F);
7082 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7083 }
7084 unsafe {
7085 let f: Box_<F> = Box_::new(f);
7086 connect_raw(
7087 self.as_ptr() as *mut _,
7088 b"notify::name\0".as_ptr() as *const _,
7089 Some(transmute::<_, unsafe extern "C" fn()>(
7090 notify_name_trampoline::<Self, F> as *const (),
7091 )),
7092 Box_::into_raw(f),
7093 )
7094 }
7095 }
7096
7097 fn connect_property_natural_height_notify<F: Fn(&Self) + 'static>(
7098 &self,
7099 f: F,
7100 ) -> SignalHandlerId {
7101 unsafe extern "C" fn notify_natural_height_trampoline<P, F: Fn(&P) + 'static>(
7102 this: *mut ffi::ClutterActor,
7103 _param_spec: glib_sys::gpointer,
7104 f: glib_sys::gpointer,
7105 ) where
7106 P: IsA<Actor>,
7107 {
7108 let f: &F = &*(f as *const F);
7109 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7110 }
7111 unsafe {
7112 let f: Box_<F> = Box_::new(f);
7113 connect_raw(
7114 self.as_ptr() as *mut _,
7115 b"notify::natural-height\0".as_ptr() as *const _,
7116 Some(transmute::<_, unsafe extern "C" fn()>(
7117 notify_natural_height_trampoline::<Self, F> as *const (),
7118 )),
7119 Box_::into_raw(f),
7120 )
7121 }
7122 }
7123
7124 fn connect_property_natural_height_set_notify<F: Fn(&Self) + 'static>(
7125 &self,
7126 f: F,
7127 ) -> SignalHandlerId {
7128 unsafe extern "C" fn notify_natural_height_set_trampoline<P, F: Fn(&P) + 'static>(
7129 this: *mut ffi::ClutterActor,
7130 _param_spec: glib_sys::gpointer,
7131 f: glib_sys::gpointer,
7132 ) where
7133 P: IsA<Actor>,
7134 {
7135 let f: &F = &*(f as *const F);
7136 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7137 }
7138 unsafe {
7139 let f: Box_<F> = Box_::new(f);
7140 connect_raw(
7141 self.as_ptr() as *mut _,
7142 b"notify::natural-height-set\0".as_ptr() as *const _,
7143 Some(transmute::<_, unsafe extern "C" fn()>(
7144 notify_natural_height_set_trampoline::<Self, F> as *const (),
7145 )),
7146 Box_::into_raw(f),
7147 )
7148 }
7149 }
7150
7151 fn connect_property_natural_width_notify<F: Fn(&Self) + 'static>(
7152 &self,
7153 f: F,
7154 ) -> SignalHandlerId {
7155 unsafe extern "C" fn notify_natural_width_trampoline<P, F: Fn(&P) + 'static>(
7156 this: *mut ffi::ClutterActor,
7157 _param_spec: glib_sys::gpointer,
7158 f: glib_sys::gpointer,
7159 ) where
7160 P: IsA<Actor>,
7161 {
7162 let f: &F = &*(f as *const F);
7163 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7164 }
7165 unsafe {
7166 let f: Box_<F> = Box_::new(f);
7167 connect_raw(
7168 self.as_ptr() as *mut _,
7169 b"notify::natural-width\0".as_ptr() as *const _,
7170 Some(transmute::<_, unsafe extern "C" fn()>(
7171 notify_natural_width_trampoline::<Self, F> as *const (),
7172 )),
7173 Box_::into_raw(f),
7174 )
7175 }
7176 }
7177
7178 fn connect_property_natural_width_set_notify<F: Fn(&Self) + 'static>(
7179 &self,
7180 f: F,
7181 ) -> SignalHandlerId {
7182 unsafe extern "C" fn notify_natural_width_set_trampoline<P, F: Fn(&P) + 'static>(
7183 this: *mut ffi::ClutterActor,
7184 _param_spec: glib_sys::gpointer,
7185 f: glib_sys::gpointer,
7186 ) where
7187 P: IsA<Actor>,
7188 {
7189 let f: &F = &*(f as *const F);
7190 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7191 }
7192 unsafe {
7193 let f: Box_<F> = Box_::new(f);
7194 connect_raw(
7195 self.as_ptr() as *mut _,
7196 b"notify::natural-width-set\0".as_ptr() as *const _,
7197 Some(transmute::<_, unsafe extern "C" fn()>(
7198 notify_natural_width_set_trampoline::<Self, F> as *const (),
7199 )),
7200 Box_::into_raw(f),
7201 )
7202 }
7203 }
7204
7205 fn connect_property_offscreen_redirect_notify<F: Fn(&Self) + 'static>(
7206 &self,
7207 f: F,
7208 ) -> SignalHandlerId {
7209 unsafe extern "C" fn notify_offscreen_redirect_trampoline<P, F: Fn(&P) + 'static>(
7210 this: *mut ffi::ClutterActor,
7211 _param_spec: glib_sys::gpointer,
7212 f: glib_sys::gpointer,
7213 ) where
7214 P: IsA<Actor>,
7215 {
7216 let f: &F = &*(f as *const F);
7217 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7218 }
7219 unsafe {
7220 let f: Box_<F> = Box_::new(f);
7221 connect_raw(
7222 self.as_ptr() as *mut _,
7223 b"notify::offscreen-redirect\0".as_ptr() as *const _,
7224 Some(transmute::<_, unsafe extern "C" fn()>(
7225 notify_offscreen_redirect_trampoline::<Self, F> as *const (),
7226 )),
7227 Box_::into_raw(f),
7228 )
7229 }
7230 }
7231
7232 fn connect_property_opacity_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7233 unsafe extern "C" fn notify_opacity_trampoline<P, F: Fn(&P) + 'static>(
7234 this: *mut ffi::ClutterActor,
7235 _param_spec: glib_sys::gpointer,
7236 f: glib_sys::gpointer,
7237 ) where
7238 P: IsA<Actor>,
7239 {
7240 let f: &F = &*(f as *const F);
7241 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7242 }
7243 unsafe {
7244 let f: Box_<F> = Box_::new(f);
7245 connect_raw(
7246 self.as_ptr() as *mut _,
7247 b"notify::opacity\0".as_ptr() as *const _,
7248 Some(transmute::<_, unsafe extern "C" fn()>(
7249 notify_opacity_trampoline::<Self, F> as *const (),
7250 )),
7251 Box_::into_raw(f),
7252 )
7253 }
7254 }
7255
7256 fn connect_property_pivot_point_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7257 unsafe extern "C" fn notify_pivot_point_trampoline<P, F: Fn(&P) + 'static>(
7258 this: *mut ffi::ClutterActor,
7259 _param_spec: glib_sys::gpointer,
7260 f: glib_sys::gpointer,
7261 ) where
7262 P: IsA<Actor>,
7263 {
7264 let f: &F = &*(f as *const F);
7265 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7266 }
7267 unsafe {
7268 let f: Box_<F> = Box_::new(f);
7269 connect_raw(
7270 self.as_ptr() as *mut _,
7271 b"notify::pivot-point\0".as_ptr() as *const _,
7272 Some(transmute::<_, unsafe extern "C" fn()>(
7273 notify_pivot_point_trampoline::<Self, F> as *const (),
7274 )),
7275 Box_::into_raw(f),
7276 )
7277 }
7278 }
7279
7280 fn connect_property_pivot_point_z_notify<F: Fn(&Self) + 'static>(
7281 &self,
7282 f: F,
7283 ) -> SignalHandlerId {
7284 unsafe extern "C" fn notify_pivot_point_z_trampoline<P, F: Fn(&P) + 'static>(
7285 this: *mut ffi::ClutterActor,
7286 _param_spec: glib_sys::gpointer,
7287 f: glib_sys::gpointer,
7288 ) where
7289 P: IsA<Actor>,
7290 {
7291 let f: &F = &*(f as *const F);
7292 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7293 }
7294 unsafe {
7295 let f: Box_<F> = Box_::new(f);
7296 connect_raw(
7297 self.as_ptr() as *mut _,
7298 b"notify::pivot-point-z\0".as_ptr() as *const _,
7299 Some(transmute::<_, unsafe extern "C" fn()>(
7300 notify_pivot_point_z_trampoline::<Self, F> as *const (),
7301 )),
7302 Box_::into_raw(f),
7303 )
7304 }
7305 }
7306
7307 fn connect_property_position_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7308 unsafe extern "C" fn notify_position_trampoline<P, F: Fn(&P) + 'static>(
7309 this: *mut ffi::ClutterActor,
7310 _param_spec: glib_sys::gpointer,
7311 f: glib_sys::gpointer,
7312 ) where
7313 P: IsA<Actor>,
7314 {
7315 let f: &F = &*(f as *const F);
7316 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7317 }
7318 unsafe {
7319 let f: Box_<F> = Box_::new(f);
7320 connect_raw(
7321 self.as_ptr() as *mut _,
7322 b"notify::position\0".as_ptr() as *const _,
7323 Some(transmute::<_, unsafe extern "C" fn()>(
7324 notify_position_trampoline::<Self, F> as *const (),
7325 )),
7326 Box_::into_raw(f),
7327 )
7328 }
7329 }
7330
7331 fn connect_property_reactive_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7332 unsafe extern "C" fn notify_reactive_trampoline<P, F: Fn(&P) + 'static>(
7333 this: *mut ffi::ClutterActor,
7334 _param_spec: glib_sys::gpointer,
7335 f: glib_sys::gpointer,
7336 ) where
7337 P: IsA<Actor>,
7338 {
7339 let f: &F = &*(f as *const F);
7340 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7341 }
7342 unsafe {
7343 let f: Box_<F> = Box_::new(f);
7344 connect_raw(
7345 self.as_ptr() as *mut _,
7346 b"notify::reactive\0".as_ptr() as *const _,
7347 Some(transmute::<_, unsafe extern "C" fn()>(
7348 notify_reactive_trampoline::<Self, F> as *const (),
7349 )),
7350 Box_::into_raw(f),
7351 )
7352 }
7353 }
7354
7355 fn connect_property_realized_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7356 unsafe extern "C" fn notify_realized_trampoline<P, F: Fn(&P) + 'static>(
7357 this: *mut ffi::ClutterActor,
7358 _param_spec: glib_sys::gpointer,
7359 f: glib_sys::gpointer,
7360 ) where
7361 P: IsA<Actor>,
7362 {
7363 let f: &F = &*(f as *const F);
7364 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7365 }
7366 unsafe {
7367 let f: Box_<F> = Box_::new(f);
7368 connect_raw(
7369 self.as_ptr() as *mut _,
7370 b"notify::realized\0".as_ptr() as *const _,
7371 Some(transmute::<_, unsafe extern "C" fn()>(
7372 notify_realized_trampoline::<Self, F> as *const (),
7373 )),
7374 Box_::into_raw(f),
7375 )
7376 }
7377 }
7378
7379 fn connect_property_request_mode_notify<F: Fn(&Self) + 'static>(
7380 &self,
7381 f: F,
7382 ) -> SignalHandlerId {
7383 unsafe extern "C" fn notify_request_mode_trampoline<P, F: Fn(&P) + 'static>(
7384 this: *mut ffi::ClutterActor,
7385 _param_spec: glib_sys::gpointer,
7386 f: glib_sys::gpointer,
7387 ) where
7388 P: IsA<Actor>,
7389 {
7390 let f: &F = &*(f as *const F);
7391 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7392 }
7393 unsafe {
7394 let f: Box_<F> = Box_::new(f);
7395 connect_raw(
7396 self.as_ptr() as *mut _,
7397 b"notify::request-mode\0".as_ptr() as *const _,
7398 Some(transmute::<_, unsafe extern "C" fn()>(
7399 notify_request_mode_trampoline::<Self, F> as *const (),
7400 )),
7401 Box_::into_raw(f),
7402 )
7403 }
7404 }
7405
7406 fn connect_property_rotation_angle_x_notify<F: Fn(&Self) + 'static>(
7407 &self,
7408 f: F,
7409 ) -> SignalHandlerId {
7410 unsafe extern "C" fn notify_rotation_angle_x_trampoline<P, F: Fn(&P) + 'static>(
7411 this: *mut ffi::ClutterActor,
7412 _param_spec: glib_sys::gpointer,
7413 f: glib_sys::gpointer,
7414 ) where
7415 P: IsA<Actor>,
7416 {
7417 let f: &F = &*(f as *const F);
7418 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7419 }
7420 unsafe {
7421 let f: Box_<F> = Box_::new(f);
7422 connect_raw(
7423 self.as_ptr() as *mut _,
7424 b"notify::rotation-angle-x\0".as_ptr() as *const _,
7425 Some(transmute::<_, unsafe extern "C" fn()>(
7426 notify_rotation_angle_x_trampoline::<Self, F> as *const (),
7427 )),
7428 Box_::into_raw(f),
7429 )
7430 }
7431 }
7432
7433 fn connect_property_rotation_angle_y_notify<F: Fn(&Self) + 'static>(
7434 &self,
7435 f: F,
7436 ) -> SignalHandlerId {
7437 unsafe extern "C" fn notify_rotation_angle_y_trampoline<P, F: Fn(&P) + 'static>(
7438 this: *mut ffi::ClutterActor,
7439 _param_spec: glib_sys::gpointer,
7440 f: glib_sys::gpointer,
7441 ) where
7442 P: IsA<Actor>,
7443 {
7444 let f: &F = &*(f as *const F);
7445 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7446 }
7447 unsafe {
7448 let f: Box_<F> = Box_::new(f);
7449 connect_raw(
7450 self.as_ptr() as *mut _,
7451 b"notify::rotation-angle-y\0".as_ptr() as *const _,
7452 Some(transmute::<_, unsafe extern "C" fn()>(
7453 notify_rotation_angle_y_trampoline::<Self, F> as *const (),
7454 )),
7455 Box_::into_raw(f),
7456 )
7457 }
7458 }
7459
7460 fn connect_property_rotation_angle_z_notify<F: Fn(&Self) + 'static>(
7461 &self,
7462 f: F,
7463 ) -> SignalHandlerId {
7464 unsafe extern "C" fn notify_rotation_angle_z_trampoline<P, F: Fn(&P) + 'static>(
7465 this: *mut ffi::ClutterActor,
7466 _param_spec: glib_sys::gpointer,
7467 f: glib_sys::gpointer,
7468 ) where
7469 P: IsA<Actor>,
7470 {
7471 let f: &F = &*(f as *const F);
7472 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7473 }
7474 unsafe {
7475 let f: Box_<F> = Box_::new(f);
7476 connect_raw(
7477 self.as_ptr() as *mut _,
7478 b"notify::rotation-angle-z\0".as_ptr() as *const _,
7479 Some(transmute::<_, unsafe extern "C" fn()>(
7480 notify_rotation_angle_z_trampoline::<Self, F> as *const (),
7481 )),
7482 Box_::into_raw(f),
7483 )
7484 }
7485 }
7486
7487 fn connect_property_scale_x_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7488 unsafe extern "C" fn notify_scale_x_trampoline<P, F: Fn(&P) + 'static>(
7489 this: *mut ffi::ClutterActor,
7490 _param_spec: glib_sys::gpointer,
7491 f: glib_sys::gpointer,
7492 ) where
7493 P: IsA<Actor>,
7494 {
7495 let f: &F = &*(f as *const F);
7496 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7497 }
7498 unsafe {
7499 let f: Box_<F> = Box_::new(f);
7500 connect_raw(
7501 self.as_ptr() as *mut _,
7502 b"notify::scale-x\0".as_ptr() as *const _,
7503 Some(transmute::<_, unsafe extern "C" fn()>(
7504 notify_scale_x_trampoline::<Self, F> as *const (),
7505 )),
7506 Box_::into_raw(f),
7507 )
7508 }
7509 }
7510
7511 fn connect_property_scale_y_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7512 unsafe extern "C" fn notify_scale_y_trampoline<P, F: Fn(&P) + 'static>(
7513 this: *mut ffi::ClutterActor,
7514 _param_spec: glib_sys::gpointer,
7515 f: glib_sys::gpointer,
7516 ) where
7517 P: IsA<Actor>,
7518 {
7519 let f: &F = &*(f as *const F);
7520 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7521 }
7522 unsafe {
7523 let f: Box_<F> = Box_::new(f);
7524 connect_raw(
7525 self.as_ptr() as *mut _,
7526 b"notify::scale-y\0".as_ptr() as *const _,
7527 Some(transmute::<_, unsafe extern "C" fn()>(
7528 notify_scale_y_trampoline::<Self, F> as *const (),
7529 )),
7530 Box_::into_raw(f),
7531 )
7532 }
7533 }
7534
7535 fn connect_property_scale_z_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7536 unsafe extern "C" fn notify_scale_z_trampoline<P, F: Fn(&P) + 'static>(
7537 this: *mut ffi::ClutterActor,
7538 _param_spec: glib_sys::gpointer,
7539 f: glib_sys::gpointer,
7540 ) where
7541 P: IsA<Actor>,
7542 {
7543 let f: &F = &*(f as *const F);
7544 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7545 }
7546 unsafe {
7547 let f: Box_<F> = Box_::new(f);
7548 connect_raw(
7549 self.as_ptr() as *mut _,
7550 b"notify::scale-z\0".as_ptr() as *const _,
7551 Some(transmute::<_, unsafe extern "C" fn()>(
7552 notify_scale_z_trampoline::<Self, F> as *const (),
7553 )),
7554 Box_::into_raw(f),
7555 )
7556 }
7557 }
7558
7559 fn connect_property_show_on_set_parent_notify<F: Fn(&Self) + 'static>(
7560 &self,
7561 f: F,
7562 ) -> SignalHandlerId {
7563 unsafe extern "C" fn notify_show_on_set_parent_trampoline<P, F: Fn(&P) + 'static>(
7564 this: *mut ffi::ClutterActor,
7565 _param_spec: glib_sys::gpointer,
7566 f: glib_sys::gpointer,
7567 ) where
7568 P: IsA<Actor>,
7569 {
7570 let f: &F = &*(f as *const F);
7571 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7572 }
7573 unsafe {
7574 let f: Box_<F> = Box_::new(f);
7575 connect_raw(
7576 self.as_ptr() as *mut _,
7577 b"notify::show-on-set-parent\0".as_ptr() as *const _,
7578 Some(transmute::<_, unsafe extern "C" fn()>(
7579 notify_show_on_set_parent_trampoline::<Self, F> as *const (),
7580 )),
7581 Box_::into_raw(f),
7582 )
7583 }
7584 }
7585
7586 fn connect_property_size_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7587 unsafe extern "C" fn notify_size_trampoline<P, F: Fn(&P) + 'static>(
7588 this: *mut ffi::ClutterActor,
7589 _param_spec: glib_sys::gpointer,
7590 f: glib_sys::gpointer,
7591 ) where
7592 P: IsA<Actor>,
7593 {
7594 let f: &F = &*(f as *const F);
7595 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7596 }
7597 unsafe {
7598 let f: Box_<F> = Box_::new(f);
7599 connect_raw(
7600 self.as_ptr() as *mut _,
7601 b"notify::size\0".as_ptr() as *const _,
7602 Some(transmute::<_, unsafe extern "C" fn()>(
7603 notify_size_trampoline::<Self, F> as *const (),
7604 )),
7605 Box_::into_raw(f),
7606 )
7607 }
7608 }
7609
7610 fn connect_property_text_direction_notify<F: Fn(&Self) + 'static>(
7611 &self,
7612 f: F,
7613 ) -> SignalHandlerId {
7614 unsafe extern "C" fn notify_text_direction_trampoline<P, F: Fn(&P) + 'static>(
7615 this: *mut ffi::ClutterActor,
7616 _param_spec: glib_sys::gpointer,
7617 f: glib_sys::gpointer,
7618 ) where
7619 P: IsA<Actor>,
7620 {
7621 let f: &F = &*(f as *const F);
7622 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7623 }
7624 unsafe {
7625 let f: Box_<F> = Box_::new(f);
7626 connect_raw(
7627 self.as_ptr() as *mut _,
7628 b"notify::text-direction\0".as_ptr() as *const _,
7629 Some(transmute::<_, unsafe extern "C" fn()>(
7630 notify_text_direction_trampoline::<Self, F> as *const (),
7631 )),
7632 Box_::into_raw(f),
7633 )
7634 }
7635 }
7636
7637 fn connect_property_transform_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7638 unsafe extern "C" fn notify_transform_trampoline<P, F: Fn(&P) + 'static>(
7639 this: *mut ffi::ClutterActor,
7640 _param_spec: glib_sys::gpointer,
7641 f: glib_sys::gpointer,
7642 ) where
7643 P: IsA<Actor>,
7644 {
7645 let f: &F = &*(f as *const F);
7646 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7647 }
7648 unsafe {
7649 let f: Box_<F> = Box_::new(f);
7650 connect_raw(
7651 self.as_ptr() as *mut _,
7652 b"notify::transform\0".as_ptr() as *const _,
7653 Some(transmute::<_, unsafe extern "C" fn()>(
7654 notify_transform_trampoline::<Self, F> as *const (),
7655 )),
7656 Box_::into_raw(f),
7657 )
7658 }
7659 }
7660
7661 fn connect_property_transform_set_notify<F: Fn(&Self) + 'static>(
7662 &self,
7663 f: F,
7664 ) -> SignalHandlerId {
7665 unsafe extern "C" fn notify_transform_set_trampoline<P, F: Fn(&P) + 'static>(
7666 this: *mut ffi::ClutterActor,
7667 _param_spec: glib_sys::gpointer,
7668 f: glib_sys::gpointer,
7669 ) where
7670 P: IsA<Actor>,
7671 {
7672 let f: &F = &*(f as *const F);
7673 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7674 }
7675 unsafe {
7676 let f: Box_<F> = Box_::new(f);
7677 connect_raw(
7678 self.as_ptr() as *mut _,
7679 b"notify::transform-set\0".as_ptr() as *const _,
7680 Some(transmute::<_, unsafe extern "C" fn()>(
7681 notify_transform_set_trampoline::<Self, F> as *const (),
7682 )),
7683 Box_::into_raw(f),
7684 )
7685 }
7686 }
7687
7688 fn connect_property_translation_x_notify<F: Fn(&Self) + 'static>(
7689 &self,
7690 f: F,
7691 ) -> SignalHandlerId {
7692 unsafe extern "C" fn notify_translation_x_trampoline<P, F: Fn(&P) + 'static>(
7693 this: *mut ffi::ClutterActor,
7694 _param_spec: glib_sys::gpointer,
7695 f: glib_sys::gpointer,
7696 ) where
7697 P: IsA<Actor>,
7698 {
7699 let f: &F = &*(f as *const F);
7700 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7701 }
7702 unsafe {
7703 let f: Box_<F> = Box_::new(f);
7704 connect_raw(
7705 self.as_ptr() as *mut _,
7706 b"notify::translation-x\0".as_ptr() as *const _,
7707 Some(transmute::<_, unsafe extern "C" fn()>(
7708 notify_translation_x_trampoline::<Self, F> as *const (),
7709 )),
7710 Box_::into_raw(f),
7711 )
7712 }
7713 }
7714
7715 fn connect_property_translation_y_notify<F: Fn(&Self) + 'static>(
7716 &self,
7717 f: F,
7718 ) -> SignalHandlerId {
7719 unsafe extern "C" fn notify_translation_y_trampoline<P, F: Fn(&P) + 'static>(
7720 this: *mut ffi::ClutterActor,
7721 _param_spec: glib_sys::gpointer,
7722 f: glib_sys::gpointer,
7723 ) where
7724 P: IsA<Actor>,
7725 {
7726 let f: &F = &*(f as *const F);
7727 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7728 }
7729 unsafe {
7730 let f: Box_<F> = Box_::new(f);
7731 connect_raw(
7732 self.as_ptr() as *mut _,
7733 b"notify::translation-y\0".as_ptr() as *const _,
7734 Some(transmute::<_, unsafe extern "C" fn()>(
7735 notify_translation_y_trampoline::<Self, F> as *const (),
7736 )),
7737 Box_::into_raw(f),
7738 )
7739 }
7740 }
7741
7742 fn connect_property_translation_z_notify<F: Fn(&Self) + 'static>(
7743 &self,
7744 f: F,
7745 ) -> SignalHandlerId {
7746 unsafe extern "C" fn notify_translation_z_trampoline<P, F: Fn(&P) + 'static>(
7747 this: *mut ffi::ClutterActor,
7748 _param_spec: glib_sys::gpointer,
7749 f: glib_sys::gpointer,
7750 ) where
7751 P: IsA<Actor>,
7752 {
7753 let f: &F = &*(f as *const F);
7754 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7755 }
7756 unsafe {
7757 let f: Box_<F> = Box_::new(f);
7758 connect_raw(
7759 self.as_ptr() as *mut _,
7760 b"notify::translation-z\0".as_ptr() as *const _,
7761 Some(transmute::<_, unsafe extern "C" fn()>(
7762 notify_translation_z_trampoline::<Self, F> as *const (),
7763 )),
7764 Box_::into_raw(f),
7765 )
7766 }
7767 }
7768
7769 fn connect_property_visible_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7770 unsafe extern "C" fn notify_visible_trampoline<P, F: Fn(&P) + 'static>(
7771 this: *mut ffi::ClutterActor,
7772 _param_spec: glib_sys::gpointer,
7773 f: glib_sys::gpointer,
7774 ) where
7775 P: IsA<Actor>,
7776 {
7777 let f: &F = &*(f as *const F);
7778 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7779 }
7780 unsafe {
7781 let f: Box_<F> = Box_::new(f);
7782 connect_raw(
7783 self.as_ptr() as *mut _,
7784 b"notify::visible\0".as_ptr() as *const _,
7785 Some(transmute::<_, unsafe extern "C" fn()>(
7786 notify_visible_trampoline::<Self, F> as *const (),
7787 )),
7788 Box_::into_raw(f),
7789 )
7790 }
7791 }
7792
7793 fn connect_property_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7794 unsafe extern "C" fn notify_width_trampoline<P, F: Fn(&P) + 'static>(
7795 this: *mut ffi::ClutterActor,
7796 _param_spec: glib_sys::gpointer,
7797 f: glib_sys::gpointer,
7798 ) where
7799 P: IsA<Actor>,
7800 {
7801 let f: &F = &*(f as *const F);
7802 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7803 }
7804 unsafe {
7805 let f: Box_<F> = Box_::new(f);
7806 connect_raw(
7807 self.as_ptr() as *mut _,
7808 b"notify::width\0".as_ptr() as *const _,
7809 Some(transmute::<_, unsafe extern "C" fn()>(
7810 notify_width_trampoline::<Self, F> as *const (),
7811 )),
7812 Box_::into_raw(f),
7813 )
7814 }
7815 }
7816
7817 fn connect_property_x_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7818 unsafe extern "C" fn notify_x_trampoline<P, F: Fn(&P) + 'static>(
7819 this: *mut ffi::ClutterActor,
7820 _param_spec: glib_sys::gpointer,
7821 f: glib_sys::gpointer,
7822 ) where
7823 P: IsA<Actor>,
7824 {
7825 let f: &F = &*(f as *const F);
7826 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7827 }
7828 unsafe {
7829 let f: Box_<F> = Box_::new(f);
7830 connect_raw(
7831 self.as_ptr() as *mut _,
7832 b"notify::x\0".as_ptr() as *const _,
7833 Some(transmute::<_, unsafe extern "C" fn()>(
7834 notify_x_trampoline::<Self, F> as *const (),
7835 )),
7836 Box_::into_raw(f),
7837 )
7838 }
7839 }
7840
7841 fn connect_property_x_align_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7842 unsafe extern "C" fn notify_x_align_trampoline<P, F: Fn(&P) + 'static>(
7843 this: *mut ffi::ClutterActor,
7844 _param_spec: glib_sys::gpointer,
7845 f: glib_sys::gpointer,
7846 ) where
7847 P: IsA<Actor>,
7848 {
7849 let f: &F = &*(f as *const F);
7850 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7851 }
7852 unsafe {
7853 let f: Box_<F> = Box_::new(f);
7854 connect_raw(
7855 self.as_ptr() as *mut _,
7856 b"notify::x-align\0".as_ptr() as *const _,
7857 Some(transmute::<_, unsafe extern "C" fn()>(
7858 notify_x_align_trampoline::<Self, F> as *const (),
7859 )),
7860 Box_::into_raw(f),
7861 )
7862 }
7863 }
7864
7865 fn connect_property_x_expand_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7866 unsafe extern "C" fn notify_x_expand_trampoline<P, F: Fn(&P) + 'static>(
7867 this: *mut ffi::ClutterActor,
7868 _param_spec: glib_sys::gpointer,
7869 f: glib_sys::gpointer,
7870 ) where
7871 P: IsA<Actor>,
7872 {
7873 let f: &F = &*(f as *const F);
7874 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7875 }
7876 unsafe {
7877 let f: Box_<F> = Box_::new(f);
7878 connect_raw(
7879 self.as_ptr() as *mut _,
7880 b"notify::x-expand\0".as_ptr() as *const _,
7881 Some(transmute::<_, unsafe extern "C" fn()>(
7882 notify_x_expand_trampoline::<Self, F> as *const (),
7883 )),
7884 Box_::into_raw(f),
7885 )
7886 }
7887 }
7888
7889 fn connect_property_y_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7890 unsafe extern "C" fn notify_y_trampoline<P, F: Fn(&P) + 'static>(
7891 this: *mut ffi::ClutterActor,
7892 _param_spec: glib_sys::gpointer,
7893 f: glib_sys::gpointer,
7894 ) where
7895 P: IsA<Actor>,
7896 {
7897 let f: &F = &*(f as *const F);
7898 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7899 }
7900 unsafe {
7901 let f: Box_<F> = Box_::new(f);
7902 connect_raw(
7903 self.as_ptr() as *mut _,
7904 b"notify::y\0".as_ptr() as *const _,
7905 Some(transmute::<_, unsafe extern "C" fn()>(
7906 notify_y_trampoline::<Self, F> as *const (),
7907 )),
7908 Box_::into_raw(f),
7909 )
7910 }
7911 }
7912
7913 fn connect_property_y_align_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7914 unsafe extern "C" fn notify_y_align_trampoline<P, F: Fn(&P) + 'static>(
7915 this: *mut ffi::ClutterActor,
7916 _param_spec: glib_sys::gpointer,
7917 f: glib_sys::gpointer,
7918 ) where
7919 P: IsA<Actor>,
7920 {
7921 let f: &F = &*(f as *const F);
7922 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7923 }
7924 unsafe {
7925 let f: Box_<F> = Box_::new(f);
7926 connect_raw(
7927 self.as_ptr() as *mut _,
7928 b"notify::y-align\0".as_ptr() as *const _,
7929 Some(transmute::<_, unsafe extern "C" fn()>(
7930 notify_y_align_trampoline::<Self, F> as *const (),
7931 )),
7932 Box_::into_raw(f),
7933 )
7934 }
7935 }
7936
7937 fn connect_property_y_expand_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7938 unsafe extern "C" fn notify_y_expand_trampoline<P, F: Fn(&P) + 'static>(
7939 this: *mut ffi::ClutterActor,
7940 _param_spec: glib_sys::gpointer,
7941 f: glib_sys::gpointer,
7942 ) where
7943 P: IsA<Actor>,
7944 {
7945 let f: &F = &*(f as *const F);
7946 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7947 }
7948 unsafe {
7949 let f: Box_<F> = Box_::new(f);
7950 connect_raw(
7951 self.as_ptr() as *mut _,
7952 b"notify::y-expand\0".as_ptr() as *const _,
7953 Some(transmute::<_, unsafe extern "C" fn()>(
7954 notify_y_expand_trampoline::<Self, F> as *const (),
7955 )),
7956 Box_::into_raw(f),
7957 )
7958 }
7959 }
7960
7961 fn connect_property_z_position_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
7962 unsafe extern "C" fn notify_z_position_trampoline<P, F: Fn(&P) + 'static>(
7963 this: *mut ffi::ClutterActor,
7964 _param_spec: glib_sys::gpointer,
7965 f: glib_sys::gpointer,
7966 ) where
7967 P: IsA<Actor>,
7968 {
7969 let f: &F = &*(f as *const F);
7970 f(&Actor::from_glib_borrow(this).unsafe_cast_ref())
7971 }
7972 unsafe {
7973 let f: Box_<F> = Box_::new(f);
7974 connect_raw(
7975 self.as_ptr() as *mut _,
7976 b"notify::z-position\0".as_ptr() as *const _,
7977 Some(transmute::<_, unsafe extern "C" fn()>(
7978 notify_z_position_trampoline::<Self, F> as *const (),
7979 )),
7980 Box_::into_raw(f),
7981 )
7982 }
7983 }
7984}
7985
7986impl fmt::Display for Actor {
7987 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
7988 write!(f, "Actor")
7989 }
7990}