typedef const struct CF_BRIDGED_TYPE(id) __CTRunDelegate * CTRunDelegateRef;
CFTypeID CTRunDelegateGetTypeID( void ) CT_AVAILABLE(10_5, 3_2);
typedef void (*CTRunDelegateDeallocateCallback) (
void * refCon );
typedef CGFloat (*CTRunDelegateGetAscentCallback) (
void * refCon );
typedef CGFloat (*CTRunDelegateGetDescentCallback) (
void * refCon );
typedef CGFloat (*CTRunDelegateGetWidthCallback) (
void * refCon );
typedef struct
{
CFIndex version;
CTRunDelegateDeallocateCallback dealloc;
CTRunDelegateGetAscentCallback getAscent;
CTRunDelegateGetDescentCallback getDescent;
CTRunDelegateGetWidthCallback getWidth;
} CTRunDelegateCallbacks;
enum {
kCTRunDelegateVersion1 = 1,
kCTRunDelegateCurrentVersion = kCTRunDelegateVersion1
};
CTRunDelegateRef __nullable CTRunDelegateCreate(
const CTRunDelegateCallbacks* callbacks,
void * __nullable refCon ) CT_AVAILABLE(10_5, 3_2);
void * CTRunDelegateGetRefCon(
CTRunDelegateRef runDelegate ) CT_AVAILABLE(10_5, 3_2);