| 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.
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 */
237 void fl_engine_set_platform_message_handler(
238 FlEngine* engine,
239 FlEnginePlatformMessageHandler handler,
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 */
462 gboolean fl_engine_send_platform_message_response(
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_
action
FlutterSemanticsAction action
Definition: fl_accessible_node.cc:86
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:1456
fl_engine_remove_view_finish
gboolean fl_engine_remove_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:973
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:1285
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:999
fl_engine_request_app_exit
void fl_engine_request_app_exit(FlEngine *engine)
Definition: fl_engine.cc:1446
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:882
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:1207
fl_engine_execute_task
void fl_engine_execute_task(FlEngine *engine, FlutterTask *task)
Definition: fl_engine.cc:1424
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:1121
fl_engine_get_renderable
FlRenderable * fl_engine_get_renderable(FlEngine *engine, FlutterViewId view_id)
Definition: fl_engine.cc:938
fl_engine_get_windowing_handler
FlWindowingHandler * fl_engine_get_windowing_handler(FlEngine *engine)
Definition: fl_engine.cc:1451
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:1233
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:1099
fl_engine_get_display_monitor
FlDisplayMonitor * fl_engine_get_display_monitor(FlEngine *engine)
Definition: fl_engine.cc:715
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:946
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:1324
fl_engine_get_opengl_manager
FlOpenGLManager * fl_engine_get_opengl_manager(FlEngine *engine)
Definition: fl_engine.cc:710
fl_engine_mark_texture_frame_available
gboolean fl_engine_mark_texture_frame_available(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1392
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:862
fl_engine_unregister_external_texture
gboolean fl_engine_unregister_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1406
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:980
fl_engine_for_id
FlEngine * fl_engine_for_id(int64_t handle)
Definition: fl_engine.cc:685
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:1364
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:1031
fl_engine_get_renderer_type
FlutterRendererType fl_engine_get_renderer_type(FlEngine *engine)
Definition: fl_engine.cc:705
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:1181
fl_engine_register_external_texture
gboolean fl_engine_register_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1399
fl_engine_get_embedder_api
FlutterEngineProcTable * fl_engine_get_embedder_api(FlEngine *engine)
Definition: fl_engine.cc:858
fl_engine_add_view_finish
gboolean fl_engine_add_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:931
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:1259
fl_engine_send_platform_message_finish
GBytes * fl_engine_send_platform_message_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:1090
fl_engine_set_implicit_view
void fl_engine_set_implicit_view(FlEngine *engine, FlRenderable *renderable)
Definition: fl_engine.cc:875
fl_engine_get_text_input_handler
FlTextInputHandler * fl_engine_get_text_input_handler(FlEngine *engine)
Definition: fl_engine.cc:1461
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:1155
fl_engine_update_accessibility_features
void fl_engine_update_accessibility_features(FlEngine *engine, int32_t flags)
Definition: fl_engine.cc:1435
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:695
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:1347
fl_engine_start
gboolean fl_engine_start(FlEngine *engine, GError **error)
Definition: fl_engine.cc:720
fl_engine_get_mouse_cursor_handler
FlMouseCursorHandler * fl_engine_get_mouse_cursor_handler(FlEngine *engine)
Definition: fl_engine.cc:1466
fl_engine_get_task_runner
FlTaskRunner * fl_engine_get_task_runner(FlEngine *engine)
Definition: fl_engine.cc:1419
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