Fix Rtl leading alignment problem

pull/1222/head
FERAS ABDALRAHMAN 2 years ago
parent c35170dcd4
commit 97851f69a5
  1. 2
      lib/src/widgets/raw_editor.dart
  2. 13
      lib/src/widgets/text_line.dart

@ -891,7 +891,7 @@ class RawEditorState extends EditorState
final editableTextBlock = EditableTextBlock( final editableTextBlock = EditableTextBlock(
block: node, block: node,
controller: controller, controller: controller,
textDirection: _textDirection, textDirection: getDirectionOfNode(node),
scrollBottomInset: widget.scrollBottomInset, scrollBottomInset: widget.scrollBottomInset,
verticalSpacing: _getVerticalSpacingForBlock(node, _styles), verticalSpacing: _getVerticalSpacingForBlock(node, _styles),
textSelection: controller.selection, textSelection: controller.selection,

@ -1082,9 +1082,16 @@ class RenderEditableTextLine extends RenderEditableBox {
@override @override
void paint(PaintingContext context, Offset offset) { void paint(PaintingContext context, Offset offset) {
if (_leading != null) { if (_leading != null) {
final parentData = _leading!.parentData as BoxParentData; if (textDirection == TextDirection.ltr) {
final effectiveOffset = offset + parentData.offset; final parentData = _leading!.parentData as BoxParentData;
context.paintChild(_leading!, effectiveOffset); final effectiveOffset = offset + parentData.offset;
context.paintChild(_leading!, effectiveOffset);
} else {
final parentData = _leading!.parentData as BoxParentData;
final effectiveOffset = offset + parentData.offset;
context.paintChild(_leading!,
Offset(size.width - _leading!.size.width, effectiveOffset.dy));
}
} }
if (_body != null) { if (_body != null) {

Loading…
Cancel
Save