61 return position.position;
69 SkRect* graphemeLayoutBounds,
70 size_t* graphemeCodeUnitRange,
91 SkRect* graphemeLayoutBounds,
92 size_t* graphemeCodeUnitRange,
109 unsigned int position,
113 outRange[0] = range.
start;
114 outRange[1] = range.end;
122 size_t characterIndex) {
146 return list->
boxes.size();
152 const auto& box = list->
boxes[index];
154 return box.direction;
182 if (!outCodePoints) {
187 if (outIndex < outLength) {
virtual std::vector< TextBox > getRectsForRange(unsigned start, unsigned end, RectHeightStyle rectHeightStyle, RectWidthStyle rectWidthStyle)=0
virtual bool getGlyphInfoAtUTF16Offset(size_t codeUnitIndex, GlyphInfo *glyphInfo)=0
virtual SkRange< size_t > getWordBoundary(unsigned offset)=0
SkScalar getAlphabeticBaseline()
virtual std::unordered_set< SkUnichar > unresolvedCodepoints()=0
virtual std::vector< TextBox > getRectsForPlaceholders()=0
virtual int getLineNumberAtUTF16Offset(size_t codeUnitIndex)=0
virtual bool getClosestUTF16GlyphInfoAt(SkScalar dx, SkScalar dy, GlyphInfo *glyphInfo)=0
virtual size_t lineNumber()=0
virtual PositionWithAffinity getGlyphPositionAtCoordinate(SkScalar dx, SkScalar dy)=0
SkScalar getMinIntrinsicWidth()
SkScalar getIdeographicBaseline()
virtual void layout(SkScalar width)=0
SkScalar getLongestLine()
SkScalar getMaxIntrinsicWidth()
virtual bool getLineMetricsAt(int lineNumber, LineMetrics *lineMetrics) const =0
SKWASM_EXPORT SkScalar paragraph_getMaxIntrinsicWidth(Paragraph *paragraph)
SKWASM_EXPORT SkScalar paragraph_getIdeographicBaseline(Paragraph *paragraph)
SKWASM_EXPORT void paragraph_layout(Paragraph *paragraph, SkScalar width)
SKWASM_EXPORT int32_t paragraph_getPositionForOffset(Paragraph *paragraph, SkScalar offsetX, SkScalar offsetY, Affinity *outAffinity)
SKWASM_EXPORT SkScalar paragraph_getMinIntrinsicWidth(Paragraph *paragraph)
SKWASM_EXPORT LineMetrics * paragraph_getLineMetricsAtIndex(Paragraph *paragraph, size_t lineNumber)
SKWASM_EXPORT bool paragraph_getDidExceedMaxLines(Paragraph *paragraph)
SKWASM_EXPORT SkScalar paragraph_getAlphabeticBaseline(Paragraph *paragraph)
SKWASM_EXPORT bool paragraph_getClosestGlyphInfoAtCoordinate(Paragraph *paragraph, SkScalar offsetX, SkScalar offsetY, SkRect *graphemeLayoutBounds, size_t *graphemeCodeUnitRange, bool *booleanFlags)
SKWASM_EXPORT size_t textBoxList_getLength(TextBoxList *list)
SKWASM_EXPORT SkScalar paragraph_getHeight(Paragraph *paragraph)
SKWASM_EXPORT bool paragraph_getGlyphInfoAt(Paragraph *paragraph, size_t index, SkRect *graphemeLayoutBounds, size_t *graphemeCodeUnitRange, bool *booleanFlags)
SKWASM_EXPORT TextBoxList * paragraph_getBoxesForPlaceholders(Paragraph *paragraph)
SKWASM_EXPORT SkScalar paragraph_getLongestLine(Paragraph *paragraph)
SKWASM_EXPORT int paragraph_getUnresolvedCodePoints(Paragraph *paragraph, SkUnichar *outCodePoints, int outLength)
SKWASM_EXPORT int paragraph_getLineNumberAt(Paragraph *paragraph, size_t characterIndex)
SKWASM_EXPORT size_t paragraph_getLineCount(Paragraph *paragraph)
SKWASM_EXPORT SkScalar paragraph_getWidth(Paragraph *paragraph)
SKWASM_EXPORT TextDirection textBoxList_getBoxAtIndex(TextBoxList *list, size_t index, SkRect *outRect)
SKWASM_EXPORT TextBoxList * paragraph_getBoxesForRange(Paragraph *paragraph, int start, int end, RectHeightStyle heightStyle, RectWidthStyle widthStyle)
SKWASM_EXPORT void textBoxList_dispose(TextBoxList *list)
SKWASM_EXPORT void paragraph_getWordBoundary(Paragraph *paragraph, unsigned int position, int32_t *outRange)
SKWASM_EXPORT void paragraph_dispose(Paragraph *paragraph)
std::vector< TextBox > boxes
TextRange fGraphemeClusterTextRange
SkRect fGraphemeLayoutBounds