fixed erased line on bottom of screen with underline attribute

This commit is contained in:
chombier 2001-03-23 10:16:05 +00:00
parent a34f982fcd
commit f90f9a801c
1 changed files with 13 additions and 3 deletions

View File

@ -570,7 +570,12 @@ void RSdraw
MoveTo(x * RScurrent->fwidth, ys + RScurrent->fascent); MoveTo(x * RScurrent->fwidth, ys + RScurrent->fascent);
DrawText(ptr, 0, len); if ( rect.bottom < RScurrent->height || !VSisundl(a) ) {
DrawText(ptr, 0, len);
} else {
rect.right += 1;
TETextBox(ptr, len, &rect, teJustLeft);
}
if (RScurrent->selected) if (RScurrent->selected)
RSinvText(w, *(Point *) &RScurrent->anchor, RSinvText(w, *(Point *) &RScurrent->anchor,
@ -777,7 +782,7 @@ void RSerase
rect.left = CHO; rect.left = CHO;
if (rect.right >= RScurrent->width - 1) if (rect.right >= RScurrent->width - 1)
rect.right = RScurrent->rwidth - 2; /* clear to edge of window, including edge strip */ rect.right = RScurrent->rwidth - 2; /* clear to edge of window, including edge strip */
if (rect.bottom >= RScurrent->height - 2) if (rect.bottom >= RScurrent->height)
rect.bottom = RScurrent->rheight + 1; /* clear to bottom edge also */ rect.bottom = RScurrent->rheight + 1; /* clear to bottom edge also */
EraseRect(&rect); EraseRect(&rect);
if (RScurrent->selected) if (RScurrent->selected)
@ -900,7 +905,12 @@ void RSinsstring
rect.top + RScurrent->fascent rect.top + RScurrent->fascent
); );
RSsetattr(a); RSsetattr(a);
DrawText(ptr, 0, len); if ( rect.bottom < RScurrent->height || !VSisundl(a) ) {
DrawText(ptr, 0, len);
} else {
rect.right += 1;
TETextBox(ptr, len, &rect, teJustLeft);
}
if (RScurrent->selected) if (RScurrent->selected)
/* highlight any part of selection covering the newly-inserted text */ /* highlight any part of selection covering the newly-inserted text */
RSinvText(w, *(Point *) &RScurrent->anchor, RSinvText(w, *(Point *) &RScurrent->anchor,