Example #1
0
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 );
}
Example #2
0
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 );
}