Skip to content

Commit 5ae6e82

Browse files
authored
Fix Rtl leading alignment problem (singerdmx#1222)
1 parent e06c3f3 commit 5ae6e82

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

lib/src/widgets/raw_editor.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ class RawEditorState extends EditorState
891891
final editableTextBlock = EditableTextBlock(
892892
block: node,
893893
controller: controller,
894-
textDirection: _textDirection,
894+
textDirection: getDirectionOfNode(node),
895895
scrollBottomInset: widget.scrollBottomInset,
896896
verticalSpacing: _getVerticalSpacingForBlock(node, _styles),
897897
textSelection: controller.selection,

lib/src/widgets/text_line.dart

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,9 +1082,16 @@ class RenderEditableTextLine extends RenderEditableBox {
10821082
@override
10831083
void paint(PaintingContext context, Offset offset) {
10841084
if (_leading != null) {
1085-
final parentData = _leading!.parentData as BoxParentData;
1086-
final effectiveOffset = offset + parentData.offset;
1087-
context.paintChild(_leading!, effectiveOffset);
1085+
if (textDirection == TextDirection.ltr) {
1086+
final parentData = _leading!.parentData as BoxParentData;
1087+
final effectiveOffset = offset + parentData.offset;
1088+
context.paintChild(_leading!, effectiveOffset);
1089+
} else {
1090+
final parentData = _leading!.parentData as BoxParentData;
1091+
final effectiveOffset = offset + parentData.offset;
1092+
context.paintChild(_leading!,
1093+
Offset(size.width - _leading!.size.width, effectiveOffset.dy));
1094+
}
10881095
}
10891096

10901097
if (_body != null) {

0 commit comments

Comments
 (0)