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