| 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_display_monitor.h"
12 #include "flutter/shell/platform/linux/fl_keyboard_manager.h"
13 #include "flutter/shell/platform/linux/fl_mouse_cursor_handler.h"
14 #include "flutter/shell/platform/linux/fl_opengl_manager.h"
15 #include "flutter/shell/platform/linux/fl_renderable.h"
16 #include "flutter/shell/platform/linux/fl_task_runner.h"
17 #include "flutter/shell/platform/linux/fl_text_input_handler.h"
18 #include "flutter/shell/platform/linux/fl_windowing_handler.h"
19 #include "flutter/shell/platform/linux/public/flutter_linux/fl_dart_project.h"
20 #include "flutter/shell/platform/linux/public/flutter_linux/fl_engine.h"
21
22 G_BEGIN_DECLS
23
24 /**
25 * FlEngineError:
26 * Errors for #FlEngine objects to set on failures.
27 */
28
29 typedef enum {
30 FL_ENGINE_ERROR_FAILED,
31 } FlEngineError;
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 */
62 FlEngine* fl_engine_new_with_binary_messenger(
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 */
243 void fl_engine_set_platform_message_handler(
244 FlEngine* engine,
245 FlEnginePlatformMessageHandler handler,
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 */
472 gboolean fl_engine_send_platform_message_response(
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_
height
self height
Definition: fl_compositor_software.cc:43
width
self width
Definition: fl_compositor_software.cc:42
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:1499
fl_engine_remove_view_finish
gboolean fl_engine_remove_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:983
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:1318
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:1009
fl_engine_request_app_exit
void fl_engine_request_app_exit(FlEngine *engine)
Definition: fl_engine.cc:1489
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:892
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:1231
fl_engine_execute_task
void fl_engine_execute_task(FlEngine *engine, FlutterTask *task)
Definition: fl_engine.cc:1462
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:1136
fl_engine_get_renderable
FlRenderable * fl_engine_get_renderable(FlEngine *engine, FlutterViewId view_id)
Definition: fl_engine.cc:948
fl_engine_get_windowing_handler
FlWindowingHandler * fl_engine_get_windowing_handler(FlEngine *engine)
Definition: fl_engine.cc:1494
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:1260
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:1111
fl_engine_get_display_monitor
FlDisplayMonitor * fl_engine_get_display_monitor(FlEngine *engine)
Definition: fl_engine.cc:721
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:956
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:1360
fl_engine_get_opengl_manager
FlOpenGLManager * fl_engine_get_opengl_manager(FlEngine *engine)
Definition: fl_engine.cc:716
fl_engine_mark_texture_frame_available
gboolean fl_engine_mark_texture_frame_available(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1430
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:872
fl_engine_unregister_external_texture
gboolean fl_engine_unregister_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1444
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:990
fl_engine_for_id
FlEngine * fl_engine_for_id(int64_t handle)
Definition: fl_engine.cc:691
FlEngineError
FlEngineError
Definition: fl_engine_private.h:29
FL_ENGINE_ERROR_FAILED
@ FL_ENGINE_ERROR_FAILED
Definition: fl_engine_private.h:30
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:1400
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:1041
fl_engine_get_renderer_type
FlutterRendererType fl_engine_get_renderer_type(FlEngine *engine)
Definition: fl_engine.cc:711
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:1202
fl_engine_register_external_texture
gboolean fl_engine_register_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1437
fl_engine_get_embedder_api
FlutterEngineProcTable * fl_engine_get_embedder_api(FlEngine *engine)
Definition: fl_engine.cc:868
fl_engine_add_view_finish
gboolean fl_engine_add_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:941
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:1289
fl_engine_send_platform_message_finish
GBytes * fl_engine_send_platform_message_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:1102
fl_engine_set_implicit_view
void fl_engine_set_implicit_view(FlEngine *engine, FlRenderable *renderable)
Definition: fl_engine.cc:885
fl_engine_get_text_input_handler
FlTextInputHandler * fl_engine_get_text_input_handler(FlEngine *engine)
Definition: fl_engine.cc:1504
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:1173
fl_engine_update_accessibility_features
void fl_engine_update_accessibility_features(FlEngine *engine, int32_t flags)
Definition: fl_engine.cc:1475
FlEnginePlatformMessageHandler
gboolean(* FlEnginePlatformMessageHandler)(FlEngine *engine, const gchar *channel, GBytes *message, const FlutterPlatformMessageResponseHandle *response_handle, gpointer user_data)
Definition: fl_engine_private.h:47
fl_engine_new_with_binary_messenger
FlEngine * fl_engine_new_with_binary_messenger(FlBinaryMessenger *binary_messenger)
Definition: fl_engine.cc:701
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:1383
fl_engine_start
gboolean fl_engine_start(FlEngine *engine, GError **error)
Definition: fl_engine.cc:726
fl_engine_get_mouse_cursor_handler
FlMouseCursorHandler * fl_engine_get_mouse_cursor_handler(FlEngine *engine)
Definition: fl_engine.cc:1509
fl_engine_get_task_runner
FlTaskRunner * fl_engine_get_task_runner(FlEngine *engine)
Definition: fl_engine.cc:1457
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
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