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