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"
20 
21 G_BEGIN_DECLS
22 
23 /**
24  * FlEngineError:
25  * Errors for #FlEngine objects to set on failures.
26  */
27 
28 typedef enum {
31 
32 GQuark fl_engine_error_quark(void) G_GNUC_CONST;
33 
34 /**
35  * FlEnginePlatformMessageHandler:
36  * @engine: an #FlEngine.
37  * @channel: channel message received on.
38  * @message: message content received from Dart.
39  * @response_handle: a handle to respond to the message with.
40  * @user_data: (closure): data provided when registering this handler.
41  *
42  * Function called when platform messages are received.
43  *
44  * Returns: %TRUE if message has been accepted.
45  */
46 typedef gboolean (*FlEnginePlatformMessageHandler)(
47  FlEngine* engine,
48  const gchar* channel,
49  GBytes* message,
50  const FlutterPlatformMessageResponseHandle* response_handle,
51  gpointer user_data);
52 
53 /**
54  * fl_engine_new_with_binary_messenger:
55  * @binary_messenger: an #FlBinaryMessenger.
56  *
57  * Creates a new engine with a custom binary messenger. Used for testing.
58  *
59  * Returns: a new #FlEngine.
60  */
62  FlBinaryMessenger* binary_messenger);
63 
64 /**
65  * fl_engine_get_renderer_type:
66  * @engine: an #FlEngine.
67  *
68  * Gets the rendering type used by this engine.
69  *
70  * Returns: type of rendering used.
71  */
72 FlutterRendererType fl_engine_get_renderer_type(FlEngine* engine);
73 
74 /**
75  * fl_engine_get_opengl_manager:
76  * @engine: an #FlEngine.
77  *
78  * Gets the OpenGL manager used by this engine.
79  *
80  * Returns: an #FlOpenGLManager.
81  */
82 FlOpenGLManager* fl_engine_get_opengl_manager(FlEngine* engine);
83 
84 /**
85  * fl_engine_get_display_monitor:
86  * @engine: an #FlEngine.
87  *
88  * Gets the display monitor used by this engine.
89  *
90  * Returns: an #FlDisplayMonitor.
91  */
92 FlDisplayMonitor* fl_engine_get_display_monitor(FlEngine* engine);
93 
94 /**
95  * fl_engine_start:
96  * @engine: an #FlEngine.
97  * @error: (allow-none): #GError location to store the error occurring, or %NULL
98  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
99  * %NULL, but an error from a previous call using GLib error handling is
100  * explicitly valid).
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  * @min_width: minimum width of view in pixels.
144  * @min_height: minimum height of view in pixels.
145  * @max_width: maximum width of view in pixels.
146  * @max_height: maximum height of view in pixels.
147  * @pixel_ratio: scale factor for view.
148  * @cancellable: (allow-none): a #GCancellable or %NULL.
149  * @callback: (scope async): a #GAsyncReadyCallback to call when the view is
150  * added.
151  * @user_data: (closure): user data to pass to @callback.
152  *
153  * Asynchronously add a new view. The returned view ID should not be used until
154  * this function completes.
155  *
156  * Returns: the ID for the view.
157  */
158 FlutterViewId fl_engine_add_view(FlEngine* engine,
159  FlRenderable* renderable,
160  size_t min_width,
161  size_t min_height,
162  size_t max_width,
163  size_t max_height,
164  double pixel_ratio,
165  GCancellable* cancellable,
166  GAsyncReadyCallback callback,
167  gpointer user_data);
168 
169 /**
170  * fl_engine_add_view_finish:
171  * @engine: an #FlEngine.
172  * @result: a #GAsyncResult.
173  * @error: (allow-none): #GError location to store the error occurring, or %NULL
174  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
175  * %NULL, but an error from a previous call using GLib error handling is
176  * explicitly valid).
177  *
178  * Completes request started with fl_engine_add_view().
179  *
180  * Returns: %TRUE on success.
181  */
182 gboolean fl_engine_add_view_finish(FlEngine* engine,
183  GAsyncResult* result,
184  GError** error);
185 
186 /**
187  * fl_engine_get_renderable:
188  * @engine: an #FlEngine.
189  * @view_id: ID to check.
190  *
191  * Gets the renderable associated with the give view ID.
192  *
193  * Returns: (transfer full): a reference to an #FlRenderable or %NULL if none
194  * for this ID.
195  */
196 FlRenderable* fl_engine_get_renderable(FlEngine* engine, FlutterViewId view_id);
197 
198 /**
199  * fl_engine_remove_view:
200  * @engine: an #FlEngine.
201  * @view_id: ID to remove.
202  * @cancellable: (allow-none): a #GCancellable or %NULL.
203  * @callback: (scope async): a #GAsyncReadyCallback to call when the view is
204  * added.
205  * @user_data: (closure): user data to pass to @callback.
206  *
207  * Removes a view previously added with fl_engine_add_view().
208  */
209 void fl_engine_remove_view(FlEngine* engine,
210  FlutterViewId view_id,
211  GCancellable* cancellable,
212  GAsyncReadyCallback callback,
213  gpointer user_data);
214 
215 /**
216  * fl_engine_remove_view_finish:
217  * @engine: an #FlEngine.
218  * @result: a #GAsyncResult.
219  * @error: (allow-none): #GError location to store the error occurring, or %NULL
220  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
221  * %NULL, but an error from a previous call using GLib error handling is
222  * explicitly valid).
223  *
224  * Completes request started with fl_engine_remove_view().
225  *
226  * Returns: %TRUE on succcess.
227  */
228 gboolean fl_engine_remove_view_finish(FlEngine* engine,
229  GAsyncResult* result,
230  GError** error);
231 
232 /**
233  * fl_engine_set_platform_message_handler:
234  * @engine: an #FlEngine.
235  * @handler: function to call when a platform message is received.
236  * @user_data: (closure): user data to pass to @handler.
237  * @destroy_notify: (allow-none): a function which gets called to free
238  * @user_data, or %NULL.
239  *
240  * Registers the function called when a platform message is received. Call
241  * fl_engine_send_platform_message_response() with the response to this message.
242  * Ownership of #FlutterPlatformMessageResponseHandle is
243  * transferred to the caller, and the message must be responded to avoid
244  * memory leaks.
245  */
247  FlEngine* engine,
249  gpointer user_data,
250  GDestroyNotify destroy_notify);
251 
252 /**
253  * fl_engine_send_window_metrics_event:
254  * @engine: an #FlEngine.
255  * @display_id: the display this view is rendering on.
256  * @view_id: the view that the event occured on.
257  * @min_width: minimum width of view in pixels.
258  * @min_height: minimum height of view in pixels.
259  * @max_width: maximum width of view in pixels.
260  * @max_height: maximum height of view in pixels.
261  * @pixel_ratio: scale factor for view.
262  *
263  * Sends a window metrics event to the engine.
264  */
265 void fl_engine_send_window_metrics_event(FlEngine* engine,
266  FlutterEngineDisplayId display_id,
267  FlutterViewId view_id,
268  size_t min_width,
269  size_t min_height,
270  size_t max_width,
271  size_t max_height,
272  double pixel_ratio);
273 
274 /**
275  * fl_engine_send_mouse_pointer_event:
276  * @engine: an #FlEngine.
277  * @view_id: the view that the event occured on.
278  * @phase: mouse phase.
279  * @timestamp: time when event occurred in microseconds.
280  * @x: x location of mouse cursor.
281  * @y: y location of mouse cursor.
282  * @device_kind: kind of pointing device.
283  * @scroll_delta_x: x offset of scroll.
284  * @scroll_delta_y: y offset of scroll.
285  * @buttons: buttons that are pressed.
286  *
287  * Sends a mouse pointer event to the engine.
288  */
289 void fl_engine_send_mouse_pointer_event(FlEngine* engine,
290  FlutterViewId view_id,
291  FlutterPointerPhase phase,
292  size_t timestamp,
293  double x,
294  double y,
295  FlutterPointerDeviceKind device_kind,
296  double scroll_delta_x,
297  double scroll_delta_y,
298  int64_t buttons);
299 
300 /**
301  * fl_engine_send_touch_up_event:
302  * @engine: an #FlEngine.
303  * @view_id: the view that the event occured on.
304  * @timestamp: time when event occurred in microseconds.
305  * @x: x location of mouse cursor.
306  * @y: y location of mouse cursor.
307  * @device: device id.
308  *
309  * Sends a touch up event to the engine.
310  */
311 void fl_engine_send_touch_up_event(FlEngine* engine,
312  FlutterViewId view_id,
313  size_t timestamp,
314  double x,
315  double y,
316  int32_t device);
317 
318 /**
319  * fl_engine_send_touch_down_event:
320  * @engine: an #FlEngine.
321  * @view_id: the view that the event occured on.
322  * @timestamp: time when event occurred in microseconds.
323  * @x: x location of mouse cursor.
324  * @y: y location of mouse cursor.
325  * @device: device id.
326  *
327  * Sends a touch down event to the engine.
328  */
329 void fl_engine_send_touch_down_event(FlEngine* engine,
330  FlutterViewId view_id,
331  size_t timestamp,
332  double x,
333  double y,
334  int32_t device);
335 /**
336  * fl_engine_send_touch_move_event:
337  * @engine: an #FlEngine.
338  * @view_id: the view that the event occured on.
339  * @timestamp: time when event occurred in microseconds.
340  * @x: x location of mouse cursor.
341  * @y: y location of mouse cursor.
342  * @device: device id.
343  *
344  * Sends a touch move event to the engine.
345  */
346 void fl_engine_send_touch_move_event(FlEngine* engine,
347  FlutterViewId view_id,
348  size_t timestamp,
349  double x,
350  double y,
351  int32_t device);
352 
353 /**
354  * fl_engine_send_touch_add_event:
355  * @engine: an #FlEngine.
356  * @view_id: the view that the event occured on.
357  * @timestamp: time when event occurred in microseconds.
358  * @x: x location of mouse cursor.
359  * @y: y location of mouse cursor.
360  * @device: device id.
361  *
362  * Sends a touch add event to the engine.
363  */
364 void fl_engine_send_touch_add_event(FlEngine* engine,
365  FlutterViewId view_id,
366  size_t timestamp,
367  double x,
368  double y,
369  int32_t device);
370 
371 /**
372  * fl_engine_send_touch_remove_event:
373  * @engine: an #FlEngine.
374  * @view_id: the view that the event occured on.
375  * @timestamp: time when event occurred in microseconds.
376  * @x: x location of mouse cursor.
377  * @y: y location of mouse cursor.
378  * @device: device id.
379  *
380  * Sends a touch remove event to the engine.
381  */
382 void fl_engine_send_touch_remove_event(FlEngine* engine,
383  FlutterViewId view_id,
384  size_t timestamp,
385  double x,
386  double y,
387  int32_t device);
388 
389 /**
390  * fl_engine_send_pointer_pan_zoom_event:
391  * @engine: an #FlEngine.
392  * @view_id: the view that the event occured on.
393  * @timestamp: time when event occurred in microseconds.
394  * @x: x location of mouse cursor.
395  * @y: y location of mouse cursor.
396  * @phase: mouse phase.
397  * @pan_x: x offset of the pan/zoom in pixels.
398  * @pan_y: y offset of the pan/zoom in pixels.
399  * @scale: scale of the pan/zoom.
400  * @rotation: rotation of the pan/zoom in radians.
401  *
402  * Sends a pan/zoom pointer event to the engine.
403  */
404 void fl_engine_send_pointer_pan_zoom_event(FlEngine* engine,
405  FlutterViewId view_id,
406  size_t timestamp,
407  double x,
408  double y,
409  FlutterPointerPhase phase,
410  double pan_x,
411  double pan_y,
412  double scale,
413  double rotation);
414 
415 /**
416  * fl_engine_send_key_event:
417  * @engine: an #FlEngine.
418  * @event: key event to send.
419  * @cancellable: (allow-none): a #GCancellable or %NULL.
420  * @callback: (scope async): a #GAsyncReadyCallback to call when the request is
421  * satisfied.
422  * @user_data: (closure): user data to pass to @callback.
423  *
424  * Send a key event to the engine.
425  */
426 void fl_engine_send_key_event(FlEngine* engine,
427  const FlutterKeyEvent* event,
428  GCancellable* cancellable,
429  GAsyncReadyCallback callback,
430  gpointer user_data);
431 
432 /**
433  * fl_engine_send_key_event_finish:
434  * @engine: an #FlEngine.
435  * @result: a #GAsyncResult.
436  * @handled: location to write if this event was handled by the engine.
437  * @error: (allow-none): #GError location to store the error occurring, or %NULL
438  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
439  * %NULL, but an error from a previous call using GLib error handling is
440  * explicitly valid).
441  *
442  * Completes request started with fl_engine_send_key_event().
443  *
444  * Returns: %TRUE on success.
445  */
446 gboolean fl_engine_send_key_event_finish(FlEngine* engine,
447  GAsyncResult* result,
448  gboolean* handled,
449  GError** error);
450 
451 /**
452  * fl_engine_dispatch_semantics_action:
453  * @engine: an #FlEngine.
454  * @view_id: the view that the event occured on.
455  * @node_id: the semantics action identifier.
456  * @action: the action being dispatched.
457  * @data: (allow-none): data associated with the action.
458  */
459 void fl_engine_dispatch_semantics_action(FlEngine* engine,
460  FlutterViewId view_id,
461  uint64_t node_id,
462  FlutterSemanticsAction action,
463  GBytes* data);
464 
465 /**
466  * fl_engine_send_platform_message_response:
467  * @engine: an #FlEngine.
468  * @handle: handle that was provided in #FlEnginePlatformMessageHandler.
469  * @response: (allow-none): response to send or %NULL for an empty response.
470  * @error: (allow-none): #GError location to store the error occurring, or %NULL
471  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
472  * %NULL, but an error from a previous call using GLib error handling is
473  * explicitly valid).
474  *
475  * Responds to a platform message.
476  *
477  * Returns: %TRUE on success.
478  */
480  FlEngine* engine,
481  const FlutterPlatformMessageResponseHandle* handle,
482  GBytes* response,
483  GError** error);
484 
485 /**
486  * fl_engine_send_platform_message:
487  * @engine: an #FlEngine.
488  * @channel: channel to send to.
489  * @message: (allow-none): message buffer to send or %NULL for an empty message
490  * @cancellable: (allow-none): a #GCancellable or %NULL.
491  * @callback: (scope async): a #GAsyncReadyCallback to call when the request is
492  * satisfied.
493  * @user_data: (closure): user data to pass to @callback.
494  *
495  * Asynchronously sends a platform message.
496  */
497 void fl_engine_send_platform_message(FlEngine* engine,
498  const gchar* channel,
499  GBytes* message,
500  GCancellable* cancellable,
501  GAsyncReadyCallback callback,
502  gpointer user_data);
503 
504 /**
505  * fl_engine_send_platform_message_finish:
506  * @engine: an #FlEngine.
507  * @result: a #GAsyncResult.
508  * @error: (allow-none): #GError location to store the error occurring, or %NULL
509  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
510  * %NULL, but an error from a previous call using GLib error handling is
511  * explicitly valid).
512  *
513  * Completes request started with fl_engine_send_platform_message().
514  *
515  * Returns: message response on success or %NULL on error.
516  */
517 GBytes* fl_engine_send_platform_message_finish(FlEngine* engine,
518  GAsyncResult* result,
519  GError** error);
520 
521 /**
522  * fl_engine_get_task_runner:
523  * @engine: an #FlEngine.
524  * @result: a #FlTaskRunner.
525  *
526  * Returns: task runner responsible for scheduling Flutter tasks.
527  */
528 FlTaskRunner* fl_engine_get_task_runner(FlEngine* engine);
529 
530 /**
531  * fl_engine_execute_task:
532  * @engine: an #FlEngine.
533  * @task: a #FlutterTask to execute.
534  *
535  * Executes given Flutter task.
536  */
537 void fl_engine_execute_task(FlEngine* engine, FlutterTask* task);
538 
539 /**
540  * fl_engine_mark_texture_frame_available:
541  * @engine: an #FlEngine.
542  * @texture_id: the identifier of the texture whose frame has been updated.
543  *
544  * Tells the Flutter engine that a new texture frame is available for the given
545  * texture.
546  *
547  * Returns: %TRUE on success.
548  */
549 gboolean fl_engine_mark_texture_frame_available(FlEngine* engine,
550  int64_t texture_id);
551 
552 /**
553  * fl_engine_register_external_texture:
554  * @engine: an #FlEngine.
555  * @texture_id: the identifier of the texture that is available.
556  *
557  * Tells the Flutter engine that a new external texture is available.
558  *
559  * Returns: %TRUE on success.
560  */
561 gboolean fl_engine_register_external_texture(FlEngine* engine,
562  int64_t texture_id);
563 
564 /**
565  * fl_engine_unregister_external_texture:
566  * @engine: an #FlEngine.
567  * @texture_id: the identifier of the texture that is not available anymore.
568  *
569  * Tells the Flutter engine that an existing external texture is not available
570  * anymore.
571  *
572  * Returns: %TRUE on success.
573  */
574 gboolean fl_engine_unregister_external_texture(FlEngine* engine,
575  int64_t texture_id);
576 
577 /**
578  * fl_engine_update_accessibility_features:
579  * @engine: an #FlEngine.
580  * @flags: the features to enable in the accessibility tree.
581  *
582  * Tells the Flutter engine to update the flags on the accessibility tree.
583  */
584 void fl_engine_update_accessibility_features(FlEngine* engine, int32_t flags);
585 
586 /**
587  * fl_engine_request_app_exit:
588  * @engine: an #FlEngine.
589  *
590  * Request the application exits.
591  */
592 void fl_engine_request_app_exit(FlEngine* engine);
593 
594 /**
595  * fl_engine_get_keyboard_manager:
596  * @engine: an #FlEngine.
597  *
598  * Gets the keyboard manager used by this engine.
599  *
600  * Returns: an #FlKeyboardManager.
601  */
602 FlKeyboardManager* fl_engine_get_keyboard_manager(FlEngine* engine);
603 
604 /**
605  * fl_engine_get_text_input_handler:
606  * @engine: an #FlEngine.
607  *
608  * Gets the text input handler used by this engine.
609  *
610  * Returns: an #FlTextInputHandler.
611  */
612 FlTextInputHandler* fl_engine_get_text_input_handler(FlEngine* engine);
613 
614 /**
615  * fl_engine_get_mouse_cursor_handler:
616  * @engine: an #FlEngine.
617  *
618  * Gets the mouse cursor handler used by this engine.
619  *
620  * Returns: an #FlMouseCursorHandler.
621  */
622 FlMouseCursorHandler* fl_engine_get_mouse_cursor_handler(FlEngine* engine);
623 
624 /**
625  * fl_engine_for_id:
626  * @handle: an engine identifier obtained through
627  * PlatformDispatcher.instance.engineId.
628  *
629  * Returns Flutter engine associated with the identifier. The identifier
630  * must be valid and for a running engine otherwise the behavior is
631  * undefined.
632  * Must be called from the main thread.
633  *
634  * Returns: a #FlEngine or NULL.
635  */
636 FlEngine* fl_engine_for_id(int64_t handle);
637 
638 G_END_DECLS
639 
640 #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_ENGINE_PRIVATE_H_
const char * message
FlRenderable * renderable
const char FlTextDirection FlAssertiveness gpointer user_data
FlKeyboardManager * fl_engine_get_keyboard_manager(FlEngine *engine)
Definition: fl_engine.cc:1534
gboolean fl_engine_remove_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:1016
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:1358
gboolean fl_engine_send_platform_message_response(FlEngine *engine, const FlutterPlatformMessageResponseHandle *handle, GBytes *response, GError **error)
Definition: fl_engine.cc:1042
void fl_engine_request_app_exit(FlEngine *engine)
Definition: fl_engine.cc:1529
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:1271
void fl_engine_execute_task(FlEngine *engine, FlutterTask *task)
Definition: fl_engine.cc:1502
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:1176
FlRenderable * fl_engine_get_renderable(FlEngine *engine, FlutterViewId view_id)
Definition: fl_engine.cc:983
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:1300
FlDisplayMonitor * fl_engine_get_display_monitor(FlEngine *engine)
Definition: fl_engine.cc:755
void fl_engine_remove_view(FlEngine *engine, FlutterViewId view_id, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:989
void fl_engine_send_key_event(FlEngine *engine, const FlutterKeyEvent *event, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:1400
FlOpenGLManager * fl_engine_get_opengl_manager(FlEngine *engine)
Definition: fl_engine.cc:750
gboolean fl_engine_mark_texture_frame_available(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1470
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:906
gboolean fl_engine_unregister_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1484
void fl_engine_set_platform_message_handler(FlEngine *engine, FlEnginePlatformMessageHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
Definition: fl_engine.cc:1023
FlEngine * fl_engine_for_id(int64_t handle)
Definition: fl_engine.cc:725
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:1440
void fl_engine_send_platform_message(FlEngine *engine, const gchar *channel, GBytes *message, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:1074
FlutterRendererType fl_engine_get_renderer_type(FlEngine *engine)
Definition: fl_engine.cc:745
void fl_engine_send_window_metrics_event(FlEngine *engine, FlutterEngineDisplayId display_id, FlutterViewId view_id, size_t min_width, size_t min_height, size_t max_width, size_t max_height, double pixel_ratio)
Definition: fl_engine.cc:1144
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:1242
gboolean fl_engine_register_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1477
FlutterEngineProcTable * fl_engine_get_embedder_api(FlEngine *engine)
Definition: fl_engine.cc:902
gboolean fl_engine_add_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:976
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:1329
GBytes * fl_engine_send_platform_message_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:1135
void fl_engine_set_implicit_view(FlEngine *engine, FlRenderable *renderable)
Definition: fl_engine.cc:919
FlTextInputHandler * fl_engine_get_text_input_handler(FlEngine *engine)
Definition: fl_engine.cc:1539
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:1213
void fl_engine_update_accessibility_features(FlEngine *engine, int32_t flags)
Definition: fl_engine.cc:1515
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:735
gboolean fl_engine_send_key_event_finish(FlEngine *engine, GAsyncResult *result, gboolean *handled, GError **error)
Definition: fl_engine.cc:1423
gboolean fl_engine_start(FlEngine *engine, GError **error)
Definition: fl_engine.cc:760
FlutterViewId fl_engine_add_view(FlEngine *engine, FlRenderable *renderable, size_t min_width, size_t min_height, size_t max_width, size_t max_height, double pixel_ratio, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:923
FlMouseCursorHandler * fl_engine_get_mouse_cursor_handler(FlEngine *engine)
Definition: fl_engine.cc:1544
FlTaskRunner * fl_engine_get_task_runner(FlEngine *engine)
Definition: fl_engine.cc:1497
const uint8_t uint32_t uint32_t GError ** error
G_BEGIN_DECLS FlutterViewId view_id
int64_t texture_id