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  * @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. If `error` is not %NULL, `*error` must be initialized (typically
171  * %NULL, but an error from a previous call using GLib error handling is
172  * explicitly valid).
173  *
174  * Completes request started with fl_engine_add_view().
175  *
176  * Returns: %TRUE on success.
177  */
178 gboolean fl_engine_add_view_finish(FlEngine* engine,
179  GAsyncResult* result,
180  GError** error);
181 
182 /**
183  * fl_engine_get_renderable:
184  * @engine: an #FlEngine.
185  * @view_id: ID to check.
186  *
187  * Gets the renderable associated with the give view ID.
188  *
189  * Returns: (transfer full): a reference to an #FlRenderable or %NULL if none
190  * for this ID.
191  */
192 FlRenderable* fl_engine_get_renderable(FlEngine* engine, FlutterViewId view_id);
193 
194 /**
195  * fl_engine_remove_view:
196  * @engine: an #FlEngine.
197  * @view_id: ID to remove.
198  * @cancellable: (allow-none): a #GCancellable or %NULL.
199  * @callback: (scope async): a #GAsyncReadyCallback to call when the view is
200  * added.
201  * @user_data: (closure): user data to pass to @callback.
202  *
203  * Removes a view previously added with fl_engine_add_view().
204  */
205 void fl_engine_remove_view(FlEngine* engine,
206  FlutterViewId view_id,
207  GCancellable* cancellable,
208  GAsyncReadyCallback callback,
209  gpointer user_data);
210 
211 /**
212  * fl_engine_remove_view_finish:
213  * @engine: an #FlEngine.
214  * @result: a #GAsyncResult.
215  * @error: (allow-none): #GError location to store the error occurring, or %NULL
216  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
217  * %NULL, but an error from a previous call using GLib error handling is
218  * explicitly valid).
219  *
220  * Completes request started with fl_engine_remove_view().
221  *
222  * Returns: %TRUE on succcess.
223  */
224 gboolean fl_engine_remove_view_finish(FlEngine* engine,
225  GAsyncResult* result,
226  GError** error);
227 
228 /**
229  * fl_engine_set_platform_message_handler:
230  * @engine: an #FlEngine.
231  * @handler: function to call when a platform message is received.
232  * @user_data: (closure): user data to pass to @handler.
233  * @destroy_notify: (allow-none): a function which gets called to free
234  * @user_data, or %NULL.
235  *
236  * Registers the function called when a platform message is received. Call
237  * fl_engine_send_platform_message_response() with the response to this message.
238  * Ownership of #FlutterPlatformMessageResponseHandle is
239  * transferred to the caller, and the message must be responded to avoid
240  * memory leaks.
241  */
243  FlEngine* engine,
245  gpointer user_data,
246  GDestroyNotify destroy_notify);
247 
248 /**
249  * fl_engine_send_window_metrics_event:
250  * @engine: an #FlEngine.
251  * @display_id: the display this view is rendering on.
252  * @view_id: the view that the event occured on.
253  * @width: width of the window in pixels.
254  * @height: height of the window in pixels.
255  * @pixel_ratio: scale factor for window.
256  *
257  * Sends a window metrics event to the engine.
258  */
259 void fl_engine_send_window_metrics_event(FlEngine* engine,
260  FlutterEngineDisplayId display_id,
261  FlutterViewId view_id,
262  size_t width,
263  size_t height,
264  double pixel_ratio);
265 
266 /**
267  * fl_engine_send_mouse_pointer_event:
268  * @engine: an #FlEngine.
269  * @view_id: the view that the event occured on.
270  * @phase: mouse phase.
271  * @timestamp: time when event occurred in microseconds.
272  * @x: x location of mouse cursor.
273  * @y: y location of mouse cursor.
274  * @device_kind: kind of pointing device.
275  * @scroll_delta_x: x offset of scroll.
276  * @scroll_delta_y: y offset of scroll.
277  * @buttons: buttons that are pressed.
278  *
279  * Sends a mouse pointer event to the engine.
280  */
281 void fl_engine_send_mouse_pointer_event(FlEngine* engine,
282  FlutterViewId view_id,
283  FlutterPointerPhase phase,
284  size_t timestamp,
285  double x,
286  double y,
287  FlutterPointerDeviceKind device_kind,
288  double scroll_delta_x,
289  double scroll_delta_y,
290  int64_t buttons);
291 
292 /**
293  * fl_engine_send_touch_up_event:
294  * @engine: an #FlEngine.
295  * @view_id: the view that the event occured on.
296  * @timestamp: time when event occurred in microseconds.
297  * @x: x location of mouse cursor.
298  * @y: y location of mouse cursor.
299  * @device: device id.
300  *
301  * Sends a touch up event to the engine.
302  */
303 void fl_engine_send_touch_up_event(FlEngine* engine,
304  FlutterViewId view_id,
305  size_t timestamp,
306  double x,
307  double y,
308  int32_t device);
309 
310 /**
311  * fl_engine_send_touch_down_event:
312  * @engine: an #FlEngine.
313  * @view_id: the view that the event occured on.
314  * @timestamp: time when event occurred in microseconds.
315  * @x: x location of mouse cursor.
316  * @y: y location of mouse cursor.
317  * @device: device id.
318  *
319  * Sends a touch down event to the engine.
320  */
321 void fl_engine_send_touch_down_event(FlEngine* engine,
322  FlutterViewId view_id,
323  size_t timestamp,
324  double x,
325  double y,
326  int32_t device);
327 /**
328  * fl_engine_send_touch_move_event:
329  * @engine: an #FlEngine.
330  * @view_id: the view that the event occured on.
331  * @timestamp: time when event occurred in microseconds.
332  * @x: x location of mouse cursor.
333  * @y: y location of mouse cursor.
334  * @device: device id.
335  *
336  * Sends a touch move event to the engine.
337  */
338 void fl_engine_send_touch_move_event(FlEngine* engine,
339  FlutterViewId view_id,
340  size_t timestamp,
341  double x,
342  double y,
343  int32_t device);
344 
345 /**
346  * fl_engine_send_touch_add_event:
347  * @engine: an #FlEngine.
348  * @view_id: the view that the event occured on.
349  * @timestamp: time when event occurred in microseconds.
350  * @x: x location of mouse cursor.
351  * @y: y location of mouse cursor.
352  * @device: device id.
353  *
354  * Sends a touch add event to the engine.
355  */
356 void fl_engine_send_touch_add_event(FlEngine* engine,
357  FlutterViewId view_id,
358  size_t timestamp,
359  double x,
360  double y,
361  int32_t device);
362 
363 /**
364  * fl_engine_send_touch_remove_event:
365  * @engine: an #FlEngine.
366  * @view_id: the view that the event occured on.
367  * @timestamp: time when event occurred in microseconds.
368  * @x: x location of mouse cursor.
369  * @y: y location of mouse cursor.
370  * @device: device id.
371  *
372  * Sends a touch remove event to the engine.
373  */
374 void fl_engine_send_touch_remove_event(FlEngine* engine,
375  FlutterViewId view_id,
376  size_t timestamp,
377  double x,
378  double y,
379  int32_t device);
380 
381 /**
382  * fl_engine_send_pointer_pan_zoom_event:
383  * @engine: an #FlEngine.
384  * @view_id: the view that the event occured on.
385  * @timestamp: time when event occurred in microseconds.
386  * @x: x location of mouse cursor.
387  * @y: y location of mouse cursor.
388  * @phase: mouse phase.
389  * @pan_x: x offset of the pan/zoom in pixels.
390  * @pan_y: y offset of the pan/zoom in pixels.
391  * @scale: scale of the pan/zoom.
392  * @rotation: rotation of the pan/zoom in radians.
393  *
394  * Sends a pan/zoom pointer event to the engine.
395  */
396 void fl_engine_send_pointer_pan_zoom_event(FlEngine* engine,
397  FlutterViewId view_id,
398  size_t timestamp,
399  double x,
400  double y,
401  FlutterPointerPhase phase,
402  double pan_x,
403  double pan_y,
404  double scale,
405  double rotation);
406 
407 /**
408  * fl_engine_send_key_event:
409  * @engine: an #FlEngine.
410  * @event: key event to send.
411  * @cancellable: (allow-none): a #GCancellable or %NULL.
412  * @callback: (scope async): a #GAsyncReadyCallback to call when the request is
413  * satisfied.
414  * @user_data: (closure): user data to pass to @callback.
415  *
416  * Send a key event to the engine.
417  */
418 void fl_engine_send_key_event(FlEngine* engine,
419  const FlutterKeyEvent* event,
420  GCancellable* cancellable,
421  GAsyncReadyCallback callback,
422  gpointer user_data);
423 
424 /**
425  * fl_engine_send_key_event_finish:
426  * @engine: an #FlEngine.
427  * @result: a #GAsyncResult.
428  * @handled: location to write if this event was handled by the engine.
429  * @error: (allow-none): #GError location to store the error occurring, or %NULL
430  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
431  * %NULL, but an error from a previous call using GLib error handling is
432  * explicitly valid).
433  *
434  * Completes request started with fl_engine_send_key_event().
435  *
436  * Returns: %TRUE on success.
437  */
438 gboolean fl_engine_send_key_event_finish(FlEngine* engine,
439  GAsyncResult* result,
440  gboolean* handled,
441  GError** error);
442 
443 /**
444  * fl_engine_dispatch_semantics_action:
445  * @engine: an #FlEngine.
446  * @view_id: the view that the event occured on.
447  * @node_id: the semantics action identifier.
448  * @action: the action being dispatched.
449  * @data: (allow-none): data associated with the action.
450  */
451 void fl_engine_dispatch_semantics_action(FlEngine* engine,
452  FlutterViewId view_id,
453  uint64_t node_id,
454  FlutterSemanticsAction action,
455  GBytes* data);
456 
457 /**
458  * fl_engine_send_platform_message_response:
459  * @engine: an #FlEngine.
460  * @handle: handle that was provided in #FlEnginePlatformMessageHandler.
461  * @response: (allow-none): response to send or %NULL for an empty response.
462  * @error: (allow-none): #GError location to store the error occurring, or %NULL
463  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
464  * %NULL, but an error from a previous call using GLib error handling is
465  * explicitly valid).
466  *
467  * Responds to a platform message.
468  *
469  * Returns: %TRUE on success.
470  */
472  FlEngine* engine,
473  const FlutterPlatformMessageResponseHandle* handle,
474  GBytes* response,
475  GError** error);
476 
477 /**
478  * fl_engine_send_platform_message:
479  * @engine: an #FlEngine.
480  * @channel: channel to send to.
481  * @message: (allow-none): message buffer to send or %NULL for an empty message
482  * @cancellable: (allow-none): a #GCancellable or %NULL.
483  * @callback: (scope async): a #GAsyncReadyCallback to call when the request is
484  * satisfied.
485  * @user_data: (closure): user data to pass to @callback.
486  *
487  * Asynchronously sends a platform message.
488  */
489 void fl_engine_send_platform_message(FlEngine* engine,
490  const gchar* channel,
491  GBytes* message,
492  GCancellable* cancellable,
493  GAsyncReadyCallback callback,
494  gpointer user_data);
495 
496 /**
497  * fl_engine_send_platform_message_finish:
498  * @engine: an #FlEngine.
499  * @result: a #GAsyncResult.
500  * @error: (allow-none): #GError location to store the error occurring, or %NULL
501  * to ignore. If `error` is not %NULL, `*error` must be initialized (typically
502  * %NULL, but an error from a previous call using GLib error handling is
503  * explicitly valid).
504  *
505  * Completes request started with fl_engine_send_platform_message().
506  *
507  * Returns: message response on success or %NULL on error.
508  */
509 GBytes* fl_engine_send_platform_message_finish(FlEngine* engine,
510  GAsyncResult* result,
511  GError** error);
512 
513 /**
514  * fl_engine_get_task_runner:
515  * @engine: an #FlEngine.
516  * @result: a #FlTaskRunner.
517  *
518  * Returns: task runner responsible for scheduling Flutter tasks.
519  */
520 FlTaskRunner* fl_engine_get_task_runner(FlEngine* engine);
521 
522 /**
523  * fl_engine_execute_task:
524  * @engine: an #FlEngine.
525  * @task: a #FlutterTask to execute.
526  *
527  * Executes given Flutter task.
528  */
529 void fl_engine_execute_task(FlEngine* engine, FlutterTask* task);
530 
531 /**
532  * fl_engine_mark_texture_frame_available:
533  * @engine: an #FlEngine.
534  * @texture_id: the identifier of the texture whose frame has been updated.
535  *
536  * Tells the Flutter engine that a new texture frame is available for the given
537  * texture.
538  *
539  * Returns: %TRUE on success.
540  */
541 gboolean fl_engine_mark_texture_frame_available(FlEngine* engine,
542  int64_t texture_id);
543 
544 /**
545  * fl_engine_register_external_texture:
546  * @engine: an #FlEngine.
547  * @texture_id: the identifier of the texture that is available.
548  *
549  * Tells the Flutter engine that a new external texture is available.
550  *
551  * Returns: %TRUE on success.
552  */
553 gboolean fl_engine_register_external_texture(FlEngine* engine,
554  int64_t texture_id);
555 
556 /**
557  * fl_engine_unregister_external_texture:
558  * @engine: an #FlEngine.
559  * @texture_id: the identifier of the texture that is not available anymore.
560  *
561  * Tells the Flutter engine that an existing external texture is not available
562  * anymore.
563  *
564  * Returns: %TRUE on success.
565  */
566 gboolean fl_engine_unregister_external_texture(FlEngine* engine,
567  int64_t texture_id);
568 
569 /**
570  * fl_engine_update_accessibility_features:
571  * @engine: an #FlEngine.
572  * @flags: the features to enable in the accessibility tree.
573  *
574  * Tells the Flutter engine to update the flags on the accessibility tree.
575  */
576 void fl_engine_update_accessibility_features(FlEngine* engine, int32_t flags);
577 
578 /**
579  * fl_engine_request_app_exit:
580  * @engine: an #FlEngine.
581  *
582  * Request the application exits.
583  */
584 void fl_engine_request_app_exit(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_
const char * message
FlRenderable * renderable
const char FlTextDirection FlAssertiveness gpointer user_data
self height
self width
FlKeyboardManager * fl_engine_get_keyboard_manager(FlEngine *engine)
Definition: fl_engine.cc:1494
gboolean fl_engine_remove_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:983
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:1318
gboolean fl_engine_send_platform_message_response(FlEngine *engine, const FlutterPlatformMessageResponseHandle *handle, GBytes *response, GError **error)
Definition: fl_engine.cc:1009
void fl_engine_request_app_exit(FlEngine *engine)
Definition: fl_engine.cc:1489
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:892
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:1231
void fl_engine_execute_task(FlEngine *engine, FlutterTask *task)
Definition: fl_engine.cc:1462
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:1136
FlRenderable * fl_engine_get_renderable(FlEngine *engine, FlutterViewId view_id)
Definition: fl_engine.cc:948
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:1260
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:1111
FlDisplayMonitor * fl_engine_get_display_monitor(FlEngine *engine)
Definition: fl_engine.cc:721
void fl_engine_remove_view(FlEngine *engine, FlutterViewId view_id, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:956
void fl_engine_send_key_event(FlEngine *engine, const FlutterKeyEvent *event, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:1360
FlOpenGLManager * fl_engine_get_opengl_manager(FlEngine *engine)
Definition: fl_engine.cc:716
gboolean fl_engine_mark_texture_frame_available(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1430
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:872
gboolean fl_engine_unregister_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1444
void fl_engine_set_platform_message_handler(FlEngine *engine, FlEnginePlatformMessageHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
Definition: fl_engine.cc:990
FlEngine * fl_engine_for_id(int64_t handle)
Definition: fl_engine.cc:691
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:1400
void fl_engine_send_platform_message(FlEngine *engine, const gchar *channel, GBytes *message, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:1041
FlutterRendererType fl_engine_get_renderer_type(FlEngine *engine)
Definition: fl_engine.cc:711
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:1202
gboolean fl_engine_register_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1437
FlutterEngineProcTable * fl_engine_get_embedder_api(FlEngine *engine)
Definition: fl_engine.cc:868
gboolean fl_engine_add_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:941
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:1289
GBytes * fl_engine_send_platform_message_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:1102
void fl_engine_set_implicit_view(FlEngine *engine, FlRenderable *renderable)
Definition: fl_engine.cc:885
FlTextInputHandler * fl_engine_get_text_input_handler(FlEngine *engine)
Definition: fl_engine.cc:1499
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:1173
void fl_engine_update_accessibility_features(FlEngine *engine, int32_t flags)
Definition: fl_engine.cc:1475
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:701
gboolean fl_engine_send_key_event_finish(FlEngine *engine, GAsyncResult *result, gboolean *handled, GError **error)
Definition: fl_engine.cc:1383
gboolean fl_engine_start(FlEngine *engine, GError **error)
Definition: fl_engine.cc:726
FlMouseCursorHandler * fl_engine_get_mouse_cursor_handler(FlEngine *engine)
Definition: fl_engine.cc:1504
FlTaskRunner * fl_engine_get_task_runner(FlEngine *engine)
Definition: fl_engine.cc:1457
const uint8_t uint32_t uint32_t GError ** error
G_BEGIN_DECLS FlutterViewId view_id
int64_t texture_id