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