aboutsummaryrefslogtreecommitdiff
path: root/utils/ncfmt/incremental_print.go
diff options
context:
space:
mode:
authorZhongheng Liu <z.liu@outlook.com.gr>2024-10-24 12:55:45 +0300
committerZhongheng Liu <z.liu@outlook.com.gr>2024-10-24 12:55:45 +0300
commit86195d0722d1bf785ed8a0e1566bf2d02034a262 (patch)
tree61f1781d7da56cb71057bf21eb5a72ced7b6e51d /utils/ncfmt/incremental_print.go
parenta225c6f632c1efb349edf2a86f0fe920a7c2fafe (diff)
downloadrulmarc-rpg-dev.tar.gz
rulmarc-rpg-dev.tar.bz2
rulmarc-rpg-dev.zip
chore: moved utils aroundrpg-dev
Diffstat (limited to 'utils/ncfmt/incremental_print.go')
-rw-r--r--utils/ncfmt/incremental_print.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/utils/ncfmt/incremental_print.go b/utils/ncfmt/incremental_print.go
new file mode 100644
index 0000000..8ab0f05
--- /dev/null
+++ b/utils/ncfmt/incremental_print.go
@@ -0,0 +1,30 @@
+package ncfmt
+
+import (
+ "time"
+
+ . "github.com/gbin/goncurses"
+)
+
+func IncrementalPrintMany(
+ w *Window,
+ y int,
+ x int,
+ texts []string,
+ duration time.Duration,
+) {
+ for i := 0; i < len(texts); i++ {
+ IncrementalPrint(w, texts[i], y+i, x, int(1*time.Second))
+ }
+}
+func IncrementalPrint(scr *Window, text string, from_y int, from_x int, interval_millis int) {
+ for i := 0; i < len(text); i++ {
+ ch := string([]rune(text)[i])
+ _, mx := scr.MaxYX()
+ cy := i/mx + from_y
+ cx := i%mx + 1
+ scr.MovePrint(cy, cx, ch)
+ time.Sleep(time.Duration(1000/len(text)) * time.Millisecond)
+ scr.Refresh()
+ }
+}