38 Commits

Author SHA1 Message Date
Ben Konyi
672e587e74
Background Execution Implementation for iOS (#5539) 2018-07-13 10:55:24 -07:00
Chris Bracken
1340970bab
Assert in place of ArgumentError for null checks (#5612)
For consistency with the rest of dart:ui, check required parameters with
assert(param != null) rather than throwing ArgumentError. ArgumentError
is typically reserved for checking the validity of non-null args -- e.g.
that a list has the required number of elements.
2018-06-25 16:33:33 -07:00
Ben Konyi
2983e5db4b
Pinned versions of package:test and package:path for testing/dart tests (#5522) 2018-06-13 12:59:45 -07:00
Ben Konyi
8d8d91bfc3
IsolateNameServer reland (#5519)
* Reland "Added IsolateNameServer functionality (#5410)"

This reverts commit c3976b3c7183f479717bffed3f640fb92afbd3dc.

* Fixed issue with isolate_name_server_test which caused test to timeout

* Disabled thread_annotations on Android as they aren't supported in the
NDK headers for std::mutex. Readded thread annotations to
IsolateNameServer.
2018-06-13 11:57:10 -07:00
Ben Konyi
c3976b3c71
Revert "Added IsolateNameServer functionality (#5410)" (#5516)
This reverts commit 61a2d129cfc8c52cf1ff59b03bccf67d9b07af63.
2018-06-12 17:03:13 -07:00
Ben Konyi
61a2d129cf
Added IsolateNameServer functionality (#5410)
* Added IsolateNameServer functionality, which allows for the association
of string names with isolate SendPort ids that can be used to establish
inter-isolate communications.
2018-06-12 15:50:48 -07:00
Dan Field
0a74ef48f2
TwoPointConicGradients again (#5299)
* update docs for getBounds

* Add computeMetrics suggestion

* better explanation

* Support for TwoPointConical gradients
2018-05-18 07:43:52 -04:00
Greg Spencer
cf91f89c84
Adding Color.alphaBlend (#5119)
This is helpful for some Material Design widgets, which are specified as a semi-transparent color over top of a "material". In some cases, the resulting alpha-blended color can be used instead of compositing an additional shape with an opacity.

This new Color.alphaBlend function mimics the alpha blending function, and creates the resulting combined color. The optimization only works for solid color shapes that have the same geometry, of course.
2018-04-30 15:20:29 -07:00
Dan Field
c249b7026f Path metrics/getBounds/combinations again (#4957)
* add path measure

* fix typo

* getBound and addPathWithMatrix

* Add myself to Authors, add PathOps

* fix linting issues

* update licenses_flutter to add new files

* Use matrix4 instead of matrix3 for consistency/interop

* put pubspec back

* fix bug in getSegment

* fix typo

* Add return value for PathOp

* refactoring from review

* refactoring from review - still TBD on computeMetrics()

* add doc

* lint issue

* fix computeMetrics, add Path.from

* add missing wireup for clone

* change PathMetrics to iterable, fix bug with angle on Tangent

* prefer std::make_unique

* cleanup docs

* add path measure

* fix typo

* getBound and addPathWithMatrix

* Add myself to Authors, add PathOps

* fix linting issues

* update licenses_flutter to add new files

* Use matrix4 instead of matrix3 for consistency/interop

* put pubspec back

* fix bug in getSegment

* fix typo

* Add return value for PathOp

* refactoring from review

* refactoring from review - still TBD on computeMetrics()

* add doc

* lint issue

* fix computeMetrics, add Path.from

* add missing wireup for clone

* change PathMetrics to iterable, fix bug with angle on Tangent

* prefer std::make_unique

* cleanup docs

* fix iterator bug

* remove unnecessary clone for computeMetrics

* fix some doc issues

* fix PathMeasure iterator, extendWithPath, isClosed, and pubspec.lock

* get rid of orElse; use StateException

* StateError, not StateException

* doc improvements and nits

* add unit tests, fix bugs found during testing

* fix two uncommited doc changes

* one more

* change sign of tangent angle, update docs

* update unit tests for inverted angle

* update tangent to include vector

* Doc fixes

* Fix MSVC compilation and unit test
2018-04-25 15:35:01 -07:00
Todd Volkert
cb3376c5de
Support different encodings in Image.toByteData() (#5060)
Fixes https://github.com/flutter/flutter/issues/16635
2018-04-20 19:47:27 -07:00
Todd Volkert
d6d4eec24c
Fix broken Linux build (#5019)
After we write the pixels in the correct format,
the color type of the SkPixmap is still set to
its previous value, so the existing assertion was
failing.
2018-04-16 16:20:48 -07:00
Todd Volkert
d15dc76ea7
Fix broken Chromebot build (#5018) 2018-04-16 15:10:40 -07:00
Todd Volkert
4eaf2c2fea
Return raw (unencoded) bytes in Image.toByteData() (#5008)
Building image encoding into the engine bloated the
binary size. This change will return raw bytes, and
callers who use this functionality can take on the
dependency on image encoding in their apps (via a
Dart package or a platform plugin).

Fixes https://github.com/flutter/flutter/issues/16537
2018-04-16 12:39:46 -07:00
Alexander Markov
3cc6c672e1
Revert "Add support for measuring, combining, and getting bounds of Path objects " (#4954)
* Revert "Add support for measuring, combining, and getting bounds of Path objects  (#4799)"

This reverts commit 8c00101a59cd16c30d51663b58c6f2ee9ee2e2b9, as it broke engine build bots on Linux and Windows.
2018-04-09 14:31:30 -07:00
Dan Field
8c00101a59 Add support for measuring, combining, and getting bounds of Path objects (#4799)
* add path measure

* fix typo

* getBound and addPathWithMatrix

* Add myself to Authors, add PathOps

* fix linting issues

* update licenses_flutter to add new files

* Use matrix4 instead of matrix3 for consistency/interop

* put pubspec back

* fix bug in getSegment

* fix typo

* Add return value for PathOp

* refactoring from review

* refactoring from review - still TBD on computeMetrics()

* add doc

* lint issue

* fix computeMetrics, add Path.from

* add missing wireup for clone

* change PathMetrics to iterable, fix bug with angle on Tangent

* prefer std::make_unique

* cleanup docs

* add path measure

* fix typo

* getBound and addPathWithMatrix

* Add myself to Authors, add PathOps

* fix linting issues

* update licenses_flutter to add new files

* Use matrix4 instead of matrix3 for consistency/interop

* put pubspec back

* fix bug in getSegment

* fix typo

* Add return value for PathOp

* refactoring from review

* refactoring from review - still TBD on computeMetrics()

* add doc

* lint issue

* fix computeMetrics, add Path.from

* add missing wireup for clone

* change PathMetrics to iterable, fix bug with angle on Tangent

* prefer std::make_unique

* cleanup docs

* fix iterator bug

* remove unnecessary clone for computeMetrics

* fix some doc issues

* fix PathMeasure iterator, extendWithPath, isClosed, and pubspec.lock

* get rid of orElse; use StateException

* StateError, not StateException

* doc improvements and nits

* add unit tests, fix bugs found during testing

* fix two uncommited doc changes

* one more

* change sign of tangent angle, update docs

* update unit tests for inverted angle

* update tangent to include vector

* Doc fixes
2018-04-09 11:45:39 -07:00
Majid Valipour
b6f466b344 Enable Image encoding by leveraging existing Skia functionality (#4762)
Add Image.toByeData()

Fixes flutter/flutter#11648
2018-04-05 17:26:49 -07:00
Ian Hickson
9536b80781
Offset.direction (#4530)
Since we've got a vector class, and it has a getter for the magnitude,
why not also a getter for the angle.
2018-01-09 22:17:57 -08:00
Jason Simmons
2383bb7c4e
Update the path to Skia test images in codec_test (#4460) 2017-12-13 18:12:42 -08:00
Michael Goderbauer
e07eafae1d
Roll forward: Parameters for SemanticActions; a11y text selection (#4452)
Reverts the revert in #4448 with fixes to pass on the bot.

This change will require framework changes in flutter/flutter#13490.
2017-12-12 14:25:45 -08:00
Chris Bracken
f888186e50
Fix an extra paren in locale_test.dart (#4423) 2017-12-06 15:38:40 -08:00
Ian Hickson
7e4df308a7
Make Locale know about the deprecated Hebrew language code. (#4411)
...by making it know about ALL the deprecated language and region codes.
2017-12-06 12:17:30 -08:00
Chris Bracken
93648ef0ed
Expose Window.viewInsets in dart:ui (#4403)
Window.viewInsets is the set of window-relative insets that describe the
area of the window that an application may want to treat as effectively
reducing the size of the content. Typically this is due to system UI
that fully obscures underlying content, such as the keyboard.

This area differs from padding in that padding is the set of insets that
describe the area of the window that may be partially (or fully)
obscured by system UI or physical intrusions into the view area (e.g.
iPhone X sensor housing, status bar, or the iPhone X home indicator
widget).

This patch does not yet enable the iOS bottom edge safe area. Once the
framework has been updated to use viewInsets for bottom-edge occlusions
(today, the keyboard), the bottom safe area will be enabled and
framework patches that depend on it, landed.
2017-11-29 16:27:15 -08:00
Greg Spencer
130af88fde
Adding Rect.expandToInclude and Rect.longestSide (#4309)
Adding Rect.expandToInclude and Rect.longestSide to make the Rect API more symmetric.
2017-11-09 16:37:21 -08:00
amirh
c1b5e06cb2
expose a Duration object from ui.FrameInfo (#4345) 2017-11-09 14:03:19 -08:00
amirh
2920d61a5c
Make the public ui.Codec API Future based instead of callback based. (#4341) 2017-11-09 09:56:36 -08:00
amirh
179bd4a799
Implement a SingleFrameCodec and return it for non animated images (#4329) 2017-11-07 14:07:02 -08:00
amirh
d8a0dd2958
Decode animation frames and pass FrameInfos to dart (#4324)
https://github.com/flutter/flutter/issues/204
2017-11-06 10:36:02 -08:00
amirh
05b00b1e14
Followup on post-merge comments for 941ed76bc (#4321) 2017-11-03 11:44:23 -07:00
amirh
941ed76bcd
Initial implementation of ui.Codec (a wrapper for SkCodec) (#4318)
This is the first step to support animated GIFs: flutter/flutter#204

TBD in following CLs:
 * Implement Codec.getNextFrame.
 * Add Framework side support to run animations.
2017-11-02 17:56:44 -07:00
xster
28e08053e2 Add luminance getter to Color (#4252)
* add luminance getter to color

* tests

* nit
2017-10-24 18:39:54 -07:00
gspencergoog
b2a7f4bf8f Add support for system text scale factor. (#4124)
Adds support for system text scale factor, including hooks for Android system settings changes.  iOS hooks will be added in another PR.
2017-09-29 13:19:06 -07:00
Ian Hickson
ccf9859b0d Clamp overflows in Color.lerp. (#4141)
Previously, cases like:

```dart
Color.lerp(const Color(0xFF00FF7F), const Color(0xFF00FFFF), 1.1)
```

...would result in unexpected effects (in this instance, lerping
between these colors with a curve that overshoots would take what
should be a simple animation from pale green to blue and add some
flickering bright green whenever it overshoots).
2017-09-26 11:11:09 -07:00
Jason Simmons
27dfd06f91 Assert checks for NaN/infinite values in Skia canvas Dart wrappers (#3967) 2017-08-08 15:49:51 -07:00
Jason Simmons
6a4951102b Remove usage of NaN values in canvas_test that caused a Skia assert failure (#3962) 2017-08-07 17:36:29 -07:00
Yegor
926c9a581f preserve Window callback zones (#3817)
* preserve Window callback zones

Run Window callbacks in the zone they are registered in. This is consistent with how other native API work, such as `scheduleMicrotask`, `Timer`, and `dart:io`. This also enables the developers to use the `Zone` API to capture and log unhandled Dart errors.

* refactor wrapping

* new line

* fewer if checks; group getters/setters/fields

* inline _invokeOnPointerDataPacket
2017-06-26 15:08:43 -07:00
Ian Hickson
6cf34cb5b3 Throw exceptions rather than crashing when Canvas API is misused. (#3811)
This attempts to make the Canvas API and some related features more
likely to throw a Dart exception than crash when exposed to bad input.

Depends on rolling tonic to
https://fuchsia-review.googlesource.com/c/35742/ which this patch does
not yet do, but I wanted to put it up for review to see if it was even
a reasonable approach.
2017-06-22 17:06:59 -07:00
Hans Muller
4ffba73767 Color operator== should compare runtimeTypes (#3495) 2017-03-22 10:58:03 -07:00
Jason Simmons
d92d4c1b03 Script that runs engine unit tests and Dart tests of engine APIs (#3372)
The Dart tests were migrated from the flutter/test/engine suite in the
framework repository
2017-01-30 10:52:44 -08:00