Update class RenderContentProxyBox

pull/587/head
X Code 3 years ago
parent c7dcbd2b72
commit ce01abfbc5
  1. 9
      lib/src/widgets/box.dart
  2. 10
      lib/src/widgets/proxy.dart

@ -13,7 +13,7 @@ import '../models/documents/nodes/container.dart';
abstract class RenderContentProxyBox implements RenderBox {
double get preferredLineHeight;
Offset getOffsetForCaret(TextPosition position, Rect? caretPrototype);
Offset getOffsetForCaret(TextPosition position, Rect caretPrototype);
TextPosition getPositionForOffset(Offset offset);
@ -21,6 +21,13 @@ abstract class RenderContentProxyBox implements RenderBox {
TextRange getWordBoundary(TextPosition position);
/// Returns a list of rects that bound the given selection.
///
/// A given selection might have more than one rect if this text painter
/// contains bidirectional text because logically contiguous text might not be
/// visually contiguous.
///
/// Valid only after [layout]
List<TextBox> getBoxesForSelection(TextSelection textSelection);
}

@ -104,14 +104,12 @@ class RenderEmbedProxy extends RenderProxyBox implements RenderContentProxyBox {
double getFullHeightForCaret(TextPosition position) => size.height;
@override
Offset getOffsetForCaret(TextPosition position, Rect? caretPrototype) {
Offset getOffsetForCaret(TextPosition position, Rect caretPrototype) {
assert(
position.offset == 1 || position.offset == 0 || position.offset == -1);
return position.offset <= 0
? Offset.zero
: Offset(
size.width - (caretPrototype == null ? 0 : caretPrototype.width),
0);
: Offset(size.width - caretPrototype.width, 0);
}
@override
@ -275,8 +273,8 @@ class RenderParagraphProxy extends RenderProxyBox
double get preferredLineHeight => _prototypePainter.preferredLineHeight;
@override
Offset getOffsetForCaret(TextPosition position, Rect? caretPrototype) =>
child!.getOffsetForCaret(position, caretPrototype!);
Offset getOffsetForCaret(TextPosition position, Rect caretPrototype) =>
child!.getOffsetForCaret(position, caretPrototype);
@override
TextPosition getPositionForOffset(Offset offset) =>

Loading…
Cancel
Save