Добавить поддержку горизонтального выравнивания в RichTextLabel#1
Open
PERed5 wants to merge 1 commit intodead-space-server:masterfrom
Open
Добавить поддержку горизонтального выравнивания в RichTextLabel#1PERed5 wants to merge 1 commit intodead-space-server:masterfrom
PERed5 wants to merge 1 commit intodead-space-server:masterfrom
Conversation
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.
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 (Потом на основу тоже импортируем, если все будет нормально)