mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-10-07 17:38:02 +00:00
fixed: void scanning for fragments during typesetting
This commit is contained in:
1 parent
8588f446aa
commit
77435fcbd7
2 files changed
+7
-6
No files matched your search
@@ -636,17 +636,18 @@ _oncontextmenuhandler = function () { return false; };
|
||||
// FIXME
|
||||
}
|
||||
|
||||
- (void)_appendNewLineFragmentInTextContainer:(CPTextContainer)aTextContainer forGlyphRange:(CPRange)glyphRange
|
||||
{
|
||||
_lineFragments.push([[_lineFragmentFactory alloc] initWithRange:glyphRange textContainer:aTextContainer textStorage:_textStorage]);
|
||||
}
|
||||
|
||||
- (void)setTextContainer:(CPTextContainer)aTextContainer forGlyphRange:(CPRange)glyphRange
|
||||
{
|
||||
var fragments = _objectsInRange(_lineFragments, glyphRange),
|
||||
l = fragments.length;
|
||||
|
||||
for (var i = 0; i < l; i++)
|
||||
[fragments[i] invalidate];
|
||||
|
||||
var lineFragment = [[_lineFragmentFactory alloc] initWithRange:glyphRange textContainer:aTextContainer textStorage:_textStorage];
|
||||
|
||||
_lineFragments.push(lineFragment);
|
||||
fragments[i]._textContainer = aTextContainer;
|
||||
}
|
||||
|
||||
- (id)_lineFragmentForLocation:(unsigned) aLoc
|
||||
|
||||
@@ -177,7 +177,7 @@ var CPSystemTypesetterFactory,
|
||||
rect = CGRectMake(lineOrigin.x, lineOrigin.y, _lineWidth, _lineHeight),
|
||||
containerSize = aContainer._size;
|
||||
|
||||
[_layoutManager setTextContainer:_currentTextContainer forGlyphRange:lineRange]; // creates a new lineFragment
|
||||
[_layoutManager _appendNewLineFragmentInTextContainer:_currentTextContainer forGlyphRange:lineRange]
|
||||
|
||||
var fragment = [_layoutManager._lineFragments lastObject];
|
||||
fragment._isLast = !sameLine;
|
||||
|
||||
Reference in new issue
Block a user