vt100.h - libvt100 - A library for heling in console programming.
 (HTM) git clone git://r-36.net/libvt100
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       vt100.h (2406B)
       ---
            1 /*
            2  * Copy me if you can.
            3  * by 20h
            4  */
            5 
            6 #ifndef __LIBVT100_H__
            7 #define __LIBVT100_H__
            8 
            9 #include <unistd.h>
           10 #include <termios.h>
           11 
           12 typedef struct term_t term_t;
           13 typedef struct termwin_t termwin_t;
           14 struct termwin_t {
           15         int r, c, rows, cols;
           16         int dr, dc, drows, dcols;
           17         int cr, cc;
           18 
           19         int scrollc1, scrollc2, scroll;
           20 
           21         term_t *term;
           22 
           23         termwin_t *next;
           24         termwin_t *prev;
           25 };
           26 
           27 struct term_t {
           28         int rows, cols;
           29 
           30         struct termios tioin, tioout;
           31 
           32         int n;
           33         termwin_t *first;
           34         termwin_t *last;
           35 };
           36 
           37 termwin_t *termwin_new(term_t *term, int r, int c, int rows, int cols);
           38 void termwin_free(term_t *term, termwin_t *win);
           39 
           40 term_t *term_new(void);
           41 void term_free(term_t *term);
           42 
           43 void term_setpos(int row, int col);
           44 void term_up(int rows);
           45 void term_down(int rows);
           46 void term_forward(int cols);
           47 void term_backward(int cols);
           48 void term_erasepos(int row, int col);
           49 void term_eraserow(int row);
           50 void term_erasescreen(void);
           51 void term_backspace(void);
           52 
           53 void term_setscrolling(int start, int end);
           54 void term_scrollup(int times);
           55 void term_scrolldown(int times);
           56 
           57 void term_showcursor(void);
           58 void term_hidecursor(void);
           59 void term_blinkcursor(void);
           60 void term_staticursor(void);
           61 
           62 void term_reset(term_t *term);
           63 void term_init(term_t *term);
           64 
           65 void term_error(term_t *term, char *fmt, ...);
           66 void term_printf(int row, int col, char *fmt, ...);
           67 
           68 void term_drawline(term_t *term, int r0, int c0, int r1, int c1, char sym);
           69 void term_drawrectangle(term_t *term, int r0, int c0, int r1, int c1,
           70                 char hline, char vline, char uredge, char uledge,
           71                 char lredge, char lledge);
           72 void term_fillrectangle(term_t *term, int r0, int c0, int r1, int c1,
           73                 char fill);
           74 
           75 void termwin_setpos(termwin_t *win, int row, int col);
           76 int temwin_inwindow(termwin_t *win, int row, int col);
           77 void termwin_up(termwin_t *win, int rows);
           78 void termwin_down(termwin_t *win, int rows);
           79 void termwin_forward(termwin_t *win, int cols);
           80 void termwin_backward(termwin_t *win, int cols);
           81 void termwin_erasepos(termwin_t *win, int row, int col);
           82 void termwin_eraserow(termwin_t *win, int row);
           83 void termwin_erasewin(termwin_t *win);
           84 void termwin_backspace(termwin_t *win);
           85 
           86 void termwin_setscrolling(termwin_t *win, int start, int end);
           87 void termwin_scrollup(termwin_t *win, int times);
           88 void termwin_scrolldown(termwin_t *win, int times);
           89 
           90 void termwin_error(termwin_t *win, char *fmt, ...);
           91 void termwin_printf(termwin_t *win, int row, int col, char *fmt, ...);
           92 
           93 #endif
           94