void justify_right( void ) { register int count, i, j, k, already = NO; for ( i = strlen( workline.middle ) - 1; ( ( workline.middle[i] == ' ' ) || ( workline.middle[i] == WRAPBLANK ) ) && ( i > 0 ); i-- ); if ( ( i < rightmar ) && ( i > 0 ) ) { for ( j = 1; ( workline.middle[j] == ' ' ) || ( workline.middle[j] == WRAPBLANK ); j++ ); k = j; count = rightmar - i; while ( count > 0 ) { while ( ( workline.middle[k] != ' ' ) && ( workline.middle[k] != WRAPBLANK ) && ( k < i ) ) { k++; } if ( k < i ) { insertblank( k, WRAPBLANK ); count--; i++; already = YES; } while ( ( ( workline.middle[k] == ' ' ) || ( workline.middle[k] == WRAPBLANK ) ) && ( k < i ) ) { k++; } if ( k >= i ) { if ( already == NO ) return; k = j; } } } }
void centerline(unsigned y) { int i,j,k,count; for(i=1;(workline.middle[i] == ' ') || (workline.middle[i] == WRAPBLANK);i++); for(j = strlen(workline.middle) - 1; (workline.middle[j] == ' ') || (workline.middle[j] == WRAPBLANK);j--); if ((rightmar - leftmar) > (j - i)) { k = leftmar + ((rightmar - leftmar) - (j - i))/2; if (k < i) { for (count = i - k;count > 0;count--) delete_char(0); } else { for (count = k - i;count > 0;count--) insertblank(1,' '); } refreshline(0,y); } }
void movetotab(unsigned *x,unsigned y) { int i,count; if ((*x + firstcol) >= (leftmar - 1)) { i = *x + firstcol + 1; } else { i = leftmar - 1; } for(;(tab[i] != YES) && (i < (rightmar-1));i++); if (i < (rightmar - 1)) { count = i - (*x + firstcol); while (count-- != 0) { if (insertmode) insertblank(*x + firstcol + 1,' '); } gocol(i,x); refreshline(0,y); } }