Flutter Engine
 
Loading...
Searching...
No Matches
fl_window_state_monitor.h File Reference

Go to the source code of this file.

Functions

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE (FlWindowStateMonitor, fl_window_state_monitor, FL, WINDOW_STATE_MONITOR, GObject)
 
FlWindowStateMonitor * fl_window_state_monitor_new (FlBinaryMessenger *messenger, GtkWindow *window)
 

Function Documentation

◆ fl_window_state_monitor_new()

FlWindowStateMonitor * fl_window_state_monitor_new ( FlBinaryMessenger *  messenger,
GtkWindow *  window 
)

FlWindowStateMonitor:

Monitors a GtkWindow and reports state change events to the Flutter engine. fl_window_state_monitor_new: @messenger: an #FlBinaryMessenger. @window: a #GtkWindow.

Creates a new window state manager to monitor @window and report events to @messenger.

Returns: a new #FlWindowStateMonitor.

Definition at line 104 of file fl_window_state_monitor.cc.

105 {
106 FlWindowStateMonitor* self = FL_WINDOW_STATE_MONITOR(
107 g_object_new(fl_window_state_monitor_get_type(), nullptr));
108 self->messenger = FL_BINARY_MESSENGER(g_object_ref(messenger));
109 self->window = window;
110
111 // Listen to window state changes.
112 self->window_state_event_cb_id =
113 g_signal_connect_swapped(self->window, "window-state-event",
114 G_CALLBACK(window_state_event_cb), self);
115 self->window_state =
116 gdk_window_get_state(gtk_widget_get_window(GTK_WIDGET(self->window)));
117
118 return self;
119}
GLFWwindow * window
Definition main.cc:60
static gboolean window_state_event_cb(FlWindowStateMonitor *self, GdkEvent *event)
GdkWindow * gtk_widget_get_window(GtkWidget *widget)
Definition mock_gtk.cc:298
GdkWindowState gdk_window_get_state(GdkWindow *window)
Definition mock_gtk.cc:89

References gdk_window_get_state(), gtk_widget_get_window(), self, window, and window_state_event_cb().

Referenced by realize_cb(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().

◆ G_DECLARE_FINAL_TYPE()

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE ( FlWindowStateMonitor  ,
fl_window_state_monitor  ,
FL  ,
WINDOW_STATE_MONITOR  ,
GObject   
)