Implement extra line fragment handling.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15968 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
alexm 2003-02-16 03:18:35 +00:00
parent b95e8bf3f4
commit 56a6fbe50d
5 changed files with 157 additions and 28 deletions

View file

@ -1901,6 +1901,12 @@ forStartOfGlyphRange: (NSRange)glyphRange
used = NSZeroRect;
for (i = 0, lf = tc->linefrags; i < tc->num_linefrags; i++, lf++)
used = NSUnionRect(used, lf->used_rect);
if (container == extra_textcontainer)
{
used = NSUnionRect(used, extra_used_rect);
}
return used;
}
@ -2024,6 +2030,32 @@ forStartOfGlyphRange: (NSRange)glyphRange
*gindex = [self firstUnlaidGlyphIndex];
}
-(void) setExtraLineFragmentRect: (NSRect)linefrag
usedRect: (NSRect)used
textContainer: (NSTextContainer *)tc
{
extra_rect = linefrag;
extra_used_rect = used;
extra_textcontainer = tc;
}
-(NSRect) extraLineFragmentRect
{
return extra_rect;
}
-(NSRect) extraLineFragmentUsedRect
{
return extra_used_rect;
}
-(NSTextContainer *) extraLineFragmentTextContainer
{
return extra_textcontainer;
}
@end