From c3482b33d07272815624f6f7b72bea1bf952d872 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Mon, 10 Jul 2023 03:41:59 -0400 Subject: WIP: Do labeling with new region stuff & proper angle (laptop only) --- virtual-programs/label.folk | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'virtual-programs') diff --git a/virtual-programs/label.folk b/virtual-programs/label.folk index eeaaf143..1cb9be3c 100644 --- a/virtual-programs/label.folk +++ b/virtual-programs/label.folk @@ -1,20 +1,14 @@ When /thing/ has region /region/ { - set bbox [regionToBbox $region] - lassign [boxCentroid $bbox] x y - set width [boxWidth $bbox] - set height [boxHeight $bbox] - - + lassign [region centroid $region] x y + set width [region width $region] + set height [region height $region] set radians [region angle $region] - set upsidedown [expr {$radians > 1.57 || $radians < -1.57}] - if {$::isLaptop} {set upsidedown false} When the collected matches for [list /someone/ wishes $thing is labelled /text/] are /matches/ { 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}] -- cgit v1.2.3 From 444e887d80e053a736a55662863102c37b399472 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Wed, 12 Jul 2023 09:04:16 -0400 Subject: Do most of the integration of rotate -> Display::text and labelling Still need to remove outlines and backgrounds from label, and speed up / handle rotation beyond -90 to 90 degrees --- virtual-programs/label.folk | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'virtual-programs') diff --git a/virtual-programs/label.folk b/virtual-programs/label.folk index 1cb9be3c..bfc67ada 100644 --- a/virtual-programs/label.folk +++ b/virtual-programs/label.folk @@ -7,21 +7,14 @@ When /thing/ has region /region/ { When the collected matches for [list /someone/ wishes $thing is labelled /text/] are /matches/ { set text [join [lmap match $matches {dict get $match text}] "\n"] if {$text eq ""} { return } - set lines [split $text "\n"] 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 - } + Display::text $x $y $scale $text $radians } } fn text {coords text angle} { - Display::text Display::fb [lindex $coords 0] [lindex $coords 1] 2 $text $angle + Display::text [lindex $coords 0] [lindex $coords 1] 2 $text $angle } When /anyone/ wishes /p/ has halo message /message/ & /p/ has region /r/ { -- cgit v1.2.3 From f7b6e96f6ad67d613fda9f448f57b6c9cbd75fba Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Wed, 12 Jul 2023 10:36:33 -0400 Subject: Blit only the core part of buffer to the screen; flag bad angle (speeds up Display a fair amount, I think) --- virtual-programs/label.folk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'virtual-programs') diff --git a/virtual-programs/label.folk b/virtual-programs/label.folk index bfc67ada..5f792aa0 100644 --- a/virtual-programs/label.folk +++ b/virtual-programs/label.folk @@ -9,7 +9,11 @@ When /thing/ has region /region/ { if {$text eq ""} { return } set scale 1 - Display::text $x $y $scale $text $radians + if {[abs $radians] < 3.14/2} { + Display::text $x $y $scale $text $radians + } else { + Display::text $x $y $scale "BAD ANGLE" 0 + } } } -- cgit v1.2.3 From 238fa509b76aefa185379ae6efce2ec52b63f97d Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Fri, 14 Jul 2023 13:35:10 -0400 Subject: Done! Draw labels transparently; remove outline; accept all angles --- virtual-programs/label.folk | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'virtual-programs') diff --git a/virtual-programs/label.folk b/virtual-programs/label.folk index 5f792aa0..bfc67ada 100644 --- a/virtual-programs/label.folk +++ b/virtual-programs/label.folk @@ -9,11 +9,7 @@ When /thing/ has region /region/ { if {$text eq ""} { return } set scale 1 - if {[abs $radians] < 3.14/2} { - Display::text $x $y $scale $text $radians - } else { - Display::text $x $y $scale "BAD ANGLE" 0 - } + Display::text $x $y $scale $text $radians } } -- cgit v1.2.3 From be04e5210c20a5c417bb95371ef521e94c14a675 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Cuervo?= Date: Fri, 14 Jul 2023 16:29:38 -0400 Subject: Fix calibrate use of drawText, keep it up for 10s --- virtual-programs/tags-and-calibration.folk | 2 -- 1 file changed, 2 deletions(-) (limited to 'virtual-programs') diff --git a/virtual-programs/tags-and-calibration.folk b/virtual-programs/tags-and-calibration.folk index 62ea21e6..af3361e8 100644 --- a/virtual-programs/tags-and-calibration.folk +++ b/virtual-programs/tags-and-calibration.folk @@ -135,8 +135,6 @@ When (non-capturing) tag /tag/ is a tag { When (non-capturing) tag /tag/ has corners /corners/ { set tagCorners [lmap p $corners {::cameraToProjector $p}] - # foreach tagCorner $tagCorners { Display::text fb {*}$tagCorner 1 $tagCorner } - # Display::fillQuad {*}$tagCorners white set vecBottom [sub [lindex $tagCorners 1] [lindex $tagCorners 0]] set vecRight [sub [lindex $tagCorners 2] [lindex $tagCorners 1]] -- cgit v1.2.3