diff options
author | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-10-24 12:55:45 +0300 |
---|---|---|
committer | Zhongheng Liu <z.liu@outlook.com.gr> | 2024-10-24 12:55:45 +0300 |
commit | 86195d0722d1bf785ed8a0e1566bf2d02034a262 (patch) | |
tree | 61f1781d7da56cb71057bf21eb5a72ced7b6e51d /utils/ncfmt/incremental_print.go | |
parent | a225c6f632c1efb349edf2a86f0fe920a7c2fafe (diff) | |
download | rulmarc-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.go | 30 |
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() + } +} |