Connect signals in swapped form. (flutter/engine#50705)

This makes them look more like methods.
This commit is contained in:
Robert Ancell 2024-02-17 14:01:03 +13:00 committed by GitHub
parent 46354c09fe
commit 0c1e0846c0

View File

@ -95,9 +95,7 @@ G_DEFINE_TYPE_WITH_CODE(
fl_view_text_input_delegate_iface_init))
// Signal handler for GtkWidget::delete-event
static gboolean window_delete_event_cb(GtkWidget* widget,
GdkEvent* event,
FlView* self) {
static gboolean window_delete_event_cb(FlView* self) {
fl_platform_plugin_request_app_exit(self->platform_plugin);
// Stop the event from propagating.
return TRUE;
@ -356,9 +354,8 @@ static void fl_view_text_input_delegate_iface_init(
}
// Signal handler for GtkWidget::button-press-event
static gboolean button_press_event_cb(GtkWidget* widget,
GdkEventButton* button_event,
FlView* self) {
static gboolean button_press_event_cb(FlView* self,
GdkEventButton* button_event) {
GdkEvent* event = reinterpret_cast<GdkEvent*>(button_event);
// Flutter doesn't handle double and triple click events.
@ -374,17 +371,14 @@ static gboolean button_press_event_cb(GtkWidget* widget,
}
// Signal handler for GtkWidget::button-release-event
static gboolean button_release_event_cb(GtkWidget* widget,
GdkEventButton* button_event,
FlView* self) {
static gboolean button_release_event_cb(FlView* self,
GdkEventButton* button_event) {
GdkEvent* event = reinterpret_cast<GdkEvent*>(button_event);
return send_pointer_button_event(self, event);
}
// Signal handler for GtkWidget::scroll-event
static gboolean scroll_event_cb(GtkWidget* widget,
GdkEventScroll* event,
FlView* self) {
static gboolean scroll_event_cb(FlView* self, GdkEventScroll* event) {
// TODO(robert-ancell): Update to use GtkEventControllerScroll when we can
// depend on GTK 3.24.
@ -395,9 +389,8 @@ static gboolean scroll_event_cb(GtkWidget* widget,
}
// Signal handler for GtkWidget::motion-notify-event
static gboolean motion_notify_event_cb(GtkWidget* widget,
GdkEventMotion* motion_event,
FlView* self) {
static gboolean motion_notify_event_cb(FlView* self,
GdkEventMotion* motion_event) {
GdkEvent* event = reinterpret_cast<GdkEvent*>(motion_event);
if (self->engine == nullptr) {
@ -425,9 +418,8 @@ static gboolean motion_notify_event_cb(GtkWidget* widget,
}
// Signal handler for GtkWidget::enter-notify-event
static gboolean enter_notify_event_cb(GtkWidget* widget,
GdkEventCrossing* crossing_event,
FlView* self) {
static gboolean enter_notify_event_cb(FlView* self,
GdkEventCrossing* crossing_event) {
GdkEvent* event = reinterpret_cast<GdkEvent*>(crossing_event);
if (self->engine == nullptr) {
@ -440,9 +432,8 @@ static gboolean enter_notify_event_cb(GtkWidget* widget,
}
// Signal handler for GtkWidget::leave-notify-event
static gboolean leave_notify_event_cb(GtkWidget* widget,
GdkEventCrossing* crossing_event,
FlView* self) {
static gboolean leave_notify_event_cb(FlView* self,
GdkEventCrossing* crossing_event) {
GdkEvent* event = reinterpret_cast<GdkEvent*>(crossing_event);
guint event_time = gdk_event_get_time(event);
@ -472,7 +463,7 @@ static gboolean leave_notify_event_cb(GtkWidget* widget,
return TRUE;
}
static void keymap_keys_changed_cb(GdkKeymap* keymapf, FlView* self) {
static void keymap_keys_changed_cb(FlView* self) {
if (self->keyboard_layout_notifier == nullptr) {
return;
}
@ -480,50 +471,36 @@ static void keymap_keys_changed_cb(GdkKeymap* keymapf, FlView* self) {
self->keyboard_layout_notifier();
}
static void gesture_rotation_begin_cb(GtkGestureRotate* gesture,
GdkEventSequence* sequence,
FlView* self) {
static void gesture_rotation_begin_cb(FlView* self) {
fl_scrolling_manager_handle_rotation_begin(self->scrolling_manager);
}
static void gesture_rotation_update_cb(GtkGestureRotate* widget,
static void gesture_rotation_update_cb(FlView* self,
gdouble rotation,
gdouble delta,
FlView* self) {
gdouble delta) {
fl_scrolling_manager_handle_rotation_update(self->scrolling_manager,
rotation);
}
static void gesture_rotation_end_cb(GtkGestureRotate* gesture,
GdkEventSequence* sequence,
FlView* self) {
static void gesture_rotation_end_cb(FlView* self) {
fl_scrolling_manager_handle_rotation_end(self->scrolling_manager);
}
static void gesture_zoom_begin_cb(GtkGestureZoom* gesture,
GdkEventSequence* sequence,
FlView* self) {
static void gesture_zoom_begin_cb(FlView* self) {
fl_scrolling_manager_handle_zoom_begin(self->scrolling_manager);
}
static void gesture_zoom_update_cb(GtkGestureZoom* widget,
gdouble scale,
FlView* self) {
static void gesture_zoom_update_cb(FlView* self, gdouble scale) {
fl_scrolling_manager_handle_zoom_update(self->scrolling_manager, scale);
}
static void gesture_zoom_end_cb(GtkGestureZoom* gesture,
GdkEventSequence* sequence,
FlView* self) {
static void gesture_zoom_end_cb(FlView* self) {
fl_scrolling_manager_handle_zoom_end(self->scrolling_manager);
}
static gboolean window_state_event_cb(GtkWidget* widget,
GdkEvent* event,
gpointer user_data) {
g_return_val_if_fail(FL_IS_VIEW(user_data), FALSE);
g_return_val_if_fail(FL_IS_ENGINE(FL_VIEW(user_data)->engine), FALSE);
FlView* self = FL_VIEW(user_data);
static gboolean window_state_event_cb(FlView* self, GdkEvent* event) {
g_return_val_if_fail(FL_IS_ENGINE(self->engine), FALSE);
GdkWindowState state = event->window_state.new_window_state;
GdkWindowState previous_state = self->window_state;
self->window_state = state;
@ -542,8 +519,7 @@ static gboolean window_state_event_cb(GtkWidget* widget,
return FALSE;
}
static void realize_cb(GtkWidget* widget) {
FlView* self = FL_VIEW(widget);
static void realize_cb(FlView* self) {
g_autoptr(GError) error = nullptr;
// Handle requests by the user to close the application.
@ -551,13 +527,13 @@ static void realize_cb(GtkWidget* widget) {
// Listen to window state changes.
self->window_state_cb_id =
g_signal_connect(toplevel_window, "window-state-event",
G_CALLBACK(window_state_event_cb), self);
g_signal_connect_swapped(toplevel_window, "window-state-event",
G_CALLBACK(window_state_event_cb), self);
self->window_state =
gdk_window_get_state(gtk_widget_get_window(toplevel_window));
g_signal_connect(toplevel_window, "delete-event",
G_CALLBACK(window_delete_event_cb), self);
g_signal_connect_swapped(toplevel_window, "delete-event",
G_CALLBACK(window_delete_event_cb), self);
init_keyboard(self);
@ -574,8 +550,7 @@ static void realize_cb(GtkWidget* widget) {
handle_geometry_changed(self);
}
static void configure_cb(GtkWidget* widget, GdkEventConfigure event) {
FlView* self = FL_VIEW(widget);
static void size_allocate_cb(FlView* self) {
handle_geometry_changed(self);
}
@ -609,34 +584,37 @@ static void fl_view_constructed(GObject* object) {
GDK_BUTTON_RELEASE_MASK | GDK_SCROLL_MASK |
GDK_SMOOTH_SCROLL_MASK);
g_signal_connect(self->event_box, "button-press-event",
G_CALLBACK(button_press_event_cb), self);
g_signal_connect(self->event_box, "button-release-event",
G_CALLBACK(button_release_event_cb), self);
g_signal_connect(self->event_box, "scroll-event", G_CALLBACK(scroll_event_cb),
self);
g_signal_connect(self->event_box, "motion-notify-event",
G_CALLBACK(motion_notify_event_cb), self);
g_signal_connect(self->event_box, "enter-notify-event",
G_CALLBACK(enter_notify_event_cb), self);
g_signal_connect(self->event_box, "leave-notify-event",
G_CALLBACK(leave_notify_event_cb), self);
self->keymap_keys_changed_cb_id = g_signal_connect(
g_signal_connect_swapped(self->event_box, "button-press-event",
G_CALLBACK(button_press_event_cb), self);
g_signal_connect_swapped(self->event_box, "button-release-event",
G_CALLBACK(button_release_event_cb), self);
g_signal_connect_swapped(self->event_box, "scroll-event",
G_CALLBACK(scroll_event_cb), self);
g_signal_connect_swapped(self->event_box, "motion-notify-event",
G_CALLBACK(motion_notify_event_cb), self);
g_signal_connect_swapped(self->event_box, "enter-notify-event",
G_CALLBACK(enter_notify_event_cb), self);
g_signal_connect_swapped(self->event_box, "leave-notify-event",
G_CALLBACK(leave_notify_event_cb), self);
self->keymap_keys_changed_cb_id = g_signal_connect_swapped(
self->keymap, "keys-changed", G_CALLBACK(keymap_keys_changed_cb), self);
GtkGesture* zoom = gtk_gesture_zoom_new(self->event_box);
g_signal_connect(zoom, "begin", G_CALLBACK(gesture_zoom_begin_cb), self);
g_signal_connect(zoom, "scale-changed", G_CALLBACK(gesture_zoom_update_cb),
self);
g_signal_connect(zoom, "end", G_CALLBACK(gesture_zoom_end_cb), self);
g_signal_connect_swapped(zoom, "begin", G_CALLBACK(gesture_zoom_begin_cb),
self);
g_signal_connect_swapped(zoom, "scale-changed",
G_CALLBACK(gesture_zoom_update_cb), self);
g_signal_connect_swapped(zoom, "end", G_CALLBACK(gesture_zoom_end_cb), self);
GtkGesture* rotate = gtk_gesture_rotate_new(self->event_box);
g_signal_connect(rotate, "begin", G_CALLBACK(gesture_rotation_begin_cb),
self);
g_signal_connect(rotate, "angle-changed",
G_CALLBACK(gesture_rotation_update_cb), self);
g_signal_connect(rotate, "end", G_CALLBACK(gesture_rotation_end_cb), self);
g_signal_connect_swapped(rotate, "begin",
G_CALLBACK(gesture_rotation_begin_cb), self);
g_signal_connect_swapped(rotate, "angle-changed",
G_CALLBACK(gesture_rotation_update_cb), self);
g_signal_connect_swapped(rotate, "end", G_CALLBACK(gesture_rotation_end_cb),
self);
g_signal_connect(self, "realize", G_CALLBACK(realize_cb), self);
g_signal_connect(self, "size-allocate", G_CALLBACK(configure_cb), self);
g_signal_connect_swapped(self, "realize", G_CALLBACK(realize_cb), self);
g_signal_connect_swapped(self, "size-allocate", G_CALLBACK(size_allocate_cb),
self);
}
static void fl_view_set_property(GObject* object,