| 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_mouse_cursor_handler.h"
13 #include "flutter/shell/platform/linux/fl_renderer.h"
14 #include "flutter/shell/platform/linux/fl_task_runner.h"
15 #include "flutter/shell/platform/linux/public/flutter_linux/fl_dart_project.h"
16 #include "flutter/shell/platform/linux/public/flutter_linux/fl_engine.h"
17
18 G_BEGIN_DECLS
19
20 /**
21 * FlEngineError:
22 * Errors for #FlEngine objects to set on failures.
23 */
24
25 typedef enum {
26 FL_ENGINE_ERROR_FAILED,
27 } FlEngineError;
28
29 GQuark fl_engine_error_quark(void) G_GNUC_CONST;
30
31 /**
32 * FlEnginePlatformMessageHandler:
33 * @engine: an #FlEngine.
34 * @channel: channel message received on.
35 * @message: message content received from Dart.
36 * @response_handle: a handle to respond to the message with.
37 * @user_data: (closure): data provided when registering this handler.
38 *
39 * Function called when platform messages are received.
40 *
41 * Returns: %TRUE if message has been accepted.
42 */
43 typedef gboolean (*FlEnginePlatformMessageHandler)(
44 FlEngine* engine,
45 const gchar* channel,
46 GBytes* message,
47 const FlutterPlatformMessageResponseHandle* response_handle,
48 gpointer user_data);
49
50 /**
51 * FlEngineUpdateSemanticsHandler:
52 * @engine: an #FlEngine.
53 * @node: semantic node information.
54 * @user_data: (closure): data provided when registering this handler.
55 *
56 * Function called when semantics node updates are received.
57 */
58 typedef void (*FlEngineUpdateSemanticsHandler)(
59 FlEngine* engine,
60 const FlutterSemanticsUpdate2* update,
61 gpointer user_data);
62
63 /**
64 * fl_engine_new_with_renderer:
65 * @project: an #FlDartProject.
66 * @renderer: an #FlRenderer.
67 *
68 * Creates new Flutter engine.
69 *
70 * Returns: a new #FlEngine.
71 */
72 FlEngine* fl_engine_new_with_renderer(FlDartProject* project,
73 FlRenderer* renderer);
74
75 /**
76 * fl_engine_get_renderer:
77 * @engine: an #FlEngine.
78 *
79 * Gets the renderer used by this engine.
80 *
81 * Returns: an #FlRenderer.
82 */
83 FlRenderer* fl_engine_get_renderer(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_add_view:
131 * @engine: an #FlEngine.
132 * @width: width of view in pixels.
133 * @height: height of view in pixels.
134 * @pixel_ratio: scale factor for view.
135 * @cancellable: (allow-none): a #GCancellable or %NULL.
136 * @callback: (scope async): a #GAsyncReadyCallback to call when the view is
137 * added.
138 * @user_data: (closure): user data to pass to @callback.
139 *
140 * Asynchronously add a new view. The returned view ID should not be used until
141 * this function completes.
142 *
143 * Returns: the ID for the view.
144 */
145 FlutterViewId fl_engine_add_view(FlEngine* engine,
146 size_t width,
147 size_t height,
148 double pixel_ratio,
149 GCancellable* cancellable,
150 GAsyncReadyCallback callback,
151 gpointer user_data);
152
153 /**
154 * fl_engine_add_view_finish:
155 * @engine: an #FlEngine.
156 * @result: a #GAsyncResult.
157 * @error: (allow-none): #GError location to store the error occurring, or %NULL
158 * to ignore.
159 *
160 * Completes request started with fl_engine_add_view().
161 *
162 * Returns: %TRUE on success.
163 */
164 gboolean fl_engine_add_view_finish(FlEngine* engine,
165 GAsyncResult* result,
166 GError** error);
167
168 /**
169 * fl_engine_remove_view:
170 * @engine: an #FlEngine.
171 * @view_id: ID to remove.
172 * @cancellable: (allow-none): a #GCancellable or %NULL.
173 * @callback: (scope async): a #GAsyncReadyCallback to call when the view is
174 * added.
175 * @user_data: (closure): user data to pass to @callback.
176 *
177 * Removes a view previously added with fl_engine_add_view().
178 */
179 void fl_engine_remove_view(FlEngine* engine,
180 FlutterViewId view_id,
181 GCancellable* cancellable,
182 GAsyncReadyCallback callback,
183 gpointer user_data);
184
185 /**
186 * fl_engine_remove_view_finish:
187 * @engine: an #FlEngine.
188 * @result: a #GAsyncResult.
189 * @error: (allow-none): #GError location to store the error occurring, or %NULL
190 * to ignore.
191 *
192 * Completes request started with fl_engine_remove_view().
193 *
194 * Returns: %TRUE on succcess.
195 */
196 gboolean fl_engine_remove_view_finish(FlEngine* engine,
197 GAsyncResult* result,
198 GError** error);
199
200 /**
201 * fl_engine_set_platform_message_handler:
202 * @engine: an #FlEngine.
203 * @handler: function to call when a platform message is received.
204 * @user_data: (closure): user data to pass to @handler.
205 * @destroy_notify: (allow-none): a function which gets called to free
206 * @user_data, or %NULL.
207 *
208 * Registers the function called when a platform message is received. Call
209 * fl_engine_send_platform_message_response() with the response to this message.
210 * Ownership of #FlutterPlatformMessageResponseHandle is
211 * transferred to the caller, and the message must be responded to avoid
212 * memory leaks.
213 */
214 void fl_engine_set_platform_message_handler(
215 FlEngine* engine,
216 FlEnginePlatformMessageHandler handler,
217 gpointer user_data,
218 GDestroyNotify destroy_notify);
219
220 /**
221 * fl_engine_set_update_semantics_handler:
222 * @engine: an #FlEngine.
223 * @handler: function to call when a semantics update is received.
224 * @user_data: (closure): user data to pass to @handler.
225 * @destroy_notify: (allow-none): a function which gets called to free
226 * @user_data, or %NULL.
227 *
228 * Registers the function called when a semantics update is received.
229 */
230 void fl_engine_set_update_semantics_handler(
231 FlEngine* engine,
232 FlEngineUpdateSemanticsHandler handler,
233 gpointer user_data,
234 GDestroyNotify destroy_notify);
235
236 /**
237 * fl_engine_send_window_metrics_event:
238 * @engine: an #FlEngine.
239 * @display_id: the display this view is rendering on.
240 * @view_id: the view that the event occured on.
241 * @width: width of the window in pixels.
242 * @height: height of the window in pixels.
243 * @pixel_ratio: scale factor for window.
244 *
245 * Sends a window metrics event to the engine.
246 */
247 void fl_engine_send_window_metrics_event(FlEngine* engine,
248 FlutterEngineDisplayId display_id,
249 FlutterViewId view_id,
250 size_t width,
251 size_t height,
252 double pixel_ratio);
253
254 /**
255 * fl_engine_send_mouse_pointer_event:
256 * @engine: an #FlEngine.
257 * @view_id: the view that the event occured on.
258 * @phase: mouse phase.
259 * @timestamp: time when event occurred in microseconds.
260 * @x: x location of mouse cursor.
261 * @y: y location of mouse cursor.
262 * @device_kind: kind of pointing device.
263 * @scroll_delta_x: x offset of scroll.
264 * @scroll_delta_y: y offset of scroll.
265 * @buttons: buttons that are pressed.
266 *
267 * Sends a mouse pointer event to the engine.
268 */
269 void fl_engine_send_mouse_pointer_event(FlEngine* engine,
270 FlutterViewId view_id,
271 FlutterPointerPhase phase,
272 size_t timestamp,
273 double x,
274 double y,
275 FlutterPointerDeviceKind device_kind,
276 double scroll_delta_x,
277 double scroll_delta_y,
278 int64_t buttons);
279
280 /**
281 * fl_engine_send_touch_up_event:
282 * @engine: an #FlEngine.
283 * @view_id: the view that the event occured on.
284 * @timestamp: time when event occurred in microseconds.
285 * @x: x location of mouse cursor.
286 * @y: y location of mouse cursor.
287 * @device: device id.
288 *
289 * Sends a touch up event to the engine.
290 */
291 void fl_engine_send_touch_up_event(FlEngine* engine,
292 FlutterViewId view_id,
293 size_t timestamp,
294 double x,
295 double y,
296 int32_t device);
297
298 /**
299 * fl_engine_send_touch_down_event:
300 * @engine: an #FlEngine.
301 * @view_id: the view that the event occured on.
302 * @timestamp: time when event occurred in microseconds.
303 * @x: x location of mouse cursor.
304 * @y: y location of mouse cursor.
305 * @device: device id.
306 *
307 * Sends a touch down event to the engine.
308 */
309 void fl_engine_send_touch_down_event(FlEngine* engine,
310 FlutterViewId view_id,
311 size_t timestamp,
312 double x,
313 double y,
314 int32_t device);
315 /**
316 * fl_engine_send_touch_move_event:
317 * @engine: an #FlEngine.
318 * @view_id: the view that the event occured on.
319 * @timestamp: time when event occurred in microseconds.
320 * @x: x location of mouse cursor.
321 * @y: y location of mouse cursor.
322 * @device: device id.
323 *
324 * Sends a touch move event to the engine.
325 */
326 void fl_engine_send_touch_move_event(FlEngine* engine,
327 FlutterViewId view_id,
328 size_t timestamp,
329 double x,
330 double y,
331 int32_t device);
332
333 /**
334 * fl_engine_send_touch_add_event:
335 * @engine: an #FlEngine.
336 * @view_id: the view that the event occured on.
337 * @timestamp: time when event occurred in microseconds.
338 * @x: x location of mouse cursor.
339 * @y: y location of mouse cursor.
340 * @device: device id.
341 *
342 * Sends a touch add event to the engine.
343 */
344 void fl_engine_send_touch_add_event(FlEngine* engine,
345 FlutterViewId view_id,
346 size_t timestamp,
347 double x,
348 double y,
349 int32_t device);
350
351 /**
352 * fl_engine_send_touch_remove_event:
353 * @engine: an #FlEngine.
354 * @view_id: the view that the event occured on.
355 * @timestamp: time when event occurred in microseconds.
356 * @x: x location of mouse cursor.
357 * @y: y location of mouse cursor.
358 * @device: device id.
359 *
360 * Sends a touch remove event to the engine.
361 */
362 void fl_engine_send_touch_remove_event(FlEngine* engine,
363 FlutterViewId view_id,
364 size_t timestamp,
365 double x,
366 double y,
367 int32_t device);
368
369 /**
370 * fl_engine_send_pointer_pan_zoom_event:
371 * @engine: an #FlEngine.
372 * @view_id: the view that the event occured on.
373 * @timestamp: time when event occurred in microseconds.
374 * @x: x location of mouse cursor.
375 * @y: y location of mouse cursor.
376 * @phase: mouse phase.
377 * @pan_x: x offset of the pan/zoom in pixels.
378 * @pan_y: y offset of the pan/zoom in pixels.
379 * @scale: scale of the pan/zoom.
380 * @rotation: rotation of the pan/zoom in radians.
381 *
382 * Sends a pan/zoom pointer event to the engine.
383 */
384 void fl_engine_send_pointer_pan_zoom_event(FlEngine* engine,
385 FlutterViewId view_id,
386 size_t timestamp,
387 double x,
388 double y,
389 FlutterPointerPhase phase,
390 double pan_x,
391 double pan_y,
392 double scale,
393 double rotation);
394
395 /**
396 * fl_engine_send_key_event:
397 * @engine: an #FlEngine.
398 * @event: key event to send.
399 * @cancellable: (allow-none): a #GCancellable or %NULL.
400 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is
401 * satisfied.
402 * @user_data: (closure): user data to pass to @callback.
403 *
404 * Send a key event to the engine.
405 */
406 void fl_engine_send_key_event(FlEngine* engine,
407 const FlutterKeyEvent* event,
408 GCancellable* cancellable,
409 GAsyncReadyCallback callback,
410 gpointer user_data);
411
412 /**
413 * fl_engine_send_key_event_finish:
414 * @engine: an #FlEngine.
415 * @result: a #GAsyncResult.
416 * @handled: location to write if this event was handled by the engine.
417 * @error: (allow-none): #GError location to store the error occurring, or %NULL
418 * to ignore.
419 *
420 * Completes request started with fl_engine_send_key_event().
421 *
422 * Returns: %TRUE on success.
423 */
424 gboolean fl_engine_send_key_event_finish(FlEngine* engine,
425 GAsyncResult* result,
426 gboolean* handled,
427 GError** error);
428
429 /**
430 * fl_engine_dispatch_semantics_action:
431 * @engine: an #FlEngine.
432 * @id: the semantics action identifier.
433 * @action: the action being dispatched.
434 * @data: (allow-none): data associated with the action.
435 */
436 void fl_engine_dispatch_semantics_action(FlEngine* engine,
437 uint64_t id,
438 FlutterSemanticsAction action,
439 GBytes* data);
440
441 /**
442 * fl_engine_send_platform_message_response:
443 * @engine: an #FlEngine.
444 * @handle: handle that was provided in #FlEnginePlatformMessageHandler.
445 * @response: (allow-none): response to send or %NULL for an empty response.
446 * @error: (allow-none): #GError location to store the error occurring, or %NULL
447 * to ignore.
448 *
449 * Responds to a platform message.
450 *
451 * Returns: %TRUE on success.
452 */
453 gboolean fl_engine_send_platform_message_response(
454 FlEngine* engine,
455 const FlutterPlatformMessageResponseHandle* handle,
456 GBytes* response,
457 GError** error);
458
459 /**
460 * fl_engine_send_platform_message:
461 * @engine: an #FlEngine.
462 * @channel: channel to send to.
463 * @message: (allow-none): message buffer to send or %NULL for an empty message
464 * @cancellable: (allow-none): a #GCancellable or %NULL.
465 * @callback: (scope async): a #GAsyncReadyCallback to call when the request is
466 * satisfied.
467 * @user_data: (closure): user data to pass to @callback.
468 *
469 * Asynchronously sends a platform message.
470 */
471 void fl_engine_send_platform_message(FlEngine* engine,
472 const gchar* channel,
473 GBytes* message,
474 GCancellable* cancellable,
475 GAsyncReadyCallback callback,
476 gpointer user_data);
477
478 /**
479 * fl_engine_send_platform_message_finish:
480 * @engine: an #FlEngine.
481 * @result: a #GAsyncResult.
482 * @error: (allow-none): #GError location to store the error occurring, or %NULL
483 * to ignore.
484 *
485 * Completes request started with fl_engine_send_platform_message().
486 *
487 * Returns: message response on success or %NULL on error.
488 */
489 GBytes* fl_engine_send_platform_message_finish(FlEngine* engine,
490 GAsyncResult* result,
491 GError** error);
492
493 /**
494 * fl_engine_get_task_runner:
495 * @engine: an #FlEngine.
496 * @result: a #FlTaskRunner.
497 *
498 * Returns: task runner responsible for scheduling Flutter tasks.
499 */
500 FlTaskRunner* fl_engine_get_task_runner(FlEngine* engine);
501
502 /**
503 * fl_engine_execute_task:
504 * @engine: an #FlEngine.
505 * @task: a #FlutterTask to execute.
506 *
507 * Executes given Flutter task.
508 */
509 void fl_engine_execute_task(FlEngine* engine, FlutterTask* task);
510
511 /**
512 * fl_engine_mark_texture_frame_available:
513 * @engine: an #FlEngine.
514 * @texture_id: the identifier of the texture whose frame has been updated.
515 *
516 * Tells the Flutter engine that a new texture frame is available for the given
517 * texture.
518 *
519 * Returns: %TRUE on success.
520 */
521 gboolean fl_engine_mark_texture_frame_available(FlEngine* engine,
522 int64_t texture_id);
523
524 /**
525 * fl_engine_register_external_texture:
526 * @engine: an #FlEngine.
527 * @texture_id: the identifier of the texture that is available.
528 *
529 * Tells the Flutter engine that a new external texture is available.
530 *
531 * Returns: %TRUE on success.
532 */
533 gboolean fl_engine_register_external_texture(FlEngine* engine,
534 int64_t texture_id);
535
536 /**
537 * fl_engine_unregister_external_texture:
538 * @engine: an #FlEngine.
539 * @texture_id: the identifier of the texture that is not available anymore.
540 *
541 * Tells the Flutter engine that an existing external texture is not available
542 * anymore.
543 *
544 * Returns: %TRUE on success.
545 */
546 gboolean fl_engine_unregister_external_texture(FlEngine* engine,
547 int64_t texture_id);
548
549 /**
550 * fl_engine_update_accessibility_features:
551 * @engine: an #FlEngine.
552 * @flags: the features to enable in the accessibility tree.
553 *
554 * Tells the Flutter engine to update the flags on the accessibility tree.
555 */
556 void fl_engine_update_accessibility_features(FlEngine* engine, int32_t flags);
557
558 /**
559 * fl_engine_request_app_exit:
560 * @engine: an #FlEngine.
561 *
562 * Request the application exits.
563 */
564 void fl_engine_request_app_exit(FlEngine* engine);
565
566 /**
567 * fl_engine_get_mouse_cursor_handler:
568 * @engine: an #FlEngine.
569 *
570 * Gets the mouse cursor handler used by this engine.
571 *
572 * Returns: a #FlMouseCursorHandler.
573 */
574 FlMouseCursorHandler* fl_engine_get_mouse_cursor_handler(FlEngine* engine);
575
576 G_END_DECLS
577
578 #endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_ENGINE_PRIVATE_H_
fl_engine_send_platform_message_finish
GBytes * fl_engine_send_platform_message_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:887
FlEnginePlatformMessageHandler
gboolean(* FlEnginePlatformMessageHandler)(FlEngine *engine, const gchar *channel, GBytes *message, const FlutterPlatformMessageResponseHandle *response_handle, gpointer user_data)
Definition: fl_engine_private.h:43
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:828
FL_ENGINE_ERROR_FAILED
@ FL_ENGINE_ERROR_FAILED
Definition: fl_engine_private.h:26
fl_engine_mark_texture_frame_available
gboolean fl_engine_mark_texture_frame_available(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1182
fl_engine_unregister_external_texture
gboolean fl_engine_unregister_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1196
fl_engine_add_view
FlutterViewId fl_engine_add_view(FlEngine *engine, size_t width, size_t height, double pixel_ratio, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
Definition: fl_engine.cc:678
fl_task_runner.h
FlEngineUpdateSemanticsHandler
void(* FlEngineUpdateSemanticsHandler)(FlEngine *engine, const FlutterSemanticsUpdate2 *update, gpointer user_data)
Definition: fl_engine_private.h:58
fl_engine_start
gboolean fl_engine_start(FlEngine *engine, GError **error)
Definition: fl_engine.cc:544
fl_engine_notify_display_update
void fl_engine_notify_display_update(FlEngine *engine, const FlutterEngineDisplay *displays, size_t displays_length)
Definition: fl_engine.cc:665
fl_engine_execute_task
void fl_engine_execute_task(FlEngine *engine, FlutterTask *task)
Definition: fl_engine.cc:1214
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:1004
flags
FlutterSemanticsFlag flags
Definition: fl_accessible_node.cc:106
fl_engine_add_view_finish
gboolean fl_engine_add_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:721
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:896
fl_engine_remove_view_finish
gboolean fl_engine_remove_view_finish(FlEngine *engine, GAsyncResult *result, GError **error)
Definition: fl_engine.cc:753
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:796
fl_engine_register_external_texture
gboolean fl_engine_register_external_texture(FlEngine *engine, int64_t texture_id)
Definition: fl_engine.cc:1189
user_data
G_BEGIN_DECLS G_MODULE_EXPORT FlValue gpointer user_data
Definition: fl_event_channel.h:90
fl_engine_request_app_exit
void fl_engine_request_app_exit(FlEngine *engine)
Definition: fl_engine.cc:1236
fl_engine_new_with_renderer
FlEngine * fl_engine_new_with_renderer(FlDartProject *project, FlRenderer *renderer)
Definition: fl_engine.cc:509
fl_engine_get_display_monitor
FlDisplayMonitor * fl_engine_get_display_monitor(FlEngine *engine)
Definition: fl_engine.cc:539
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:1121
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:918
fl_dart_project.h
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:1056
fl_engine_update_accessibility_features
void fl_engine_update_accessibility_features(FlEngine *engine, int32_t flags)
Definition: fl_engine.cc:1225
fl_mouse_cursor_handler.h
fl_engine_get_renderer
FlRenderer * fl_engine_get_renderer(FlEngine *engine)
Definition: fl_engine.cc:534
fl_engine_get_mouse_cursor_handler
FlMouseCursorHandler * fl_engine_get_mouse_cursor_handler(FlEngine *engine)
Definition: fl_engine.cc:1241
fl_engine_get_task_runner
FlTaskRunner * fl_engine_get_task_runner(FlEngine *engine)
Definition: fl_engine.cc:1209
fl_renderer.h
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:1144
fl_engine_set_update_semantics_handler
void fl_engine_set_update_semantics_handler(FlEngine *engine, FlEngineUpdateSemanticsHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
Definition: fl_engine.cc:778
fl_engine_get_embedder_api
FlutterEngineProcTable * fl_engine_get_embedder_api(FlEngine *engine)
Definition: fl_engine.cc:661
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:760
height
const uint8_t uint32_t uint32_t * height
Definition: fl_pixel_buffer_texture_test.cc:39
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:1030
FlEngineError
FlEngineError
Definition: fl_engine_private.h:25
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:728
fl_engine.h
error
const uint8_t uint32_t uint32_t GError ** error
Definition: fl_pixel_buffer_texture_test.cc:40
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:1082
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:952
fl_engine_error_quark
GQuark fl_engine_error_quark(void) G_GNUC_CONST
texture_id
int64_t texture_id
Definition: texture_registrar_unittests.cc:24
width
const uint8_t uint32_t * width
Definition: fl_pixel_buffer_texture_test.cc:38
fl_engine_dispatch_semantics_action
void fl_engine_dispatch_semantics_action(FlEngine *engine, uint64_t id, FlutterSemanticsAction action, GBytes *data)
Definition: fl_engine.cc:1161
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:978
fl_display_monitor.h