/trunk/uspace/app/tetris/screen.c |
---|
50,6 → 50,7 |
#include <stdlib.h> |
#include <string.h> |
#include <unistd.h> |
#include <io/stream.h> |
#include <console.h> |
#include <async.h> |
72,6 → 73,9 |
putchar(*(s++)); |
} |
static int con_phone; |
static void start_standout(void) |
{ |
console_set_rgb_color(0xf0f0f0, 0); |
84,7 → 88,7 |
void clear_screen(void) |
{ |
console_clear(); |
async_msg_0(con_phone, CONSOLE_CLEAR); |
moveto(0, 0); |
} |
96,7 → 100,7 |
{ |
resume_normal(); |
console_clear(); |
async_msg_0(con_phone, CONSOLE_CLEAR); |
curscore = -1; |
memset((char *)curscreen, 0, sizeof(curscreen)); |
} |
107,7 → 111,8 |
void |
scr_init(void) |
{ |
console_cursor_visibility(0); |
con_phone = get_cons_phone(); |
async_msg_1(con_phone, CONSOLE_CURSOR_VISIBILITY, 0); |
resume_normal(); |
scr_clear(); |
} |
114,12 → 119,12 |
void moveto(int r, int c) |
{ |
console_goto(r, c); |
async_msg_2(con_phone, CONSOLE_GOTO, r, c); |
} |
static void fflush(void) |
{ |
console_flush(); |
async_msg_0(con_phone, CONSOLE_FLUSH); |
} |
winsize_t winsize; |
126,7 → 131,8 |
static int get_display_size(winsize_t *ws) |
{ |
return console_get_size(&ws->ws_row, &ws->ws_col); |
return async_req_0_2(con_phone, CONSOLE_GETSIZE, &ws->ws_row, |
&ws->ws_col); |
} |
/* |
/trunk/uspace/app/tetris/screen.h |
---|
49,8 → 49,8 |
#include <async.h> |
typedef struct { |
int ws_row; |
int ws_col; |
ipcarg_t ws_row; |
ipcarg_t ws_col; |
} winsize_t; |
extern winsize_t winsize; |
/trunk/uspace/lib/libc/include/console.h |
---|
38,14 → 38,9 |
#include <console/style.h> |
#include <console/color.h> |
extern void console_clear(void); |
extern void console_goto(int, int); |
extern void console_flush(void); |
extern int console_get_size(int *, int *); |
extern void console_set_style(int); |
extern void console_set_color(int, int, int); |
extern void console_set_rgb_color(int, int); |
extern void console_cursor_visibility(int); |
#endif |
/trunk/uspace/lib/libc/generic/console.c |
---|
37,41 → 37,10 |
#include <ipc/console.h> |
#include <console.h> |
void console_clear(void) |
void console_set_style(int style) |
{ |
int cons_phone = get_cons_phone(); |
async_msg_0(cons_phone, CONSOLE_CLEAR); |
} |
void console_goto(int row, int col) |
{ |
int cons_phone = get_cons_phone(); |
async_msg_2(cons_phone, CONSOLE_GOTO, row, col); |
} |
void console_flush(void) |
{ |
int cons_phone = get_cons_phone(); |
async_msg_0(cons_phone, CONSOLE_FLUSH); |
} |
int console_get_size(int *rows, int *cols) |
{ |
int cons_phone = get_cons_phone(); |
ipcarg_t r, c; |
int rc; |
rc = async_req_0_2(cons_phone, CONSOLE_GETSIZE, &r, &c); |
*rows = (int) r; |
*cols = (int) c; |
return rc; |
} |
void console_set_style(int style) |
{ |
int cons_phone = get_cons_phone(); |
async_msg_1(cons_phone, CONSOLE_SET_STYLE, style); |
} |
78,6 → 47,7 |
void console_set_color(int fg_color, int bg_color, int flags) |
{ |
int cons_phone = get_cons_phone(); |
async_msg_3(cons_phone, CONSOLE_SET_COLOR, fg_color, bg_color, flags); |
} |
84,14 → 54,9 |
void console_set_rgb_color(int fg_color, int bg_color) |
{ |
int cons_phone = get_cons_phone(); |
async_msg_2(cons_phone, CONSOLE_SET_RGB_COLOR, fg_color, bg_color); |
} |
void console_cursor_visibility(int show) |
{ |
int cons_phone = get_cons_phone(); |
async_msg_1(cons_phone, CONSOLE_CURSOR_VISIBILITY, show != 0); |
} |
/** @} |
*/ |