Conversation
This is a pragmatic patch that allows the user to control how text is aligned within a single-line textbox when the textbox itself is larger than the contained text. This is directly motivated by Runebender; there are a number of places where we would like to have a textbox where the *text* is centered or right-aligned, and this is not currently possible. This is a bit hacky: in particular, we are not BiDi aware (even in the current textbox) which means that TextAlignment::Start is always left, and TextAlignment::End is always right. (Center is fine, and Justified is meaningless for a single line.) One complication encountered here is where to draw the cursor when there is no data; our options are either to draw the cursor at the start of the placeholder, or to draw it in the correct position for the alignment; we choose the latter, which feels less disruptive.
futurepaul
approved these changes
Nov 16, 2020
Collaborator
futurepaul
left a comment
There was a problem hiding this comment.
Looks good! I believe the placeholder text should disappear on focus but that can be a separate issue.
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.
This is a pragmatic patch that allows the user to control
how text is aligned within a single-line textbox when the textbox
itself is larger than the contained text.
This is directly motivated by Runebender; there are a number of
places where we would like to have a textbox where the text is
centered or right-aligned, and this is not currently possible.
This is a bit hacky: in particular, we are not BiDi aware (even
in the current textbox) which means that TextAlignment::Start is
always left, and TextAlignment::End is always right. (Center is
fine, and Justified is meaningless for a single line.)
One complication encountered here is where to draw the cursor when
there is no data; our options are either to draw the cursor at
the start of the placeholder, or to draw it in the correct position
for the alignment; we choose the latter, which feels less disruptive.