Refresh the buffer after remove empty lines.
[eco.git] / screen.h
blob98adcc3db75a6ed518d7f67116454c18a3c9aca9
1 /*
2 * Copyright (C) 2008 Diego Hernan Borghetti.
3 * Eco
4 */
6 #ifndef _ECO_SCREEN_H
7 #define _ECO_SCREEN_H
9 typedef struct _E_ScreenLine {
10 char *fcol;
11 char *bcol;
13 /* is this the current row ? */
14 char crow;
16 char text[];
17 } E_ScreenLine;
19 typedef struct _E_Screen {
20 E_ScreenLine **vscr;
21 E_ScreenLine **pscr;
23 /* screen size, number of row and columns. */
24 int nrow;
25 int ncol;
27 /* current position of the cursor. */
28 int row;
29 int col;
30 } E_Screen;
32 E_Screen *e_screen_init(E_Term *tr);
33 void e_screen_free(E_Screen *sc);
35 void e_screen_putc(E_Screen *sc, int c, char fcol, char bcol);
36 void e_screen_move(E_Screen *sc, int row, int col);
37 void e_screen_eeol(E_Screen *sc);
38 void e_screen_eeop(E_Screen *sc);
39 void e_screen_crow(E_Screen *sc, int row, char crow);
40 void e_screen_swap(E_Term *tr, E_Screen *sc, int user_force);
42 #endif /* _ECO_SCREEN_H */