#include #include #include "pdcplan9.h" bool PDC_can_change_color(void) { PDC_LOG(("PDC_can_change_color() - called.\n")); return FALSE; } int PDC_color_content(short color, short *red, short *green, short *blue) { PDC_LOG(("PDC_color_content() - called.\n")); return ERR; } int PDC_init_color(short color, short red, short green, short blue) { PDC_LOG(("PDC_init_color() - called. Lines: %d Cols: %d\n", color, red, green, blue)); return OK; } int PDC_scr_open(int, char **) { PDC_LOG(("PDC_scr_open() - called\n")); SP = calloc(1, sizeof(SCREEN)); if (!SP) return ERR; p9init(); SP->cols = PDC_get_columns(); SP->lines = PDC_get_rows(); SP->cursrow = SP->curscol = 0; SP->orig_attr = FALSE; SP->orig_cursor = 0; return OK; } void PDC_scr_close(void) { PDC_LOG(("PDC_scr_close() - called\n")); } void PDC_reset_shell_mode(void) { PDC_LOG(("PDC_reset_shell_mode() - called\n")); } int PDC_resize_screen(int nlines, int ncols) { PDC_LOG(("PDC_resize_screen() - called. Lines: %d Cols: %d\n", nlines, ncols)); if (nlines == 0 && ncols == 0) return OK; p9resize(nlines, ncols); SP->resized = FALSE; SP->cursrow = SP->curscol = 0; return OK; } void PDC_reset_prog_mode(void) { PDC_LOG(("PDC_reset_prog_mode() - called.\n")); } void PDC_restore_screen_mode(int) { PDC_LOG(("PDC_restore_screen_mode() - called.\n")); } void PDC_save_screen_mode(int) { PDC_LOG(("PDC_save_screen_mode() - called.\n")); } void PDC_scr_free(void) { free(SP); } static struct {short f, b;} atrtab[PDC_COLOR_PAIRS]; void PDC_init_pair(short pair, short fg, short bg) { atrtab[pair].f = fg; atrtab[pair].b = bg; } int PDC_pair_content(short pair, short *fg, short *bg) { *fg = atrtab[pair].f; *bg = atrtab[pair].b; return OK; }