diff options
| author | Omar Rizwan <omar@omar.website> | 2023-06-02 20:37:36 +0000 |
|---|---|---|
| committer | Omar Rizwan <omar@omar.website> | 2023-06-02 20:37:36 +0000 |
| commit | 905a7cfd8f2011fab6dbfa566f3081d1d311412e (patch) | |
| tree | 52c4297780c5953fd34810a3a2c9bb377d22ebbd /virtual-programs | |
| parent | match style guide (diff) | |
| download | folk-905a7cfd8f2011fab6dbfa566f3081d1d311412e.tar.gz folk-905a7cfd8f2011fab6dbfa566f3081d1d311412e.zip | |
Fix linebreaks in labels
Diffstat (limited to 'virtual-programs')
| -rw-r--r-- | virtual-programs/label.folk | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/virtual-programs/label.folk b/virtual-programs/label.folk index 002eeca5..3a5f7f38 100644 --- a/virtual-programs/label.folk +++ b/virtual-programs/label.folk @@ -13,18 +13,19 @@ When /thing/ has region /region/ { if {$::isLaptop} {set upsidedown false} When the collected matches for [list /someone/ wishes $thing is labelled /text/] are /matches/ { - set lines [lmap match $matches {dict get $match text}] - if {[llength lines] eq 0} { return } - - set lines [expr {$upsidedown ? [lreverse $lines] : $lines}] - set scale 1 - set fontSize [expr {18 * $scale}] - - for {set lineNum 0} {$lineNum < [llength $lines]} {incr lineNum} { - set line [lindex $lines $lineNum] - set ly [expr {$y + $lineNum * $fontSize}] - Display::text device $x $ly $scale $line $radians - } + set text [join [lmap match $matches {dict get $match text}] "\n"] + if {$text eq ""} { return } + set lines [split $text "\n"] + + set lines [expr {$upsidedown ? [lreverse $lines] : $lines}] + set scale 1 + set fontSize [expr {18 * $scale}] + + for {set lineNum 0} {$lineNum < [llength $lines]} {incr lineNum} { + set line [lindex $lines $lineNum] + set ly [expr {$y + $lineNum * $fontSize}] + Display::text device $x $ly $scale $line $radians + } } } @@ -33,8 +34,8 @@ fn text {coords text angle} { } When /anyone/ wishes /p/ has halo message /message/ & /p/ has region /r/ { - lassign [lindex $r 0] a b c d - lassign $a x y - text $a $message 0 - text $d $message 180 + lassign [lindex $r 0] a b c d + lassign $a x y + text $a $message 0 + text $d $message 180 } |
