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