diff options
Diffstat (limited to 'tui/widget/text/text.ha')
| -rw-r--r-- | tui/widget/text/text.ha | 34 |
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; +}; |
