luxlabs header browser preview


@class UIFont, NSString, _NSLineBreakerNodePool, NSMutableSet, _NSLineMetrics, NSAttributedString, NSParagraphStyle;

@interface _NSOptimalLineBreaker : NSObject {
    BOOL _lineBreaksValid;
    BOOL _wrappingValid;
    BOOL _linesValid;
    double _tolerance;
    struct { struct _NSRange { unsigned long long x0; unsigned long long x1; } x0; double x1; double x2; double x3; double x4; unsigned short x5; double x6; } *_lineBreaks;
    unsigned long long _lineBreakCount;
    unsigned long long _lineBreakCapacity;
    struct __CFArray { } *_lines;
    struct { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; struct _NSRange { unsigned long long x0; unsigned long long x1; } x1; double x2; double x3; double x4; } *_lineInfos;
    struct __CFStringTokenizer { } *_wordTokenizer;
    struct __CFStringTokenizer { } *_wordBoundaryTokenizer;
    struct __CFStringTokenizer { } *_lineBreakTokenizer;
    BOOL _lineBreakTokenizerValid;
    UIFont *_cachedHyphenFont;
    struct _NSRange { unsigned long long location; unsigned long long length; } _cachedHyphenFontRange;
    double _cachedHyphenWidth;
    double _cachedAverageCharWidth;
    struct __CFLocale { } *_locale;
    NSParagraphStyle *_paragraphStyle;
    long long _alignment;
    double _firstLineMaxWidth;
    double _nonFirstLineMaxWidth;
    NSMutableSet *_consumedNBSPRanges;
    _NSLineBreakerNodePool *_nodePool;
    struct { struct _NSRange { unsigned long long x0; unsigned long long x1; } x0; double x1; double x2; double x3; double x4; unsigned short x5; double x6; } *_chosenLineBreaks;
    unsigned long long _chosenLineBreakCount;
    double _justifiedHyphenPenalty;
    double _nonJustifiedHyphenPenalty;
    double _hyphenationFactorHyphenPenalty;
    double _twoHyphenPenalty;
    double _stretchClassMismatchPenalty;
    double _riverPenalty;
    unsigned long long _minNonRuntLength;
    double _expansionPower;
    double _expansionWeight;
    double _maxContract;
    double _maxExpand;
    double _nonJustifiedStretchFactor;
    double _maxGlyphContract;
    double _maxGlyphExpand;
    NSParagraphStyle *_defaultParagraphStyle;
    _NSLineMetrics *_lineMetrics;
    BOOL _lineMetricsValid;
}

@property (copy, nonatomic) NSAttributedString *attributedString;
@property (nonatomic) struct _NSRange { unsigned long long location; unsigned long long length; } paragraphRange;
@property (nonatomic) struct __CTLine { } *paragraphLine;
@property (nonatomic) double textContainerWidth;
@property (nonatomic) struct __CFLocale { } *locale;
@property (nonatomic) BOOL allowsHyphenation;
@property (nonatomic) double hyphenationFactor;
@property (nonatomic) unsigned long long minHyphenationLineCount;
@property (nonatomic) BOOL shouldFillLastLine;
@property (nonatomic) double minimumLastLineLength;
@property (nonatomic) long long lineCountAdjustment;
@property (copy, nonatomic) NSString *lineBreakAlgorithm;
@property (nonatomic) BOOL usesHangingPunctuation;
@property (nonatomic) BOOL usesStretchClasses;
@property (nonatomic) BOOL avoidsRivers;
@property (nonatomic) BOOL compressesLeftAlignedText;
@property (nonatomic) BOOL expandsGlyphs;
@property (nonatomic) unsigned long long lineBreakStrategy;
@property (nonatomic) int koreanLineBreakBehavior;
@property (nonatomic) int prepositionLineBreakBehavior;
@property (nonatomic) BOOL breaksWithinCJWords;
@property (nonatomic) BOOL usesCFStringTokenizerForLineBreaks;
@property (nonatomic) BOOL hyphenatesBetweenMorphemesFreely;
@property (nonatomic) BOOL hyphenatesAsLastResort;
@property (nonatomic) unsigned long long minPreHyphenLength;
@property (nonatomic) unsigned long long minPostHyphenLength;
@property (copy, nonatomic) NSParagraphStyle *defaultParagraphStyle;
@property (readonly, nonatomic) NSString *debugString;

- (unsigned long long)lineCount;
- (id)init;
- (void)dealloc;
- (void)setOptions:(id)a0;
- (struct { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; struct _NSRange { unsigned long long x0; unsigned long long x1; } x1; double x2; double x3; double x4; })lineInfoAtIndex:(unsigned long long)a0;
- (void)enumerateLineBreaksInRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0 withBlock:(id /* block */)a1;
- (struct __CTLine { } *)lineAtIndex:(unsigned long long)a0 lineInfo:(out struct { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; struct _NSRange { unsigned long long x0; unsigned long long x1; } x1; double x2; double x3; double x4; } *)a1;
- (void).cxx_destruct;
- (double)_naturalWidthFromBreak:(const struct { struct _NSRange { unsigned long long x0; unsigned long long x1; } x0; double x1; double x2; double x3; double x4; unsigned short x5; double x6; } *)a0 toBreak:(const struct { struct _NSRange { unsigned long long x0; unsigned long long x1; } x0; double x1; double x2; double x3; double x4; unsigned short x5; double x6; } *)a1;
- (void)layout;
- (void)invalidateWrapping;
- (void)setAttributedString:(id)a0 paragraphRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1;
- (struct { struct _NSRange { unsigned long long x0; unsigned long long x1; } x0; double x1; double x2; double x3; double x4; unsigned short x5; double x6; })lineBreakAtIndex:(unsigned long long)a0;

@end