Flutter Linux Embedder
fl_engine_private.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_SHELL_PLATFORM_LINUX_FL_ENGINE_PRIVATE_H_
6 #define FLUTTER_SHELL_PLATFORM_LINUX_FL_ENGINE_PRIVATE_H_
7 
8 #include <glib-object.h>
9 
10 #include "flutter/shell/platform/embedder/embedder.h"
22 
23 G_BEGIN_DECLS
24 
25 /**
26  * FlEngineError:
27  * Errors for #FlEngine objects to set on failures.
28  */
29 
30 typedef enum {
33 
34 GQuark fl_engine_error_quark(void) G_GNUC_CONST;
35 
36 /**
37  * FlEnginePlatformMessageHandler:
38  * @engine: an #FlEngine.
39  * @channel: channel message received on.
40  * @message: message content received from Dart.
41  * @response_handle: a handle to respond to the message with.
42  * @user_data: (closure): data provided when registering this handler.
43  *
44  * Function called when platform messages are received.
45  *
46  * Returns: %TRUE if message has been accepted.
47  */
48 typedef gboolean (*FlEnginePlatformMessageHandler)(
49  FlEngine* engine,
50  const gchar* channel,
51  GBytes* message,
52  const FlutterPlatformMessageResponseHandle* response_handle,
53  gpointer user_data);
54 
55 /**
56  * fl_engine_new_with_binary_messenger:
57  * @binary_messenger: an #FlBinaryMessenger.
58  *
59  * Creates a new engine with a custom binary messenger. Used for testing.
60  *
61  * Returns: a new #FlEngine.
62  */
64  FlBinaryMessenger* binary_messenger);
65 
66 /**
67  * fl_engine_get_compositor:
68  * @engine: an #FlEngine.
69  *
70  * Gets the compositor used by this engine.
71  *
72  * Returns: an #FlCompositor.
73  */
74 FlCompositor* fl_engine_get_compositor(FlEngine* engine);
75 
76 /**
77  * fl_engine_get_opengl_manager:
78  * @engine: an #FlEngine.
79  *
80  * Gets the OpenGL manager used by this engine.
81  *
82  * Returns: an #FlOpenGLManager.
83  */
84 FlOpenGLManager* fl_engine_get_opengl_manager(FlEngine* engine);
85 
86 /**
87  * fl_engine_get_display_monitor:
88  * @engine: an #FlEngine.
89  *
90  * Gets the display monitor used by this engine.
91  *
92  * Returns: an #FlDisplayMonitor.
93  */
94 FlDisplayMonitor* fl_engine_get_display_monitor(FlEngine* engine);
95 
96 /**
97  * fl_engine_start:
98  * @engine: an #FlEngine.
99  * @error: (allow-none): #GError location to store the error occurring, or %NULL
100  * to ignore.
101  *
102  * Starts the Flutter engine.
103  *
104  * Returns: %TRUE on success.
105  */
106 gboolean fl_engine_start(FlEngine* engine, GError** error);
107 
108 /**
109  * fl_engine_get_embedder_api:
110  * @engine: an #FlEngine.
111  *
112  * Gets the embedder API proc table, allowing modificiations for unit testing.
113  *
114  * Returns: a mutable pointer to the embedder API proc table.
115  */
116 FlutterEngineProcTable* fl_engine_get_embedder_api(FlEngine* engine);
117 
118 /**
119  * fl_engine_notify_display_update:
120  * @engine: an #FlEngine.
121  * @displays: displays present on the system.
122  * @displays_length: length of @displays.
123  *
124  * Notify the current displays that are in the system.
125  */
126 void fl_engine_notify_display_update(FlEngine* engine,
127  const FlutterEngineDisplay* displays,
128  size_t displays_length);
129 
130 /**
131  * fl_engine_set_implicit_view:
132  * @engine: an #FlEngine.
133  * @renderable: the object that will render the implicit view.
134  *
135  * Sets the object to render the implicit view.
136  */
137 void fl_engine_set_implicit_view(FlEngine* engine, FlRenderable* renderable);
138 
139 /**
140  * fl_engine_add_view:
141  * @engine: an #FlEngine.
142  * @renderable: the object that will render this view.
143  * @width: width of view in pixels.
144  * @height: height of view in pixels.
145  * @pixel_ratio: scale factor for view.
146  * @cancellable: (allow-none): a #GCancellable or %NULL.
147  * @callback: (scope async): a #GAsyncReadyCallback to call when the view is
148  * added.
149  * @user_data: (closure): user data to pass to @callback.
150  *
151  * Asynchronously add a new view. The returned view ID should not be used until
152  * this function completes.
153  *
154  * Returns: the ID for the view.
155  */
156 FlutterViewId fl_engine_add_view(FlEngine* engine,
157  FlRenderable* renderable,
158  size_t width,
159  size_t height,
160  double pixel_ratio,
161  GCancellable* cancellable,
162  GAsyncReadyCallback callback,
163  gpointer user_data);
164 
165 /**
166  * fl_engine_add_view_finish:
167  * @engine: an #FlEngine.
168  * @result: a #GAsyncResult.
169  * @error: (allow-none): #GError location to store the error occurring, or %NULL
170  * to ignore.
171  *
172  * Completes request started with fl_engine_add_view().
173  *
174  * Returns: %TRUE on success.
175  */
176 gboolean fl_engine_add_view_finish(FlEngine* engine,
177  GAsyncResult* result,
178  GError** error);
179 
180 /**
181  * fl_engine_get_renderable:
182  * @engine: an #FlEngine.
183  * @view_id: ID to check.
184  *
185  * Gets the renderable associated with the give view ID.
186  *
187  * Returns: (transfer full): a reference to an #FlRenderable or %NULL if none
188  * for this ID.
189  */
190 FlRenderable* fl_engine_get_renderable(FlEngine* engine, FlutterViewId view_id);
191 
192 /**
193  * fl_engine_remove_view:
194  * @engine: an #FlEngine.
195  * @view_id: ID to remove.
196  * @cancellable: (allow-none): a #GCancellable or %NULL.
197  * @callback: (scope async): a #GAsyncReadyCallback to call when the view is
198  * added.
199  * @user_data: (closure): user data to pass to @callback.
200  *
201  * Removes a view previously added with fl_engine_add_view().
202  */
203 void fl_engine_remove_view(FlEngine* engine,
204  FlutterViewId view_id,
205  GCancellable* cancellable,
206  GAsyncReadyCallback callback,
207  gpointer user_data);
208 
209 /**
210  * fl_engine_remove_view_finish:
211  * @engine: an #FlEngine.
212  * @result: a #GAsyncResult.
213  * @error: (allow-none): #GError location to store the error occurring, or %NULL
214  * to ignore.
215  *
216  * Completes request started with fl_engine_remove_view().
217  *
218  * Returns: %TRUE on succcess.
219  */
220 gboolean fl_engine_remove_view_finish(FlEngine* engine,
221  GAsyncResult* result,
222  GError** error);
223 
224 /**
225  * fl_engine_set_platform_message_handler:
226  * @engine: an #FlEngine.
227  * @handler: function to call when a platform message is received.
228  * @user_data: (closure): user data to pass to @handler.
229  * @destroy_notify: (allow-none): a function which gets called to free
230  * @user_data, or %NULL.
231  *
232  * Registers the function called when a platform message is received. Call
233  * fl_engine_send_platform_message_response() with the response to this message.
234  * Ownership of #FlutterPlatformMessageResponseHandle is
235  * transferred to the caller, and the message must be responded to avoid
236  * memory leaks.
237  */
239  FlEngine* engine,
241  gpointer user_data,
242  GDestroyNotify destroy_notify);
243 
244 /**
245  * fl_engine_send_window_metrics_event:
246  * @engine: an #FlEngine.
247  * @display_id: the display this view is rendering on.
248  * @view_id: the view that the event occured on.
249  * @width: width of the window in pixels.
250  * @height: height of the window in pixels.
251  * @pixel_ratio: scale factor for window.
252  *
253  * Sends a window metrics event to the engine.
254  */
255 void fl_engine_send_window_metrics_event(FlEngine* engine,
256  FlutterEngineDisplayId display_id,
257  FlutterViewId view_id,
258  size_t width,
259  size_t height,
260  double pixel_ratio);
261 
262 /**
263  * fl_engine_send_mouse_pointer_event:
264  * @engine: an #FlEngine.
265  * @view_id: the view that the event occured on.
266  * @phase: mouse phase.
267  * @timestamp: time when event occurred in microseconds.
268  * @x: x location of mouse cursor.
269  * @y: y location of mouse cursor.
270  * @device_kind: kind of pointing device.
271  * @scroll_delta_x: x offset of scroll.
272  * @scroll_delta_y: y offset of scroll.
273  * @buttons: buttons that are pressed.
274  *
275  * Sends a mouse pointer event to the engine.
276  */
277 void fl_engine_send_mouse_pointer_event(FlEngine* engine,
278  FlutterViewId view_id,
279  FlutterPointerPhase phase,
280  size_t timestamp,
281  double x,
282  double y,
283  FlutterPointerDeviceKind device_kind,
284  double scroll_delta_x,
285  double scroll_delta_y,
286  int64_t buttons);
287 
288 /**
289  * fl_engine_send_touch_up_event:
290  * @engine: an #FlEngine.
291  * @view_id: the view that the event occured on.
292  * @timestamp: time when event occurred in microseconds.
293  * @x: x location of mouse cursor.
294  * @y: y location of mouse cursor.
295  * @device: device id.
296  *
297  * Sends a touch up event to the engine.
298  */
299 void fl_engine_send_touch_up_event(FlEngine* engine,
300  FlutterViewId view_id,
301  size_t timestamp,
302  double x,
303  double y,
304  int32_t device);
305 
306 /**
307  * fl_engine_send_touch_down_event:
308  * @engine: an #FlEngine.
309  * @view_id: the view that the event occured on.
310  * @timestamp: time when event occurred in microseconds.
311  * @x: x location of mouse cursor.
312  * @y: y location of mouse cursor.
313  * @device: device id.
314  *
315  * Sends a touch down event to the engine.
316  */
317 void fl_engine_send_touch_down_event(FlEngine* engine,
318  FlutterViewId view_id,
319  size_t timestamp,
320  double x,
321  double y,
322  int32_t device);
323 /**
324  * fl_engine_send_touch_move_event:
325  * @engine: an #FlEngine.
326  * @view_id: the view that the event occured on.
327  * @timestamp: time when event occurred in microseconds.
328  * @x: x location of mouse cursor.
329  * @y: y location of mouse cursor.
330  * @device: device id.
331  *
332  * Sends a touch move event to the engine.
333  */
334 void fl_engine_send_touch_move_event(FlEngine* engine,
335  FlutterViewId view_id,
336  size_t timestamp,
337  double x,
338  double y,
339  int32_t device);
340 
341 /**
342  * fl_engine_send_touch_add_event:
343  * @engine: an #FlEngine.
344  * @view_id: the view that the event occured on.
345  * @timestamp: time when event occurred in microseconds.
346  * @x: x location of mouse cursor.
347  * @y: y location of mouse cursor.
348  * @device: device id.
349  *
350  * Sends a touch add event to the engine.
351  */
352 void fl_engine_send_touch_add_event(FlEngine* engine,
353  FlutterViewId view_id,
354  size_t timestamp,
355  double x,
356  double y,
357  int32_t device);
358 
359 /**
360  * fl_engine_send_touch_remove_event:
361  * @engine: an #FlEngine.
362  * @view_id: the view that the event occured on.
363  * @timestamp: time when event occurred in microseconds.
364  * @x: x location of mouse cursor.
365  * @y: y location of mouse cursor.
366  * @device: device id.
367  *
368  * Sends a touch remove event to the engine.
369  */
370 void fl_engine_send_touch_remove_event(FlEngine* engine,
371  FlutterViewId view_id,
372  size_t timestamp,
373  double x,
374  double y,
375  int32_t device);
376 
377 /**
378  * fl_engine_send_pointer_pan_zoom_event:
379  * @engine: an #FlEngine.
380  * @view_id: the view that the event occured on.
381  * @timestamp: time when event occurred in microseconds.
382  * @x: x location of mouse cursor.
383  * @y: y location of mouse cursor.
384  * @phase: mouse phase.
385  * @pan_x: x offset of the pan/zoom in pixels.
386  * @pan_y: y offset of the pan/zoom in pixels.
387  * @scale: scale of the pan/zoom.
388  * @rotation: rotation of the pan/zoom in radians.
389  *
390  * Sends a pan/zoom pointer event to the engine.
391  */
392 void fl_engine_send_pointer_pan_zoom_event(FlEngine* engine,
393  FlutterViewId view_id,
394  size_t timestamp,
395  double x,
396  double y,
397  FlutterPointerPhase phase,
398  double pan_x,
399  double pan_y,
400  double scale,
401  double rotation);
402 
403 /**
404  * fl_engine_send_key_event:
405  * @engine: an #FlEngine.
406  * @event: key event to send.
407  * @cancellable: (allow-none): a #GCancellable or %NULL.
408  * @callback: (scope async): a #GAsyncReadyCallback to call when the request is
409  * satisfied.
410  * @user_data: (closure): user data to pass to @callback.
411  *
412  * Send a key event to the engine.
413  */
414 void fl_engine_send_key_event(FlEngine* engine,
415  const FlutterKeyEvent* event,
416  GCancellable* cancellable,
417  GAsyncReadyCallback callback,
418  gpointer user_data);
419 
420 /**
421  * fl_engine_send_key_event_finish:
422  * @engine: an #FlEngine.
423  * @result: a #GAsyncResult.
424  * @handled: location to write if this event was handled by the engine.
425  * @error: (allow-none): #GError location to store the error occurring, or %NULL
426  * to ignore.
427  *
428  * Completes request started with fl_engine_send_key_event().
429  *
430  * Returns: %TRUE on success.
431  */
432 gboolean fl_engine_send_key_event_finish(FlEngine* engine,
433  GAsyncResult* result,
434  gboolean* handled,
435  GError** error);
436 
437 /**
438  * fl_engine_dispatch_semantics_action:
439  * @engine: an #FlEngine.
440  * @view_id: the view that the event occured on.
441  * @node_id: the semantics action identifier.
442  * @action: the action being dispatched.
443  * @data: (allow-none): data associated with the action.
444  */
445 void fl_engine_dispatch_semantics_action(FlEngine* engine,
446  FlutterViewId view_id,
447  uint64_t node_id,
448  FlutterSemanticsAction action,
449  GBytes* data);
450 
451 /**
452  * fl_engine_send_platform_message_response:
453  * @engine: an #FlEngine.
454  * @handle: handle that was provided in #FlEnginePlatformMessageHandler.
455  * @response: (allow-none): response to send or %NULL for an empty response.
456  * @error: (allow-none): #GError location to store the error occurring, or %NULL
457  * to ignore.
458  *
459  * Responds to a platform message.
460  *
461  * Returns: %TRUE on success.
462  */
464  FlEngine* engine,
465  const FlutterPlatformMessageResponseHandle* handle,
466  GBytes* response,
467  GError** error);
468 
469 /**
470  * fl_engine_send_platform_message:
471  * @engine: an #FlEngine.
472  * @channel: channel to send to.
473  * @message: (allow-none): message buffer to send or %NULL for an empty message
474  * @cancellable: (allow-none): a #GCancellable or %NULL.
475  * @callback: (scope async): a #GAsyncReadyCallback to call when the request is
476  * satisfied.
477  * @user_data: (closure): user data to pass to @callback.
478  *
479  * Asynchronously sends a platform message.
480  */
481 void fl_engine_send_platform_message(FlEngine* engine,
482  const gchar* channel,
483  GBytes* message,
484  GCancellable* cancellable,
485  GAsyncReadyCallback callback,
486  gpointer user_data);
487 
488 /**
489  * fl_engine_send_platform_message_finish:
490  * @engine: an #FlEngine.
491  * @result: a #GAsyncResult.
492  * @error: (allow-none): #GError location to store the error occurring, or %NULL
493  * to ignore.
494  *
495  * Completes request started with fl_engine_send_platform_message().
496  *
497  * Returns: message response on success or %NULL on error.
498  */
499 GBytes* fl_engine_send_platform_message_finish(FlEngine* engine,
500  GAsyncResult* result,
501  GError** error);
502 
503 /**
504  * fl_engine_get_task_runner:
505  * @engine: an #FlEngine.
506  * @result: a #FlTaskRunner.
507  *
508  * Returns: task runner responsible for scheduling Flutter tasks.
509  */
510 FlTaskRunner* fl_engine_get_task_runner(FlEngine* engine);
511 
512 /**
513  * fl_engine_execute_task:
514  * @engine: an #FlEngine.
515  * @task: a #FlutterTask to execute.
516  *
517  * Executes given Flutter task.
518  */
519 void fl_engine_execute_task(FlEngine* engine, FlutterTask* task);
520 
521 /**
522  * fl_engine_mark_texture_frame_available:
523  * @engine: an #FlEngine.
524  * @texture_id: the identifier of the texture whose frame has been updated.
525  *
526  * Tells the Flutter engine that a new texture frame is available for the given
527  * texture.
528  *
529  * Returns: %TRUE on success.
530  */
531 gboolean fl_engine_mark_texture_frame_available(FlEngine* engine,
532  int64_t texture_id);
533 
534 /**
535  * fl_engine_register_external_texture:
536  * @engine: an #FlEngine.
537  * @texture_id: the identifier of the texture that is available.
538  *
539  * Tells the Flutter engine that a new external texture is available.
540  *
541  * Returns: %TRUE on success.
542  */
543 gboolean fl_engine_register_external_texture(FlEngine* engine,
544  int64_t texture_id);
545 
546 /**
547  * fl_engine_unregister_external_texture:
548  * @engine: an #FlEngine.
549  * @texture_id: the identifier of the texture that is not available anymore.
550  *
551  * Tells the Flutter engine that an existing external texture is not available
552  * anymore.
553  *
554  * Returns: %TRUE on success.
555  */
556 gboolean fl_engine_unregister_external_texture(FlEngine* engine,
557  int64_t texture_id);
558 
559 /**
560  * fl_engine_update_accessibility_features:
561  * @engine: an #FlEngine.
562  * @flags: the features to enable in the accessibility tree.
563  *
564  * Tells the Flutter engine to update the flags on the accessibility tree.
565  */
566 void fl_engine_update_accessibility_features(FlEngine* engine, int32_t flags);
567 
568 /**
569  * fl_engine_request_app_exit:
570  * @engine: an #FlEngine.
571  *
572  * Request the application exits.
573  */
574 void fl_engine_request_app_exit(FlEngine* engine);
575 
576 /**
577  * fl_engine_get_windowing_handler:
578  * @engine: an #FlEngine.
579  *
580  * Gets the windowing handler used by this engine.
581  *
582  * Returns: an #FlWindowingHandler.
583  */
584 FlWindowingHandler* fl_engine_get_windowing_handler(FlEngine* engine);
585 
586 /**
587  * fl_engine_get_keyboard_manager:
588  * @engine: an #FlEngine.
589  *
590  * Gets the keyboard manager used by this engine.
591  *
592  * Returns: an #FlKeyboardManager.
593  */
594 FlKeyboardManager* fl_engine_get_keyboard_manager(FlEngine* engine);
595 
596 /**
597  * fl_engine_get_text_input_handler:
598  * @engine: an #FlEngine.
599  *
600  * Gets the text input handler used by this engine.
601  *
602  * Returns: an #FlTextInputHandler.
603  */
604 FlTextInputHandler* fl_engine_get_text_input_handler(FlEngine* engine);
605 
606 /**
607  * fl_engine_get_mouse_cursor_handler:
608  * @engine: an #FlEngine.
609  *
610  * Gets the mouse cursor handler used by this engine.
611  *
612  * Returns: an #FlMouseCursorHandler.
613  */
614 FlMouseCursorHandler* fl_engine_get_mouse_cursor_handler(FlEngine* engine);
615 
616 /**
617  * fl_engine_for_id:
618  * @handle: an engine identifier obtained through
619  * PlatformDispatcher.instance.engineId.
620  *
621  * Returns Flutter engine associated with the identifier. The identifier
622  * must be valid and for a running engine otherwise the behavior is
623  * undefined.
624  * Must be called from the main thread.
625  *
626  * Returns: a #FlEngine or NULL.
627  */
628 FlEngine* fl_engine_for_id(int64_t handle);
629 
630 G_END_DECLS
631 
632 #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_ENGINE_PRIVATE_H_
FlutterSemanticsFlag flags
FlKeyboardManager * fl_engine_get_keyboard_manager(FlEngine *engine)
Definition: fl_engine.cc:1324
gboolean fl_engine_remove_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:841
void fl_engine_send_pointer_pan_zoom_event(FlEngine *engine, FlutterViewId view_id, size_t timestamp, double x, double y, FlutterPointerPhase phase, double pan_x, double pan_y, double scale, double rotation)
Definition: fl_engine.cc:1153
gboolean fl_engine_send_platform_message_response(FlEngine *engine, const FlutterPlatformMessageResponseHandle *handle, GBytes *response, GError **error)
Definition: fl_engine.cc:867
void fl_engine_request_app_exit(FlEngine *engine)
Definition: fl_engine.cc:1314
FlutterViewId fl_engine_add_view(FlEngine *engine, FlRenderable *renderable, size_t width, size_t height, double pixel_ratio, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:750
void fl_engine_send_touch_move_event(FlEngine *engine, FlutterViewId view_id, size_t timestamp, double x, double y, int32_t device)
Definition: fl_engine.cc:1075
void fl_engine_execute_task(FlEngine *engine, FlutterTask *task)
Definition: fl_engine.cc:1292
void fl_engine_send_mouse_pointer_event(FlEngine *engine, FlutterViewId view_id, FlutterPointerPhase phase, size_t timestamp, double x, double y, FlutterPointerDeviceKind device_kind, double scroll_delta_x, double scroll_delta_y, int64_t buttons)
Definition: fl_engine.cc:989
FlRenderable * fl_engine_get_renderable(FlEngine *engine, FlutterViewId view_id)
Definition: fl_engine.cc:806
FlWindowingHandler * fl_engine_get_windowing_handler(FlEngine *engine)
Definition: fl_engine.cc:1319
void fl_engine_send_touch_add_event(FlEngine *engine, FlutterViewId view_id, size_t timestamp, double x, double y, int32_t device)
Definition: fl_engine.cc:1101
void fl_engine_send_window_metrics_event(FlEngine *engine, FlutterEngineDisplayId display_id, FlutterViewId view_id, size_t width, size_t height, double pixel_ratio)
Definition: fl_engine.cc:967
FlDisplayMonitor * fl_engine_get_display_monitor(FlEngine *engine)
Definition: fl_engine.cc:608
void fl_engine_remove_view(FlEngine *engine, FlutterViewId view_id, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:814
void fl_engine_send_key_event(FlEngine *engine, const FlutterKeyEvent *event, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:1192
FlOpenGLManager * fl_engine_get_opengl_manager(FlEngine *engine)
Definition: fl_engine.cc:603
gboolean fl_engine_mark_texture_frame_available(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1260
GQuark fl_engine_error_quark(void) G_GNUC_CONST
void fl_engine_notify_display_update(FlEngine *engine, const FlutterEngineDisplay *displays, size_t displays_length)
Definition: fl_engine.cc:730
gboolean fl_engine_unregister_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1274
void fl_engine_set_platform_message_handler(FlEngine *engine, FlEnginePlatformMessageHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
Definition: fl_engine.cc:848
FlEngine * fl_engine_for_id(int64_t handle)
Definition: fl_engine.cc:578
FlEngineError
@ FL_ENGINE_ERROR_FAILED
void fl_engine_dispatch_semantics_action(FlEngine *engine, FlutterViewId view_id, uint64_t node_id, FlutterSemanticsAction action, GBytes *data)
Definition: fl_engine.cc:1232
FlCompositor * fl_engine_get_compositor(FlEngine *engine)
Definition: fl_engine.cc:598
void fl_engine_send_platform_message(FlEngine *engine, const gchar *channel, GBytes *message, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:899
void fl_engine_send_touch_down_event(FlEngine *engine, FlutterViewId view_id, size_t timestamp, double x, double y, int32_t device)
Definition: fl_engine.cc:1049
gboolean fl_engine_register_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1267
FlutterEngineProcTable * fl_engine_get_embedder_api(FlEngine *engine)
Definition: fl_engine.cc:726
gboolean fl_engine_add_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:799
void fl_engine_send_touch_remove_event(FlEngine *engine, FlutterViewId view_id, size_t timestamp, double x, double y, int32_t device)
Definition: fl_engine.cc:1127
GBytes * fl_engine_send_platform_message_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:958
void fl_engine_set_implicit_view(FlEngine *engine, FlRenderable *renderable)
Definition: fl_engine.cc:743
FlTextInputHandler * fl_engine_get_text_input_handler(FlEngine *engine)
Definition: fl_engine.cc:1329
void fl_engine_send_touch_up_event(FlEngine *engine, FlutterViewId view_id, size_t timestamp, double x, double y, int32_t device)
Definition: fl_engine.cc:1023
void fl_engine_update_accessibility_features(FlEngine *engine, int32_t flags)
Definition: fl_engine.cc:1303
gboolean(* FlEnginePlatformMessageHandler)(FlEngine *engine, const gchar *channel, GBytes *message, const FlutterPlatformMessageResponseHandle *response_handle, gpointer user_data)
FlEngine * fl_engine_new_with_binary_messenger(FlBinaryMessenger *binary_messenger)
Definition: fl_engine.cc:588
gboolean fl_engine_send_key_event_finish(FlEngine *engine, GAsyncResult *result, gboolean *handled, GError **error)
Definition: fl_engine.cc:1215
gboolean fl_engine_start(FlEngine *engine, GError **error)
Definition: fl_engine.cc:613
FlMouseCursorHandler * fl_engine_get_mouse_cursor_handler(FlEngine *engine)
Definition: fl_engine.cc:1334
FlTaskRunner * fl_engine_get_task_runner(FlEngine *engine)
Definition: fl_engine.cc:1287
G_BEGIN_DECLS G_MODULE_EXPORT FlValue gpointer user_data
const uint8_t uint32_t uint32_t * height
const uint8_t uint32_t * width
const uint8_t uint32_t uint32_t GError ** error
G_BEGIN_DECLS FlutterViewId view_id
int64_t texture_id