187 Commits

Author SHA1 Message Date
amirh
6161d54eb6
Move AbstractNode to lib/foundation. (#12789)
(in preparation for moving the semantics stuff out of rendering)
2017-11-01 09:24:30 -07:00
Michael Goderbauer
9184dfba14
Support value announcement for increase/decrease (#12741)
* Support value announcment for increase/decrease

* ++

* review comments about docs
2017-10-31 14:22:33 -07:00
Michael Goderbauer
c3e049613d Support for accessibilityHint and accessibilityValue (#12677)
* Support accessibility labels and hints

* more tests

* ++

* review comments

* fix merge

* test fix
2017-10-24 11:17:51 -07:00
Michael Goderbauer
141a6355ce Performance improvements for semantics tree compilation (#12682)
* Without checking compatibility

* ++

* ++

* ++

* more docs
2017-10-23 17:33:46 -07:00
amirh
ce4a45779d Add an isButton flag to the Semantic widget,use it for MaterialButton (#12657)
https://github.com/flutter/flutter/issues/11992
2017-10-23 14:52:41 -07:00
Alexandre Ardhuin
1fce14a31c enable lint prefer_single_quotes (#12665) 2017-10-22 18:11:36 +02:00
Ian Hickson
faf44b592a Factor out painting logic for DecorationImage (#12646)
This avoids some code duplication that existed before and will make
further modifications easier.
2017-10-20 16:58:16 -07:00
Jason Simmons
5e8634a625 libtxt: make a paragraph selection test handle equivalent libtxt and blink output (#12606) 2017-10-20 12:54:36 -07:00
Michael Goderbauer
f8a2bd20e9 Redesign Semantic Tree Compilation Algorithm (#12605)
* Oct 12 10:12am

* implicit_semantics_test.dart passes

* refactoring

* works in nice

* minor rename

* more doc comments

* to be explicit check better

* fix test

* ++

* ++

* semantics_9_test (BlockSemantics) and implicit_semantics_test are passing

* doc updates

* tiny refactor

* fix static errors in tests

* fix gesture detector

* ++

* ++

* geometry

* ++

* remove noGeometry

* revert test

* +

* all tests but scrolling/clipping pass

* clipping works

* scrolling halfway

* sliver tests pass

* ALL TESTS PASS

* SemanticsNode changed

* docs and tiny fixes

* card test

* more doc comments

* remove missed print

* more tests

* make test pass on Linux

* remove changes to intellij proj file

* review comments
2017-10-18 16:28:24 -07:00
Jason Simmons
264cbf6145 libtxt: adapt a selection rectangle test (#12612)
libtxt's implementation of Paragraph.getBoxesForRange returns the full line
height for all characters in a line.  Blink had been returning a tighter
enclosing rectangle for each individual character.
2017-10-18 14:48:20 -07:00
Ian Hickson
0e34c7f28c CircleBorder (#12570) 2017-10-17 13:38:06 -07:00
Adam Barth
a13320253c Don't attempt to draw invisible overflow indicator (#12534)
If the flex is empty, there's no space in which to draw the overflow indicator,
so we shouldn't bother trying to draw it.

Fixes #12532
2017-10-17 11:17:08 -07:00
Ian Hickson
4e48a737eb Fix flex floating point error causing unnecessary striped warnings (#12424)
Also:

 * Provide a better message when you lerp from infinity to finity
   constraints.

 * Make the striped marker support RTL.

 * By popular demand, dump a warning to the console the first time
   a particular Flex overflows. (Resets on hot reload.)
2017-10-06 19:24:34 -07:00
Adam Barth
a30b109c9e Add RTL support to ListBody (#12414)
Fixes #11930
2017-10-05 09:45:41 -07:00
Ian Hickson
cd3715a854 Border RTL (#12407) 2017-10-05 01:12:21 -07:00
Chris Bracken
0189696e4b Roll engine to 459f722b86415da01386fe41f37bafa842f11ae8 (#12413)
Eliminates Invocation.typeArguments override recently introduced and removed in upstream Dart SDK commit:
https://dart-review.googlesource.com/c/sdk/+/10702
2017-10-04 19:44:48 -07:00
Ryan Macnak
dfa13a14f9 Roll engine to f7685ddf16ccf9e5f6c4386c23061b02ed0e37d4. 2017-10-04 14:44:44 -07:00
Michael Goderbauer
49499457f2 Drop invisible SemanticsNodes from tree (#12358)
* Drop invisible SemanticsNodes from tree

A node is invisible if it is outside of the bounds of the screen and if it is not merged into its (partially) visible parent.

Also in this PR: only set `wasAffectedByClip` to true if the nodes has actually been clipped.

* Fix other failing tests

* renaming

* review feedback

* more doc
2017-10-03 09:52:36 -07:00
Alexander Aprelev
fd04d4d126 Revert "Roll flutter engine (#12307)" (#12365)
This reverts commit f6fe8dc7e3e961c067432e74f8a5fc089d7559b7.

This breaks coverage test
https://travis-ci.org/flutter/flutter/jobs/282472585
2017-10-02 16:01:09 -07:00
Alexander Aprelev
f6fe8dc7e3 Roll flutter engine (#12307)
* Roll engine

* Pick up updated engine with analyzer fix

* Add new typeArguments override

* Update engine dep

* Up dartdoc version to fix name resolution issues
2017-10-02 15:28:09 -07:00
gspencergoog
18f0d3aef7 Add framework support for system text scale factor. (#12180)
* Add framework-side support for system text scale factor.

* Rolling engine to e3404b81a53ba3180c7623a6f2190ebb28518f30
  Additional changes rolled in with engine change:
    libtxt: implementation of GetRectsForRange that processes a line at a time - e3404b8
    Provide an entropy source to the Dart engine (#4161) - e1aa867
    libtxt: search for fallback fonts that can match emoji and CJK characters - 8061df1
    Roll skia to e4679fa06a. (#4157) - 267e7a8
    Update buildroot to 53fea9aebbcc39c6522731471a1a45960ee0685e (#4160) - 02ea7ae
    Revert engine Dart roll. (#4158) - 14aab33
    Add support for system text scale factor. (#4124) - b2a7f4b
    Include _http into sky_engine libraries for analyzer (#4154) - b930f10
    libtxt: Remove postprocess_line and improve tracking of X offsets - 86f95f0
    libtxt: remove redundant line_widths (#4152) - 14bf515
    Roll dart to ade37f931e90b0fdb8fe16d6bf6f089545da55b6 (#4151) - 6f1264f
2017-10-02 14:18:18 -07:00
Michael Goderbauer
437e4c089b Make "mergeIntoParent" information available during compile of semantics tree (#12332)
* ++

* Allow unmerging of SemanticsNodes

* test passing

* ++

* remove prints

* doc comments

* rectify comment

* review comments
2017-10-02 09:49:04 -07:00
Adam Barth
2b126bcd0d Add Alignment, which will replace FractionalOffset (#12342)
Unlike FractionalOffset, Alignment uses the center as the zero of the
coordinate system, which makes the RTL math work out much cleaner.

Also, make FractionalOffset into a subclass of Alignment so that clients
can continue to use FractionalOffset.
2017-10-01 23:06:18 -07:00
Ian Hickson
e04bf3285d Image RTL (#12230) 2017-09-24 16:14:55 -07:00
Ian Hickson
953dabc70b Fix some typos (#12233) 2017-09-24 01:40:42 -07:00
Adam Barth
1a0bdb9619 Add RTL support to Table (#12225)
Also, fix asserts in TableBorder#paint to match documentation.

Fixes #12009
2017-09-23 12:31:55 -07:00
Alexandre Ardhuin
cde6b669b3 unnecessary statements (#12189) 2017-09-21 08:33:56 +02:00
Ian Hickson
d15907b50b Uniform rectangular borders were drawing in the wrong place. (#12179)
I inflated instead of deflating. Oops.
2017-09-20 16:08:03 -07:00
Ian Hickson
9d59fb0c30 Split TableBorder from Border (#12104)
This will enable both to be RTL'ed.

Also, factor out common border painting code into paintBorder.
Also, make Border paint uniform non-rounded borders using drawRect.
Also, add some documentation about an issue that wasted an hour of my life.
Also, factor out all the border painting code into TableBorder.paint.
2017-09-15 14:08:44 -07:00
Jacob Richman
f2ab841ac4 Add DiagnosticLevel used to filter how verbose toStringDeep output for (#11995)
Diagnostics object is.
2017-09-11 19:01:05 -07:00
Jacob Richman
0229711ba1 Refactor SemanticsData and SemanticsNode to use Diagnosticable. (#11957)
* Refactor SemanticsData and SemanticsNode to use Diagnosticable.

* Switch toStringDeep to take named parameters.
2017-09-11 09:25:58 -07:00
Ian Hickson
e7fbee6624 Fix clip debugPaint (TextPainter RTL fallout) (#12026) 2017-09-10 22:59:26 -07:00
Ian Hickson
fad36baa6f Fix WidgetsApp to wrap its contents in a Directionality (#12018)
...rather than only wrapping the children.

Also, improvements to Banner to better support RTL, and mock_canvas to
make debugging things easier.
2017-09-08 14:29:35 -07:00
Adam Barth
c46347b6df Add RTL support to Stack (#11973)
Notice that the default alignment for Stack needs to know the
directionality.
2017-09-07 22:52:36 -07:00
Ian Hickson
ca7d2d23cf TextPainter RTL (#11888) 2017-09-07 16:57:38 -07:00
Adam Barth
8eb6ad2776 Add RTL support to GridView (#11921)
Fixes #11855
2017-09-05 11:29:20 -07:00
Michael Goderbauer
7ee0b6a574 Clear tags on SemanticsNode.reset() (#11903) 2017-09-05 10:37:53 -07:00
Jason Simmons
d77955fb1a Pass the width constraint to the text layout engine if ellipsizing is enabled (#11877) 2017-08-31 14:51:11 -07:00
Alexandre Ardhuin
bb4f4070f9 Prefer const constructors (#11853)
* upgrade to linter-0.1.35

* re-enable lint prefer_const_constructors

* address review comments
2017-08-31 08:55:21 +02:00
Michael Goderbauer
2a01097a23 Fix crash in debugDumpSemanticsTree when transform == null (#11807) 2017-08-28 17:16:42 -07:00
Michael Goderbauer
8ecf19d8a0 Semantic hit test order for Slivers (#11792)
* Semantic hit test order for Slivers

* ++

* fix double space

* refactoring

* fix test

* comment fix

* tests

* remove accidental debugDumpSemanticsTree

* review comments

* fix button
2017-08-28 15:49:16 -07:00
Ian Hickson
f235a2c104 RTL: Padding, Flex (#11709)
* Introduce a Directionality inherited widget which sets the ambient LTR vs RTL mode (defaulting to null, which means you cannot use directionality-influenced values).

* Make it possible to configure Padding (including Container.padding and Container.margin) using a directionality-agnostic EdgeInsets variant.

* Provide textDirection and verticalDirection controls on Row and Column to make them RTL-aware.

* Introduce a variant of FractionalOffset based on the EdgeInsets variant. Not yet actually used.

* Fix all the tests that depended on Row defaulting to LTR.
2017-08-28 12:50:24 -07:00
Michael Goderbauer
f265301519 Doc updates for Semantics; always reset SemanticsNode (#11770)
* refactor to ensureAction + some related doc fixes

* Update docs for markNeedsSemanticsUpdate

* rewording

* rewording

* ensureAction test

* ensureAction test

* ensureAction test

* more tests

* refactor to allways reset node

* tiny fixes

* more test

* doc fixes

* one more test

* review comments
2017-08-25 17:21:46 -07:00
Michael Goderbauer
c1bd6f87ae Fix paintBounds/semanticBounds of RenderSliver (#11781)
* Fix paintBounds/semanticsBounds of RenderSliver

* another test
2017-08-25 09:41:57 -07:00
Ian Hickson
ce035d09c6 Fix non-flexible Chip in a Row. (#11669) 2017-08-23 12:59:01 -07:00
Michael Goderbauer
f969b777b5 a11y and scrolling with slivers (#11711)
* refactor to assembleSemanticNode

* ++

* cleanup

* fix test

* add note

* review comments

* review feedback

* import fix

* another import fix

* refactor to ensure tag

* tests, tests, tests

* analyzer fixes

* review comments
2017-08-23 12:36:32 -07:00
Ian Hickson
9d4dd10f63 Remove a bunch of useless global configuration options. (#11726)
These properties had a high cost in the documentation because they're
all top-level properties, and there's really very little reason for
these values to be configurable in the first place.
2017-08-23 10:33:41 -07:00
Jacob Richman
93a98327a8 Add Diagnosticable base class and add documentation. (#11458)
Add Diagnosticable base class and documentation
2017-08-03 09:49:44 -07:00
Ian Hickson
87445e5913 Increase the touch slop. (#11419)
It was 8.0. It's now arbitrarily 18.0.

Changing this required adjusting some tests. Adjusting the tests
required debugging the tests. Debugging the tests required some tools
to help debugging gesture recognizers and gesture arenas, so I added
some. It also required updating some toString() methods which resulted
in some changes to the tree diagnostics logic.

Also I cleaned up some docs while I was at it.
2017-07-27 14:01:06 -07:00
Jacob Richman
9f510ebdc9 Refactor RenderObject.toStringDeep and Widget.toStringDeep code to use DiagnosticsNode (#11359)
Refactor RenderObject.toStringDeep and Widget.toStringDeep code to use DiagnosticsNode.
2017-07-25 09:25:13 -07:00