6#include "../wrappers.h"
29 builder->addPlaceholder(
34 std::u16string*
text) {
35 builder->addText(*
text);
39 uint32_t* outLength) {
40 auto span = builder->getText();
41 *outLength = span.size();
47 builder->pushStyle(*style);
55 return builder->Build().release();
60 return new std::vector<SkUnicode::Position>(
length);
64 std::vector<SkUnicode::Position>*
buffer) {
69 std::vector<SkUnicode::Position>*
buffer) {
75 return new std::vector<SkUnicode::LineBreakBefore>(
80 std::vector<SkUnicode::LineBreakBefore>*
buffer) {
85 std::vector<SkUnicode::LineBreakBefore>*
buffer) {
91 std::vector<SkUnicode::Position>* breaks) {
92 builder->setGraphemeBreaksUtf16(std::move(*breaks));
97 std::vector<SkUnicode::Position>* breaks) {
98 builder->setWordsUtf16(std::move(*breaks));
103 std::vector<SkUnicode::LineBreakBefore>* breaks) {
104 builder->setLineBreaksUtf16(std::move(*breaks));
static std::unique_ptr< ParagraphBuilder > make(const ParagraphStyle &style, sk_sp< FontCollection > fontCollection, sk_sp< SkUnicode > unicode)
static const uint8_t buffer[]
PlaceholderAlignment
Where to vertically align the placeholder relative to the surrounding text.
SKWASM_EXPORT SkUnicode::Position * unicodePositionBuffer_getDataPointer(std::vector< SkUnicode::Position > *buffer)
SKWASM_EXPORT std::vector< SkUnicode::Position > * unicodePositionBuffer_create(size_t length)
SKWASM_EXPORT SkUnicode::LineBreakBefore * lineBreakBuffer_getDataPointer(std::vector< SkUnicode::LineBreakBefore > *buffer)
SKWASM_EXPORT ParagraphBuilder * paragraphBuilder_create(ParagraphStyle *style, FlutterFontCollection *collection)
SKWASM_EXPORT void lineBreakBuffer_free(std::vector< SkUnicode::LineBreakBefore > *buffer)
SKWASM_EXPORT void paragraphBuilder_setGraphemeBreaksUtf16(ParagraphBuilder *builder, std::vector< SkUnicode::Position > *breaks)
SKWASM_EXPORT void paragraphBuilder_pop(ParagraphBuilder *builder)
SKWASM_EXPORT void paragraphBuilder_setWordBreaksUtf16(ParagraphBuilder *builder, std::vector< SkUnicode::Position > *breaks)
SKWASM_EXPORT void paragraphBuilder_pushStyle(ParagraphBuilder *builder, TextStyle *style)
SKWASM_EXPORT char * paragraphBuilder_getUtf8Text(ParagraphBuilder *builder, uint32_t *outLength)
SKWASM_EXPORT void paragraphBuilder_dispose(ParagraphBuilder *builder)
SKWASM_EXPORT void unicodePositionBuffer_free(std::vector< SkUnicode::Position > *buffer)
SKWASM_EXPORT Paragraph * paragraphBuilder_build(ParagraphBuilder *builder)
SKWASM_EXPORT std::vector< SkUnicode::LineBreakBefore > * lineBreakBuffer_create(size_t length)
SKWASM_EXPORT void paragraphBuilder_addText(ParagraphBuilder *builder, std::u16string *text)
SKWASM_EXPORT void paragraphBuilder_addPlaceholder(ParagraphBuilder *builder, SkScalar width, SkScalar height, PlaceholderAlignment alignment, SkScalar baselineOffset, TextBaseline baseline)
SKWASM_EXPORT void paragraphBuilder_setLineBreaksUtf16(ParagraphBuilder *builder, std::vector< SkUnicode::LineBreakBefore > *breaks)
sk_sp< skia::textlayout::FontCollection > collection