Skip to content

Добавить поддержку горизонтального выравнивания в RichTextLabel#1

Open
PERed5 wants to merge 1 commit intodead-space-server:masterfrom
PERed5:feature/horizontal-alignment
Open

Добавить поддержку горизонтального выравнивания в RichTextLabel#1
PERed5 wants to merge 1 commit intodead-space-server:masterfrom
PERed5:feature/horizontal-alignment

Conversation

@PERed5
Copy link
Copy Markdown

@PERed5 PERed5 commented Mar 26, 2026

Robust.Client/UserInterface/Controls/RichTextLabel.cs
Добавлена возможность выравнивания RichTextLabel по левому краю по умолчанию.
Обновлен путь отрисовки, чтобы передавать запрошенное выравнивание в RichTextEntry.Draw(...).

Robust.Client/UserInterface/RichTextEntry.cs
Расширен метод Draw(...) для поддержки горизонтального выравнивания на уровне форматированного текста.
Добавлен расчет ширины каждой строки, чтобы переносы выравнивались построчно, а не сдвигали весь текстовый блок.
Обновлено базовое позиционирование при переносе строки для корректного применения смещений по центру и справа.
Рефакторинг метода ProcessNode(...) с явным указанием параметра tagsAllowed, чтобы новые пути отрисовки и измерения могли использовать ту же логику синтаксического анализа.

Результат
RichTextLabel теперь поддерживает правильное горизонтальное выравнивание для форматированного текста с переносом, включая многострочный контент и встроенные элементы управления, сохраняя при этом стандартное выравнивание по левому краю.

Взято из ПРа в робаст тулбокс визденов space-wizards#6472
Для союзовского ПРа dead-space-server/space-station-14-soyuz#157 (Потом на основу тоже импортируем, если все будет нормально)

Added Align to RichTextLabel and passed it into RichTextEntry.Draw().
Updated RichTextEntry to calculate line widths and apply horizontal offsets so wrapped rich text can be centered or right-aligned correctly.
@PERed5
Copy link
Copy Markdown
Author

PERed5 commented Mar 26, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants