24 Commits

Author SHA1 Message Date
Chris Bracken
abe9826a9d
Add accessibility semantics support to embedder (#7891)
Flutter's accessibility APIs consist of three main calls from the
embedder to the Dart application:

  1. FlutterEngineUpdateSemanticsEnabled: enables/disables semantics support.

  2. FlutterEngineUpdateAccessibilityFeatures: sets embedder-specific
     accessibility features.

  3. FlutterEngineDispatchSemanticsAction: dispatches an action (tap,
     long-press, scroll, etc.) to a semantics node.

and two main callbacks triggered by Dart code:

  1. FlutterUpdateSemanticsNodeCallback: notifies the embedder of
     updates to the properties of a given semantics node.

  2. FlutterUpdateSemanticsCustomActionCallback: notifies the embedder
     of updates to custom semantics actions registered in Dart code.

In the Flutter framework, when accessibility is first enabled, the
embedder will receive a stream of update callbacks notifying the
embedder of the full semantics tree. On further changes in the Dart
application, only updates will be sent.
2019-02-20 18:59:29 -08:00
stuartmorgan
ed73fc39cd
Expose more pointer phases in embedder.h (#7813)
Adds 'add', 'remove', and 'hover' to the set of pointer phases that are
available to embedders. This is necessary for them to send hover events
to the engine.
2019-02-19 07:06:57 -08:00
Chinmay Garde
87b40ba974
Allow embedders to specify pointer device IDs. (#7790) 2019-02-11 16:49:45 -08:00
Chinmay Garde
4f3eb42dfd
Update documentation for command line args in FlutterProjectArgs. (#7733) 2019-02-07 14:14:44 -08:00
Chris Bracken
ce07399180
Add FlutterProjectArgs::root_isolate_create_callback (#7651)
Allows embedders to specify a callback to be invoked in isolate scope
once root isolate has been created and marked runnable.

As an example of where this is useful, embedder unit test fixtures may
want to include Dart functions backed by a native implementation. On
isolate creation, this patch allows the unit test author to call
Dart_SetNativeResolver in root isolate scope.
2019-02-06 14:16:47 -08:00
Chris Bracken
7fa77ef03a
Fix two typos in embedder docs (#7649) 2019-01-30 18:11:08 -08:00
Chinmay Garde
64e17076c1
Document make_resource_current on FlutterOpenGLRendererConfig and warn if the callback is not set. (#7648) 2019-01-30 16:13:00 -08:00
stuartmorgan
474d8837a9
Rename FlutterResult in embedder.h (#7567)
FlutterResult is also the name of a class in the Objective-C API
surface, which is problematic when building a framework that contains
both (such as a macOS implementation of the Flutter framework).
2019-01-29 14:01:31 -08:00
Chinmay Garde
898b4f8da4
Allow embedders to specify AOT snapshot buffers. (#7538) 2019-01-18 16:32:35 -08:00
Chris Bracken
1e93a8eb39
Deprecate FlutterProjectArgs.main_path, packages_path (#7497)
As of Dart 2, running from Dart source is no longer supported.  Dart
code should now be compiled to kernel form and will be loaded by from
kernel.blob in the assets directory. We retain the struct members for ABI
stability. package_path is also not required since kernel blobs are
self-contained.
2019-01-16 12:47:39 -08:00
Chinmay Garde
26e02aaa23
Wire up support for external OpenGL textures for the embedder. (#7087) 2019-01-09 15:21:39 -08:00
Michael Goderbauer
70a1106b50
Unify copyright lines (#6757) 2018-11-07 12:24:35 -08:00
Chinmay Garde
b9523318ca
Allow embedders to specify a custom GL proc address resolver. (#6204)
This updates the embedder API but introduces no breaking ABI/API
changes.
2018-09-07 18:25:38 -07:00
Chinmay Garde
b3c778fe9c
Allow embedders to specify software renderer configs. (#6133) 2018-08-31 20:03:06 -07:00
Chinmay Garde
47a1ce0e62
Allow embedders to set the root surface transformation. (#6085) 2018-08-28 14:13:49 -07:00
Chinmay Garde
3087090149
Allow embedders to invalidate FBO bindings after present. (#6084) 2018-08-24 16:53:13 -07:00
Abhishek Amit
2dd385fd7e
Allow embedder clients to provide a resource context (#4588)
* Allow embedder clients to provide a resource context. Closes flutter/flutter#14263.
2018-01-25 17:30:23 -08:00
Abhishek Amit
93296fb4ea
Fix comment for non-string arg (#4583) 2018-01-24 16:24:12 -08:00
Abhishek Amit
31f223f254 Add API for embedder clients to process platform events (#4549) 2018-01-17 16:59:36 -08:00
Sarah Zakarias
4cbe26dd37
Handle Flutter assets outside FLX (#4343) 2017-12-13 10:55:24 +01:00
Chinmay Garde
bedba1267f
Allow embedders to respond to platform messages from the Dart application. (#4361)
This updated the native embedder API in a non-ABI breaking way.
2017-11-14 15:51:19 -08:00
Chinmay Garde
ede57ad1e7
Allow embedders to specify custom ICU data paths and command line args. (#4290) 2017-10-27 17:31:13 -07:00
Abhishek Amit
004d0bdf67 Add API to send platform messages into engine through embedder API (#4112) 2017-09-19 13:57:44 -07:00
Chinmay Garde
def8061d49 Create a window toolkit agnostic Flutter engine API. (#3987)
* The Flutter engine will be shipped as a shared library.
* The engine is renderer and window toolkit agnostic.
* The simple public C API is described in embedder.h.
* ABI breaking changes will be indicated by changing the FLUTTER_ENGINE_VERSION.
* A simple GLFW based example of this API is available at https://gist.github.com/chinmaygarde/8abf44921f7d87f6da7bf026267c4792
2017-08-23 16:05:16 -07:00