28 #ifndef __UPX_SCREEN_H 29 #define __UPX_SCREEN_H 1 39 typedef struct screen_t screen_t;
43 void (*destroy)(screen_t *s);
44 void (*finalize)(screen_t *s);
47 int (*init)(screen_t *s,
int fd);
49 void (*refresh)(screen_t *s);
51 int (*getMode)(
const screen_t *s);
52 int (*getPage)(
const screen_t *s);
53 int (*getRows)(
const screen_t *s);
54 int (*getCols)(
const screen_t *s);
55 int (*isMono)(
const screen_t *s);
57 int (*getFg)(
const screen_t *s);
58 int (*getBg)(
const screen_t *s);
59 void (*getCursor)(
const screen_t *s,
int *x,
int *y);
60 int (*getCursorShape)(
const screen_t *s);
62 void (*setFg)(screen_t *s, int);
63 void (*setBg)(screen_t *s, int);
64 void (*setCursor)(screen_t *s,
int x,
int y);
65 void (*setCursorShape)(screen_t *s,
int shape);
66 int (*hideCursor)(screen_t *s);
68 void (*putChar)(screen_t *s,
int c,
int x,
int y);
69 void (*putCharAttr)(screen_t *s,
int c,
int attr,
int x,
int y);
70 void (*putString)(screen_t *s,
const char *,
int x,
int y);
71 void (*putStringAttr)(screen_t *s,
const char *,
int attr,
int x,
int y);
73 void (*clear)(screen_t *s);
74 void (*clearLine)(screen_t *s, int);
75 void (*updateLineN)(screen_t *s,
const void *,
int y,
int len);
77 int (*scrollUp)(screen_t *s, int);
78 int (*scrollDown)(screen_t *s, int);
79 int (*getScrollCounter)(
const screen_t *s);
81 int (*kbhit)(screen_t *s);
83 int (*intro)(screen_t *s, void (*)(screen_t *));
86 struct screen_data_t *data;
89 screen_t *sobject_construct(
const screen_t *c,
size_t data_size);
90 void sobject_destroy(screen_t *);
91 screen_t *sobject_get_screen(
void);
93 screen_t *screen_curses_construct(
void);
94 screen_t *screen_djgpp2_construct(
void);
95 screen_t *screen_vcsa_construct(
void);
96 screen_t *screen_win32_construct(
void);
98 void screen_show_frames(screen_t *);