@@ -3279,15 +3279,15 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
32793279 if (selection.isCollapsed) {
32803280 rectToReveal = targetOffset.rect;
32813281 } else {
3282- final List <Rect > selectionBoxes = renderEditable.getBoxesForSelection (selection);
3282+ final List <TextBox > selectionBoxes = renderEditable.getBoxesForSelection (selection);
32833283 // selectionBoxes may be empty if, for example, the selection does not
32843284 // encompass a full character, like if it only contained part of an
32853285 // extended grapheme cluster.
32863286 if (selectionBoxes.isEmpty) {
32873287 rectToReveal = targetOffset.rect;
32883288 } else {
32893289 rectToReveal = selection.baseOffset < selection.extentOffset ?
3290- selectionBoxes.last : selectionBoxes.first;
3290+ selectionBoxes.last. toRect () : selectionBoxes.first. toRect () ;
32913291 }
32923292 }
32933293
@@ -3590,20 +3590,20 @@ class EditableTextState extends State<EditableText> with AutomaticKeepAliveClien
35903590 final CharacterRange characterRange = CharacterRange (plainText);
35913591 while (characterRange.moveNext ()) {
35923592 final int graphemeEnd = graphemeStart + characterRange.current.length;
3593- final List <Rect > boxes = renderEditable.getBoxesForSelection (
3593+ final List <TextBox > boxes = renderEditable.getBoxesForSelection (
35943594 TextSelection (baseOffset: graphemeStart, extentOffset: graphemeEnd),
35953595 );
35963596
3597- final Rect ? box = boxes.isEmpty ? null : boxes.first;
3597+ final TextBox ? box = boxes.isEmpty ? null : boxes.first;
35983598 if (box != null ) {
35993599 final Rect paintBounds = renderEditable.paintBounds;
36003600 // Stop early when characters are already below the bottom edge of the
36013601 // RenderEditable, regardless of its clipBehavior.
36023602 if (paintBounds.bottom <= box.top) {
36033603 break ;
36043604 }
3605- if (paintBounds.contains (box.topLeft) || paintBounds.contains (box.bottomRight )) {
3606- rects.add (SelectionRect (position: graphemeStart, bounds: box));
3605+ if (paintBounds.contains (Offset ( box.left, box.top)) || paintBounds.contains (Offset ( box.right, box.bottom) )) {
3606+ rects.add (SelectionRect (position: graphemeStart, bounds: box. toRect (), direction : box.direction ));
36073607 }
36083608 }
36093609 graphemeStart = graphemeEnd;
0 commit comments