From dca39eb31822c1617d04e0a5abda266a680b810e Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sun, 2 Sep 2018 13:22:57 +0200 Subject: [PATCH 1/2] Update gir submodule --- gir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gir b/gir index 3e102bed9f..d3116cab95 160000 --- a/gir +++ b/gir @@ -1 +1 @@ -Subproject commit 3e102bed9fcbaadea49ab970ce9889e50314ebc4 +Subproject commit d3116cab95a10dc4b230ff7411903cca8b430e48 From 6c953188583dcd0d3be2a1b8744424b089f4b144 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sun, 2 Sep 2018 13:23:05 +0200 Subject: [PATCH 2/2] Generate more types --- Gir.toml | 2 + src/auto/gesture.rs | 220 +++++++++++++++++++++++++------------ src/auto/gesture_single.rs | 16 ++- src/auto/versions.txt | 2 +- src/auto/widget.rs | 30 +++-- 5 files changed, 179 insertions(+), 91 deletions(-) diff --git a/Gir.toml b/Gir.toml index 1f54376fe6..4bedf3c6ff 100644 --- a/Gir.toml +++ b/Gir.toml @@ -235,6 +235,7 @@ ignore = [ manual = [ "cairo.Context", + "cairo.FontOptions", "cairo.RectangleInt", "cairo.Region", "cairo.Surface", @@ -259,6 +260,7 @@ manual = [ "Gdk.EventProximity", "Gdk.EventScroll", "Gdk.EventSelection", + "Gdk.EventSequence", "Gdk.EventVisibility", "Gdk.EventWindowState", "Gdk.FrameClock", diff --git a/src/auto/gesture.rs b/src/auto/gesture.rs index 29f22eab0f..b7ba38da56 100644 --- a/src/auto/gesture.rs +++ b/src/auto/gesture.rs @@ -8,6 +8,8 @@ use EventSequenceState; use ffi; #[cfg(any(feature = "v3_14", feature = "dox"))] use gdk; +#[cfg(any(feature = "v3_14", feature = "dox"))] +use gdk_ffi; use glib; #[cfg(any(feature = "v3_14", feature = "dox"))] use glib::StaticType; @@ -51,20 +53,20 @@ pub trait GestureExt { #[cfg(any(feature = "v3_14", feature = "dox"))] fn get_group(&self) -> Vec; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_last_event(&self, sequence: /*Ignored*/&gdk::EventSequence) -> Option; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_last_event(&self, sequence: &gdk::EventSequence) -> Option; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_last_updated_sequence(&self) -> /*Ignored*/Option; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_last_updated_sequence(&self) -> Option; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_point<'a, P: Into>>(&self, sequence: P) -> Option<(f64, f64)>; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_point<'a, P: Into>>(&self, sequence: P) -> Option<(f64, f64)>; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_sequence_state(&self, sequence: /*Ignored*/&gdk::EventSequence) -> EventSequenceState; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_sequence_state(&self, sequence: &gdk::EventSequence) -> EventSequenceState; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_sequences(&self) -> /*Ignored*/Vec; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_sequences(&self) -> Vec; #[cfg(any(feature = "v3_14", feature = "dox"))] fn get_window(&self) -> Option; @@ -72,8 +74,8 @@ pub trait GestureExt { #[cfg(any(feature = "v3_14", feature = "dox"))] fn group>(&self, gesture: &P); - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn handles_sequence<'a, P: Into>>(&self, sequence: P) -> bool; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn handles_sequence<'a, P: Into>>(&self, sequence: P) -> bool; #[cfg(any(feature = "v3_14", feature = "dox"))] fn is_active(&self) -> bool; @@ -84,8 +86,8 @@ pub trait GestureExt { #[cfg(any(feature = "v3_14", feature = "dox"))] fn is_recognized(&self) -> bool; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn set_sequence_state(&self, sequence: /*Ignored*/&gdk::EventSequence, state: EventSequenceState) -> bool; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn set_sequence_state(&self, sequence: &gdk::EventSequence, state: EventSequenceState) -> bool; #[cfg(any(feature = "v3_14", feature = "dox"))] fn set_state(&self, state: EventSequenceState) -> bool; @@ -99,20 +101,20 @@ pub trait GestureExt { #[cfg(any(feature = "v3_14", feature = "dox"))] fn get_property_n_points(&self) -> u32; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_begin(&self, f: F) -> SignalHandlerId; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_begin(&self, f: F) -> SignalHandlerId; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_cancel(&self, f: F) -> SignalHandlerId; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_cancel(&self, f: F) -> SignalHandlerId; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_end(&self, f: F) -> SignalHandlerId; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_end(&self, f: F) -> SignalHandlerId; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_sequence_state_changed(&self, f: F) -> SignalHandlerId; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_sequence_state_changed(&self, f: F) -> SignalHandlerId; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_update(&self, f: F) -> SignalHandlerId; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_update(&self, f: F) -> SignalHandlerId; #[cfg(any(feature = "v3_14", feature = "dox"))] fn connect_property_n_points_notify(&self, f: F) -> SignalHandlerId; @@ -155,30 +157,44 @@ impl + IsA> GestureExt for O { } } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_last_event(&self, sequence: /*Ignored*/&gdk::EventSequence) -> Option { - // unsafe { TODO: call ffi::gtk_gesture_get_last_event() } - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_last_event(&self, sequence: &gdk::EventSequence) -> Option { + unsafe { + from_glib_none(ffi::gtk_gesture_get_last_event(self.to_glib_none().0, mut_override(sequence.to_glib_none().0))) + } + } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_last_updated_sequence(&self) -> /*Ignored*/Option { - // unsafe { TODO: call ffi::gtk_gesture_get_last_updated_sequence() } - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_last_updated_sequence(&self) -> Option { + unsafe { + from_glib_none(ffi::gtk_gesture_get_last_updated_sequence(self.to_glib_none().0)) + } + } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_point<'a, P: Into>>(&self, sequence: P) -> Option<(f64, f64)> { - // unsafe { TODO: call ffi::gtk_gesture_get_point() } - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_point<'a, P: Into>>(&self, sequence: P) -> Option<(f64, f64)> { + let sequence = sequence.into(); + unsafe { + let mut x = mem::uninitialized(); + let mut y = mem::uninitialized(); + let ret = from_glib(ffi::gtk_gesture_get_point(self.to_glib_none().0, mut_override(sequence.to_glib_none().0), &mut x, &mut y)); + if ret { Some((x, y)) } else { None } + } + } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_sequence_state(&self, sequence: /*Ignored*/&gdk::EventSequence) -> EventSequenceState { - // unsafe { TODO: call ffi::gtk_gesture_get_sequence_state() } - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_sequence_state(&self, sequence: &gdk::EventSequence) -> EventSequenceState { + unsafe { + from_glib(ffi::gtk_gesture_get_sequence_state(self.to_glib_none().0, mut_override(sequence.to_glib_none().0))) + } + } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_sequences(&self) -> /*Ignored*/Vec { - // unsafe { TODO: call ffi::gtk_gesture_get_sequences() } - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_sequences(&self) -> Vec { + unsafe { + FromGlibPtrContainer::from_glib_container(ffi::gtk_gesture_get_sequences(self.to_glib_none().0)) + } + } #[cfg(any(feature = "v3_14", feature = "dox"))] fn get_window(&self) -> Option { @@ -194,10 +210,13 @@ impl + IsA> GestureExt for O { } } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn handles_sequence<'a, P: Into>>(&self, sequence: P) -> bool { - // unsafe { TODO: call ffi::gtk_gesture_handles_sequence() } - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn handles_sequence<'a, P: Into>>(&self, sequence: P) -> bool { + let sequence = sequence.into(); + unsafe { + from_glib(ffi::gtk_gesture_handles_sequence(self.to_glib_none().0, mut_override(sequence.to_glib_none().0))) + } + } #[cfg(any(feature = "v3_14", feature = "dox"))] fn is_active(&self) -> bool { @@ -220,10 +239,12 @@ impl + IsA> GestureExt for O { } } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn set_sequence_state(&self, sequence: /*Ignored*/&gdk::EventSequence, state: EventSequenceState) -> bool { - // unsafe { TODO: call ffi::gtk_gesture_set_sequence_state() } - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn set_sequence_state(&self, sequence: &gdk::EventSequence, state: EventSequenceState) -> bool { + unsafe { + from_glib(ffi::gtk_gesture_set_sequence_state(self.to_glib_none().0, mut_override(sequence.to_glib_none().0), state.to_glib())) + } + } #[cfg(any(feature = "v3_14", feature = "dox"))] fn set_state(&self, state: EventSequenceState) -> bool { @@ -257,30 +278,50 @@ impl + IsA> GestureExt for O { } } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_begin(&self, f: F) -> SignalHandlerId { - // Ignored sequence: Gdk.EventSequence - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_begin(&self, f: F) -> SignalHandlerId { + unsafe { + let f: Box_> = Box_::new(Box_::new(f)); + connect(self.to_glib_none().0, "begin", + transmute(begin_trampoline:: as usize), Box_::into_raw(f) as *mut _) + } + } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_cancel(&self, f: F) -> SignalHandlerId { - // Ignored sequence: Gdk.EventSequence - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_cancel(&self, f: F) -> SignalHandlerId { + unsafe { + let f: Box_> = Box_::new(Box_::new(f)); + connect(self.to_glib_none().0, "cancel", + transmute(cancel_trampoline:: as usize), Box_::into_raw(f) as *mut _) + } + } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_end(&self, f: F) -> SignalHandlerId { - // Ignored sequence: Gdk.EventSequence - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_end(&self, f: F) -> SignalHandlerId { + unsafe { + let f: Box_> = Box_::new(Box_::new(f)); + connect(self.to_glib_none().0, "end", + transmute(end_trampoline:: as usize), Box_::into_raw(f) as *mut _) + } + } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_sequence_state_changed(&self, f: F) -> SignalHandlerId { - // Ignored sequence: Gdk.EventSequence - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_sequence_state_changed(&self, f: F) -> SignalHandlerId { + unsafe { + let f: Box_> = Box_::new(Box_::new(f)); + connect(self.to_glib_none().0, "sequence-state-changed", + transmute(sequence_state_changed_trampoline:: as usize), Box_::into_raw(f) as *mut _) + } + } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn connect_update(&self, f: F) -> SignalHandlerId { - // Ignored sequence: Gdk.EventSequence - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn connect_update(&self, f: F) -> SignalHandlerId { + unsafe { + let f: Box_> = Box_::new(Box_::new(f)); + connect(self.to_glib_none().0, "update", + transmute(update_trampoline:: as usize), Box_::into_raw(f) as *mut _) + } + } #[cfg(any(feature = "v3_14", feature = "dox"))] fn connect_property_n_points_notify(&self, f: F) -> SignalHandlerId { @@ -301,6 +342,41 @@ impl + IsA> GestureExt for O { } } +#[cfg(any(feature = "v3_14", feature = "dox"))] +unsafe extern "C" fn begin_trampoline

(this: *mut ffi::GtkGesture, sequence: *mut gdk_ffi::GdkEventSequence, f: glib_ffi::gpointer) +where P: IsA { + let f: &&(Fn(&P, &gdk::EventSequence) + 'static) = transmute(f); + f(&Gesture::from_glib_borrow(this).downcast_unchecked(), &from_glib_borrow(sequence)) +} + +#[cfg(any(feature = "v3_14", feature = "dox"))] +unsafe extern "C" fn cancel_trampoline

(this: *mut ffi::GtkGesture, sequence: *mut gdk_ffi::GdkEventSequence, f: glib_ffi::gpointer) +where P: IsA { + let f: &&(Fn(&P, &gdk::EventSequence) + 'static) = transmute(f); + f(&Gesture::from_glib_borrow(this).downcast_unchecked(), &from_glib_borrow(sequence)) +} + +#[cfg(any(feature = "v3_14", feature = "dox"))] +unsafe extern "C" fn end_trampoline

(this: *mut ffi::GtkGesture, sequence: *mut gdk_ffi::GdkEventSequence, f: glib_ffi::gpointer) +where P: IsA { + let f: &&(Fn(&P, &gdk::EventSequence) + 'static) = transmute(f); + f(&Gesture::from_glib_borrow(this).downcast_unchecked(), &from_glib_borrow(sequence)) +} + +#[cfg(any(feature = "v3_14", feature = "dox"))] +unsafe extern "C" fn sequence_state_changed_trampoline

(this: *mut ffi::GtkGesture, sequence: *mut gdk_ffi::GdkEventSequence, state: ffi::GtkEventSequenceState, f: glib_ffi::gpointer) +where P: IsA { + let f: &&(Fn(&P, &gdk::EventSequence, EventSequenceState) + 'static) = transmute(f); + f(&Gesture::from_glib_borrow(this).downcast_unchecked(), &from_glib_borrow(sequence), from_glib(state)) +} + +#[cfg(any(feature = "v3_14", feature = "dox"))] +unsafe extern "C" fn update_trampoline

(this: *mut ffi::GtkGesture, sequence: *mut gdk_ffi::GdkEventSequence, f: glib_ffi::gpointer) +where P: IsA { + let f: &&(Fn(&P, &gdk::EventSequence) + 'static) = transmute(f); + f(&Gesture::from_glib_borrow(this).downcast_unchecked(), &from_glib_borrow(sequence)) +} + #[cfg(any(feature = "v3_14", feature = "dox"))] unsafe extern "C" fn notify_n_points_trampoline

(this: *mut ffi::GtkGesture, _param_spec: glib_ffi::gpointer, f: glib_ffi::gpointer) where P: IsA { diff --git a/src/auto/gesture_single.rs b/src/auto/gesture_single.rs index 969733b80b..92fba8ce4f 100644 --- a/src/auto/gesture_single.rs +++ b/src/auto/gesture_single.rs @@ -5,6 +5,8 @@ use EventController; use Gesture; use ffi; +#[cfg(any(feature = "v3_14", feature = "dox"))] +use gdk; use glib; #[cfg(any(feature = "v3_14", feature = "dox"))] use glib::object::Downcast; @@ -38,8 +40,8 @@ pub trait GestureSingleExt { #[cfg(any(feature = "v3_14", feature = "dox"))] fn get_current_button(&self) -> u32; - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_current_sequence(&self) -> /*Ignored*/Option; + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_current_sequence(&self) -> Option; #[cfg(any(feature = "v3_14", feature = "dox"))] fn get_exclusive(&self) -> bool; @@ -81,10 +83,12 @@ impl + IsA> GestureSingleExt for O { } } - //#[cfg(any(feature = "v3_14", feature = "dox"))] - //fn get_current_sequence(&self) -> /*Ignored*/Option { - // unsafe { TODO: call ffi::gtk_gesture_single_get_current_sequence() } - //} + #[cfg(any(feature = "v3_14", feature = "dox"))] + fn get_current_sequence(&self) -> Option { + unsafe { + from_glib_full(ffi::gtk_gesture_single_get_current_sequence(self.to_glib_none().0)) + } + } #[cfg(any(feature = "v3_14", feature = "dox"))] fn get_exclusive(&self) -> bool { diff --git a/src/auto/versions.txt b/src/auto/versions.txt index 09d7af0569..d8b86482bb 100644 --- a/src/auto/versions.txt +++ b/src/auto/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ 04c26a8) +Generated by gir (https://github.com/gtk-rs/gir @ d3116ca) from gir-files (https://github.com/gtk-rs/gir-files @ b8f5ef1) diff --git a/src/auto/widget.rs b/src/auto/widget.rs index 9add59e069..1fa7b35ec6 100644 --- a/src/auto/widget.rs +++ b/src/auto/widget.rs @@ -241,8 +241,8 @@ pub trait WidgetExt { #[cfg(any(feature = "v3_18", feature = "dox"))] fn get_font_map(&self) -> Option; - //#[cfg(any(feature = "v3_18", feature = "dox"))] - //fn get_font_options(&self) -> /*Ignored*/Option; + #[cfg(any(feature = "v3_18", feature = "dox"))] + fn get_font_options(&self) -> Option; #[cfg(any(feature = "v3_8", feature = "dox"))] fn get_frame_clock(&self) -> Option; @@ -510,8 +510,8 @@ pub trait WidgetExt { #[cfg(any(feature = "v3_18", feature = "dox"))] fn set_font_map<'a, P: Into>>(&self, font_map: P); - //#[cfg(any(feature = "v3_18", feature = "dox"))] - //fn set_font_options<'a, P: Into>>(&self, options: P); + #[cfg(any(feature = "v3_18", feature = "dox"))] + fn set_font_options<'a, P: Into>>(&self, options: P); fn set_halign(&self, align: Align); @@ -1304,10 +1304,12 @@ impl + IsA + glib::object::ObjectExt> Widge } } - //#[cfg(any(feature = "v3_18", feature = "dox"))] - //fn get_font_options(&self) -> /*Ignored*/Option { - // unsafe { TODO: call ffi::gtk_widget_get_font_options() } - //} + #[cfg(any(feature = "v3_18", feature = "dox"))] + fn get_font_options(&self) -> Option { + unsafe { + from_glib_none(ffi::gtk_widget_get_font_options(self.to_glib_none().0)) + } + } #[cfg(any(feature = "v3_8", feature = "dox"))] fn get_frame_clock(&self) -> Option { @@ -2072,10 +2074,14 @@ impl + IsA + glib::object::ObjectExt> Widge } } - //#[cfg(any(feature = "v3_18", feature = "dox"))] - //fn set_font_options<'a, P: Into>>(&self, options: P) { - // unsafe { TODO: call ffi::gtk_widget_set_font_options() } - //} + #[cfg(any(feature = "v3_18", feature = "dox"))] + fn set_font_options<'a, P: Into>>(&self, options: P) { + let options = options.into(); + let options = options.to_glib_none(); + unsafe { + ffi::gtk_widget_set_font_options(self.to_glib_none().0, options.0); + } + } fn set_halign(&self, align: Align) { unsafe {