summaryrefslogtreecommitdiff
path: root/tui/widget/text/text.ha
diff options
context:
space:
mode:
Diffstat (limited to 'tui/widget/text/text.ha')
-rw-r--r--tui/widget/text/text.ha34
1 files changed, 34 insertions, 0 deletions
diff --git a/tui/widget/text/text.ha b/tui/widget/text/text.ha
new file mode 100644
index 0000000..5cd8da7
--- /dev/null
+++ b/tui/widget/text/text.ha
@@ -0,0 +1,34 @@
+use io;
+use unix::tty;
+use tui::widget;
+
+export type text = struct {
+ widget: widget::widget,
+ txt: str,
+};
+
+export fn newtext(out: io::file, txt: str, pos: widget::coords) text = {
+ return text {
+ widget = widget::widget {
+ out = out,
+ print = &printtext,
+ resize = &resizetext,
+ pos = pos,
+ sz = widget::nosize,
+ },
+ txt = txt,
+ };
+};
+
+fn printtext(widget: *widget::widget) void = {
+ const widget = widget: *text;
+ widget::print(widget.widget.out, widget.txt, widget.widget.pos);
+};
+
+fn resizetext(widget: *widget::widget, ttysize: tty::ttysize) void = {
+ return;
+};
+
+export fn settext(text: *text, txt: str) void = {
+ text.txt = txt;
+};