bool UIAPI uikeepbackground( void ) /**********************************/ { register ORD row; register BUFFER *buff; buff = uibackgroundbuffer(); if( buff ) { for( row = 0; row < UIData->height; ++ row ) { uibcopy( &UIData->screen, row, 0, buff, row, 0, UIData->width ); } } return( buff != NULL ); }
bool uibackground( char *fname ) { FILE * f; int c; int attr; int i; PIXEL buff[80]; BUFFER *bgndbuff; int row; if( fname == NULL ) { uiremovebackground(); return( true ); } bgndbuff = uibackgroundbuffer(); if( bgndbuff == NULL ) { return( false ); } f = fopen( fname, "rb" ); if( f == NULL ) { return( false ); } i = 0; row = 0; while( (attr = getc( f )) != EOF ) { c = getc( f ); if( c == '!' && attr == '!' ) { getc( f ); getc( f ); continue; } buff[i].ch = c; buff[i].attr = attr; if( ++i >= 80 ) { braw( bgndbuff, row, 0, buff, i ); i = 0; ++row; if( row > UIData->height ) { break; } } } fclose( f ); return( true ); }