CTRun

作者: 李潇南 | 来源:发表于2017-09-09 10:06 被阅读135次
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);





相关文章

  • 富文本

    最小单位是CTRun属性(字体,颜色)相同的会放到一个CTRun.

  • CTRun

  • CTRun.h

  • Core Text系列2 - 嵌入图片

    步骤 1.将一个属性字符串,添加上代理和独一无二的属性,让其称为一个单独的CTRun,这个CTRun的Rect由回...

  • 富文本原理

    原理分析 CTFrame作为一个整体的画布,其中有行(CTLine)组成,每行可以分为一个或多个小方块(CTRun...

  • CoreText图文混排思路以及代码实现

    图文混排 CoreText实际上并没有相应API直接将一个图片转换为CTRun并进行绘制,它所能做的只是为图片预留...

网友评论

      本文标题:CTRun

      本文链接:https://www.haomeiwen.com/subject/qbknjxtx.html