Added ASTextNodeWordKerner support to ASTextNode

* Added a member to `ASTextKitAttributes` that is an optional delegate to the struct's NSLayoutManager.
* Changed ASTextNode to set this delegate to an instance of ASTextNodeWordKerner.
* Updated init method of `ASTextKitContext` to take an optional NSLayoutManager delegate
* Added the files in TextKit folder to the public headers (so we can include ASTextNodeTypes.h)
This commit is contained in:
rcancro
2016-01-28 08:38:22 -08:00
parent d433205e5a
commit 7f6f2fed11
10 changed files with 38 additions and 12 deletions

View File

@@ -42,7 +42,8 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil];
layoutManagerFactory:nil
layoutManagerDelegate:nil];
__block NSRange textKitVisibleRange;
[context performBlockWithLockedTextKitComponents:^(NSLayoutManager *layoutManager, NSTextStorage *textStorage, NSTextContainer *textContainer) {
textKitVisibleRange = [layoutManager characterRangeForGlyphRange:[layoutManager glyphRangeForTextContainer:textContainer]
@@ -63,7 +64,8 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil];
layoutManagerFactory:nil
layoutManagerDelegate:nil];
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
truncationAttributedString:[self _simpleTruncationAttributedString]
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@""]];
@@ -85,7 +87,8 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil];
layoutManagerFactory:nil
layoutManagerDelegate:nil];
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
truncationAttributedString:[self _simpleTruncationAttributedString]
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@"."]];
@@ -108,7 +111,8 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil];
layoutManagerFactory:nil
layoutManagerDelegate:nil];
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
truncationAttributedString:[self _simpleTruncationAttributedString]
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@"."]];
@@ -132,7 +136,9 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil];
layoutManagerFactory:nil
layoutManagerDelegate:nil];
XCTAssertNoThrow([[ASTextKitTailTruncater alloc] initWithContext:context
truncationAttributedString:[self _simpleTruncationAttributedString]
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@"."]]);