Give the text example's aligned labels the width to align in
All three sat in the middle of a box the width of the widest of them, so left, centred and right were the same picture. `text_align` puts the glyphs somewhere in the box the text is given, and a text that reports the width of its own glyphs is given exactly that -- there is nowhere for it to sit. Declaring `rel(1.0)` on each hands it the row instead. (Bryan, 2026-09-17.)
This commit is contained in:
1 parent
4bd8607968
commit
c8beca5753
1 file changed
+7
-3
+7
-3
@@ -28,10 +28,14 @@ impl DefaultAppState for State {
|
|||||||
.pad(16)
|
.pad(16)
|
||||||
.background(panel());
|
.background(panel());
|
||||||
|
|
||||||
|
// Each one takes the whole width, because `text_align` puts the
|
||||||
|
// glyphs somewhere in the box the text is given and a text that
|
||||||
|
// reports the width of its own glyphs is given exactly that.
|
||||||
|
let label = |text: &str, align| wtext(text).size(24).text_align(align).width(rel(1.0));
|
||||||
let aligned = (
|
let aligned = (
|
||||||
wtext("left").size(24).text_align(Align::LEFT),
|
label("left", Align::LEFT),
|
||||||
wtext("centred").size(24).text_align(Align::CENTER),
|
label("centred", Align::H_CENTER),
|
||||||
wtext("right").size(24).text_align(Align::RIGHT),
|
label("right", Align::RIGHT),
|
||||||
)
|
)
|
||||||
.span(Dir::DOWN)
|
.span(Dir::DOWN)
|
||||||
.gap(8)
|
.gap(8)
|
||||||
|
|||||||
Reference in new issue
Block a user