Ejemplo n.º 1
0
Archivo: WRAP.C Proyecto: MegaGod/TW
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;
			}
		}
	}
}
Ejemplo n.º 2
0
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);
    }
}
Ejemplo n.º 3
0
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);
    }
}