aboutsummaryrefslogtreecommitdiff
path: root/curses.jai
diff options
context:
space:
mode:
authordam <dam@gudinoff>2023-04-14 18:46:46 +0100
committerdam <dam@gudinoff>2023-04-14 18:46:46 +0100
commit03616634e7b034891725864fe88e68b7e760b8a2 (patch)
tree64d7007a96a04dcd736d19ef17cc8b56c498e0f0 /curses.jai
parent81ba4ca925c4e66b107bb7df737b8fdd51eee9ac (diff)
downloadtask-time-tracker-03616634e7b034891725864fe88e68b7e760b8a2.tar.zst
task-time-tracker-03616634e7b034891725864fe88e68b7e760b8a2.zip
Implemented most of missing features.
Diffstat (limited to 'curses.jai')
-rw-r--r--curses.jai28
1 files changed, 25 insertions, 3 deletions
diff --git a/curses.jai b/curses.jai
index 737b9c2..317d09b 100644
--- a/curses.jai
+++ b/curses.jai
@@ -97,11 +97,15 @@ attrset :: (attrs: s32) -> s32 #foreign ncurses
attron :: (attrs: s32) -> s32 #foreign ncurses;
erase :: () -> s32 #foreign ncurses;
curs_set :: (visibility: s32) -> s32 #foreign ncurses;
+addstr :: (str: *u8) -> s32 #foreign ncurses;
mvaddstr :: (y: s32, x: s32, str: *u8) -> s32 #foreign ncurses;
-mvprintw :: (y: s32, x: s32, fmt: *u8, args: ..Any) -> s32 #foreign ncurses;
-mvgetnstr :: (y: s32, x: s32, str: *u8, n: s32) -> s32 #foreign ncurses;
+mvprintw :: (y: s32, x: s32, fmt: *u8,
+ args: ..Any) -> s32 #foreign ncurses;
+mvgetnstr :: (y: s32, x: s32, str: *u8,
+ n: s32) -> s32 #foreign ncurses;
noecho :: () -> s32 #foreign ncurses;
-box :: (win: *WINDOW, verch: u8, horch: u8) -> s32 #foreign ncurses;
+box :: (win: *WINDOW, verch: u8,
+ horch: u8) -> s32 #foreign ncurses;
init_pair :: (pair: s16, f: s16, b: s16) -> s32 #foreign ncurses;
timeout :: (delay: s32) -> void #foreign ncurses;
addch :: (ch: u32) -> s32 #foreign ncurses;
@@ -109,6 +113,24 @@ mvaddch :: (y: s32, x: s32, ch: u32) -> s32 #foreign ncurses
clear :: () -> s32 #foreign ncurses;
refresh :: () -> s32 #foreign ncurses;
move :: (y: s32, x: s32) -> s32 #foreign ncurses;
+isendwin :: () -> bool #foreign ncurses;
+delwin :: (win: *WINDOW) -> s32 #foreign ncurses;
+newwin :: (nlines: s32, ncols: s32, begin_y: s32,
+ begin_x: s32) -> *WINDOW #foreign ncurses;
+wattron :: (win: *WINDOW, attrs: s32) -> s32 #foreign ncurses;
+wborder :: (win: *WINDOW, ls: u32, rs: u32,
+ ts: u32, bs: u32, tl: u32,
+ tr: u32, bl: u32, br: u32) -> s32 #foreign ncurses;
+mvwin :: (win: *WINDOW, y: s32, x: s32) -> s32 #foreign ncurses;
+touchwin :: (win: *WINDOW) -> s32 #foreign ncurses;
+wrefresh :: (win: *WINDOW) -> s32 #foreign ncurses;
+mvwprintw :: (win: *WINDOW, y: s32, x: s32,
+ fmt: *u8, args: ..Any) -> s32 #foreign ncurses;
+wmove :: (win: *WINDOW, y: s32, x: s32) -> s32 #foreign ncurses;
+waddch :: (win: *WINDOW, ch: u32) -> s32 #foreign ncurses;
+vw_printw :: (win: *WINDOW, fmt: *u8,
+ varglist: ..Any) -> s32 #foreign ncurses;
+
getmaxyx :: inline (win: *WINDOW, y: *s32, x: *s32) { <<y = getmaxy(win); <<x = getmaxx(win); }
getmaxx :: inline (win: *WINDOW) -> s32 { return ifx win == null then ERR else win._maxx + 1; }