typedef const struct CF_BRIDGED_TYPE(id) __CTRun * CTRunRef;
typedef CF_OPTIONS(uint32_t, CTRunStatus)
{
kCTRunStatusNoStatus = 0,
kCTRunStatusRightToLeft = (1 << 0),
kCTRunStatusNonMonotonic = (1 << 1),
kCTRunStatusHasNonIdentityMatrix = (1 << 2)
};
CFTypeID CTRunGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
CFIndex CTRunGetGlyphCount(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
CFDictionaryRef CTRunGetAttributes(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
CTRunStatus CTRunGetStatus(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
const CGGlyph * __nullable CTRunGetGlyphsPtr(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
void CTRunGetGlyphs(
CTRunRef run,
CFRange range,
CGGlyph buffer[] ) CT_AVAILABLE(10_5, 3_2);
const CGPoint * __nullable CTRunGetPositionsPtr(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
void CTRunGetPositions(
CTRunRef run,
CFRange range,
CGPoint buffer[] ) CT_AVAILABLE(10_5, 3_2);
const CGSize * __nullable CTRunGetAdvancesPtr(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
void CTRunGetAdvances(
CTRunRef run,
CFRange range,
CGSize buffer[] ) CT_AVAILABLE(10_5, 3_2);
const CFIndex * __nullable CTRunGetStringIndicesPtr(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
void CTRunGetStringIndices(
CTRunRef run,
CFRange range,
CFIndex buffer[] ) CT_AVAILABLE(10_5, 3_2);
CFRange CTRunGetStringRange(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
double CTRunGetTypographicBounds(
CTRunRef run,
CFRange range,
CGFloat * __nullable ascent,
CGFloat * __nullable descent,
CGFloat * __nullable leading ) CT_AVAILABLE(10_5, 3_2);
CGRect CTRunGetImageBounds(
CTRunRef run,
CGContextRef __nullable context,
CFRange range ) CT_AVAILABLE(10_5, 3_2);
CGAffineTransform CTRunGetTextMatrix(
CTRunRef run ) CT_AVAILABLE(10_5, 3_2);
void CTRunDraw(
CTRunRef run,
CGContextRef context,
CFRange range ) CT_AVAILABLE(10_5, 3_2);