#include "print_utils.h" int term_fprint( screen_mode_e mode, FILE *f ) { int ret=-1; if (f == NULL) return -1; switch ( mode ) { case SCREEN_MODE_80x24: { /* const int m_x=80,m_y=24; int x=0,y=0; int fret=1; char c; while ((fret = fread(&c,1,1,f)) == 1) { if ( c != '\n' ) { if ( (x < m_x) && (y < m_y) ) { putc( c ); } x+=1; } else if ( c == '\n' ) { x = 0; y += 1; } } */ } break; default: printf("Unknown screen mode\n"); } return ret; } //print data to terminal starting from x,y //return 0x0000yyyy0000xxxx, current stopped position int term_print( term_screen *ts, const char *buf, size_t size, int init_x, int init_y ) { int posx=0, posy=0; int ret=-1; if ( buf == NULL ) { return -1; } if ( size <= 0 ) { return -1; } //calculate position //fix for diff modes also needed if ( ts->term_col > 80) { posx = (ts->term_col-80)/2; } if (ts->term_row > 24) { posy = (ts->term_row-24)/2; } switch ( ts->mode ) { case SCREEN_MODE_80x24: { int m_x=80, m_y=24; int x=init_x, y=init_y; char c; int i,j; if (( init_x == 0 ) && (init_y == 0)) { for (i=0; i