[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
This commit is contained in:
parent
07d14f5bb8
commit
99666de00f
162 changed files with 7008 additions and 3564 deletions
|
|
@ -73,6 +73,7 @@ void AspectRatioContainer::set_alignment_vertical(AlignMode p_alignment_vertical
|
|||
void AspectRatioContainer::_notification(int p_what) {
|
||||
switch (p_what) {
|
||||
case NOTIFICATION_SORT_CHILDREN: {
|
||||
bool rtl = is_layout_rtl();
|
||||
Size2 size = get_size();
|
||||
for (int i = 0; i < get_child_count(); i++) {
|
||||
Control *c = Object::cast_to<Control>(get_child(i));
|
||||
|
|
@ -130,7 +131,11 @@ void AspectRatioContainer::_notification(int p_what) {
|
|||
}
|
||||
Vector2 offset = (size - child_size) * Vector2(align_x, align_y);
|
||||
|
||||
fit_child_in_rect(c, Rect2(offset, child_size));
|
||||
if (rtl) {
|
||||
fit_child_in_rect(c, Rect2(Vector2(size.x - offset.x - child_size.x, offset.y), child_size));
|
||||
} else {
|
||||
fit_child_in_rect(c, Rect2(offset, child_size));
|
||||
}
|
||||
}
|
||||
} break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue