CTRun.h
1 #import <CoreText/CoreTextExport.h> 2 #import <CoreGraphics/CoreGraphics.h> 3 4 CF_IMPLICIT_BRIDGING_ENABLED 5 6 typedef struct __CTRun* CTRunRef; 7 8 typedef NS_ENUM(uint32_t, CTRunStatus) 9 { 10 kCTRunStatusNoStatus = 0, 11 kCTRunStatusRightToLeft = (1 << 0), 12 kCTRunStatusNonMonotonic = (1 << 1), 13 kCTRunStatusHasNonIdentityMatrix = (1 << 2) 14 }; 15 16 CORETEXT_EXPORT CFTypeID CTRunGetTypeID(void); 17 CORETEXT_EXPORT CFIndex CTRunGetGlyphCount(CTRunRef run); 18 CORETEXT_EXPORT CFDictionaryRef CTRunGetAttributes(CTRunRef run); 19 CORETEXT_EXPORT CTRunStatus CTRunGetStatus(CTRunRef run); 20 21 CORETEXT_EXPORT const CGGlyph * CTRunGetGlyphsPtr(CTRunRef run); 22 CORETEXT_EXPORT void CTRunGetGlyphs(CTRunRef run, CFRange range, CGGlyph *buffer); 23 24 CORETEXT_EXPORT const CGPoint * CTRunGetPositionsPtr(CTRunRef run); 25 CORETEXT_EXPORT void CTRunGetPositions(CTRunRef run, CFRange range, CGPoint *buffer); 26 27 CORETEXT_EXPORT const CGSize * CTRunGetAdvancesPtr(CTRunRef run); 28 29 CORETEXT_EXPORT void CTRunGetAdvances(CTRunRef run, CFRange range, CGSize *buffer); 30 31 CORETEXT_EXPORT const CFIndex * CTRunGetStringIndicesPtr(CTRunRef run); 32 33 CORETEXT_EXPORT void CTRunGetStringIndices(CTRunRef run, CFRange range, CFIndex *buffer); 34 35 CORETEXT_EXPORT CFRange CTRunGetStringRange(CTRunRef run); 36 37 CORETEXT_EXPORT double CTRunGetTypographicBounds(CTRunRef run, CFRange range, CGFloat *ascent, CGFloat *descent, CGFloat *leading); 38 39 CORETEXT_EXPORT CGRect CTRunGetImageBounds(CTRunRef run, CGContextRef context, CFRange range); 40 41 CORETEXT_EXPORT CGAffineTransform CTRunGetTextMatrix(CTRunRef run); 42 43 CORETEXT_EXPORT void CTRunGetBaseAdvancesAndOrigins(CTRunRef runRef, CFRange range, CGSize *advancesBuffer, CGPoint *originsBuffer); 44 45 CORETEXT_EXPORT void CTRunDraw(CTRunRef run, CGContextRef context, CFRange range); 46 47 CF_IMPLICIT_BRIDGING_DISABLED