/ CoreText / include / CoreText / CTRun.h
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