Flutter Linux Embedder
fl_windowing_channel.h File Reference

Go to the source code of this file.

Classes

struct  FlWindowingSize
 
struct  FlWindowingChannelVTable
 

Enumerations

enum  FlWindowState {
  FL_WINDOW_STATE_UNDEFINED ,
  FL_WINDOW_STATE_RESTORED ,
  FL_WINDOW_STATE_MAXIMIZED ,
  FL_WINDOW_STATE_MINIMIZED
}
 

Functions

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE (FlWindowingChannel, fl_windowing_channel, FL, WINDOWING_CHANNEL, GObject)
 
FlWindowingChannel * fl_windowing_channel_new (FlBinaryMessenger *messenger, FlWindowingChannelVTable *vtable, gpointer user_data)
 
FlMethodResponse * fl_windowing_channel_make_create_regular_response (int64_t view_id, FlWindowingSize *size, FlWindowState state)
 
FlMethodResponse * fl_windowing_channel_make_modify_regular_response ()
 
FlMethodResponse * fl_windowing_channel_make_destroy_window_response ()
 

Enumeration Type Documentation

◆ FlWindowState

Enumerator
FL_WINDOW_STATE_UNDEFINED 
FL_WINDOW_STATE_RESTORED 
FL_WINDOW_STATE_MAXIMIZED 
FL_WINDOW_STATE_MINIMIZED 

Definition at line 20 of file fl_windowing_channel.h.

Function Documentation

◆ fl_windowing_channel_make_create_regular_response()

FlMethodResponse* fl_windowing_channel_make_create_regular_response ( int64_t  view_id,
FlWindowingSize size,
FlWindowState  state 
)

Definition at line 275 of file fl_windowing_channel.cc.

278  {
279  g_autoptr(FlValue) result = fl_value_new_map();
281  g_autoptr(FlValue) size_value = fl_value_new_list();
282  fl_value_append_take(size_value, fl_value_new_float(size->width));
283  fl_value_append_take(size_value, fl_value_new_float(size->height));
284  fl_value_set_string(result, kSizeKey, size_value);
287  return FL_METHOD_RESPONSE(fl_method_success_response_new(result));
288 }
G_MODULE_EXPORT FlMethodSuccessResponse * fl_method_success_response_new(FlValue *result)
G_MODULE_EXPORT void fl_value_set_string(FlValue *self, const gchar *key, FlValue *value)
Definition: fl_value.cc:639
G_MODULE_EXPORT FlValue * fl_value_new_float(double value)
Definition: fl_value.cc:269
G_MODULE_EXPORT void fl_value_set_string_take(FlValue *self, const gchar *key, FlValue *value)
Definition: fl_value.cc:650
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
Definition: fl_value.cc:276
G_MODULE_EXPORT FlValue * fl_value_new_list()
Definition: fl_value.cc:349
G_MODULE_EXPORT void fl_value_append_take(FlValue *self, FlValue *value)
Definition: fl_value.cc:600
G_MODULE_EXPORT FlValue * fl_value_new_int(int64_t value)
Definition: fl_value.cc:262
G_MODULE_EXPORT FlValue * fl_value_new_map()
Definition: fl_value.cc:366
typedefG_BEGIN_DECLS struct _FlValue FlValue
Definition: fl_value.h:42
G_BEGIN_DECLS FlutterViewId view_id
static constexpr char kStateKey[]
static constexpr char kViewIdKey[]
static constexpr char kSizeKey[]
static const gchar * window_state_to_string(FlWindowState state)

References fl_method_success_response_new(), fl_value_append_take(), fl_value_new_float(), fl_value_new_int(), fl_value_new_list(), fl_value_new_map(), fl_value_new_string(), fl_value_set_string(), fl_value_set_string_take(), FlWindowingSize::height, kSizeKey, kStateKey, kViewIdKey, view_id, FlWindowingSize::width, and window_state_to_string().

Referenced by create_regular().

◆ fl_windowing_channel_make_destroy_window_response()

FlMethodResponse* fl_windowing_channel_make_destroy_window_response ( )

Definition at line 294 of file fl_windowing_channel.cc.

294  {
295  return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
296 }

References fl_method_success_response_new().

Referenced by destroy_window().

◆ fl_windowing_channel_make_modify_regular_response()

FlMethodResponse* fl_windowing_channel_make_modify_regular_response ( )

Definition at line 290 of file fl_windowing_channel.cc.

290  {
291  return FL_METHOD_RESPONSE(fl_method_success_response_new(nullptr));
292 }

References fl_method_success_response_new().

Referenced by modify_regular().

◆ fl_windowing_channel_new()

FlWindowingChannel* fl_windowing_channel_new ( FlBinaryMessenger *  messenger,
FlWindowingChannelVTable vtable,
gpointer  user_data 
)

fl_windowing_channel_new: @messenger: an #FlBinaryMessenger @vtable: callbacks for incoming method calls. @user_data: data to pass in callbacks.

Creates a new channel that sends handled windowing requests from the platform.

Returns: a new #FlWindowingChannel

Definition at line 257 of file fl_windowing_channel.cc.

259  {
260  FlWindowingChannel* self = FL_WINDOWING_CHANNEL(
261  g_object_new(fl_windowing_channel_get_type(), nullptr));
262 
263  self->vtable = vtable;
264  self->user_data = user_data;
265 
266  g_autoptr(FlStandardMethodCodec) codec = fl_standard_method_codec_new();
267  self->channel =
268  fl_method_channel_new(messenger, kChannelName, FL_METHOD_CODEC(codec));
270  nullptr);
271 
272  return self;
273 }
G_BEGIN_DECLS G_MODULE_EXPORT FlValue gpointer user_data
G_MODULE_EXPORT FlMethodChannel * fl_method_channel_new(FlBinaryMessenger *messenger, const gchar *name, FlMethodCodec *codec)
G_MODULE_EXPORT void fl_method_channel_set_method_call_handler(FlMethodChannel *self, FlMethodChannelMethodCallHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
G_MODULE_EXPORT FlStandardMethodCodec * fl_standard_method_codec_new()
static void method_call_cb(FlMethodChannel *channel, FlMethodCall *method_call, gpointer user_data)
static constexpr char kChannelName[]

References fl_method_channel_new(), fl_method_channel_set_method_call_handler(), fl_standard_method_codec_new(), kChannelName, method_call_cb(), and user_data.

Referenced by fl_windowing_handler_new().

◆ G_DECLARE_FINAL_TYPE()

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE ( FlWindowingChannel  ,
fl_windowing_channel  ,
FL  ,
WINDOWING_CHANNEL  ,
GObject   
)