Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions
paragraph_builder.cpp File Reference
#include "../export.h"
#include "../wrappers.h"
#include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h"

Go to the source code of this file.

Functions

SKWASM_EXPORT ParagraphBuilderparagraphBuilder_create (ParagraphStyle *style, FlutterFontCollection *collection)
 
SKWASM_EXPORT void paragraphBuilder_dispose (ParagraphBuilder *builder)
 
SKWASM_EXPORT void paragraphBuilder_addPlaceholder (ParagraphBuilder *builder, SkScalar width, SkScalar height, PlaceholderAlignment alignment, SkScalar baselineOffset, TextBaseline baseline)
 
SKWASM_EXPORT void paragraphBuilder_addText (ParagraphBuilder *builder, std::u16string *text)
 
SKWASM_EXPORT char * paragraphBuilder_getUtf8Text (ParagraphBuilder *builder, uint32_t *outLength)
 
SKWASM_EXPORT void paragraphBuilder_pushStyle (ParagraphBuilder *builder, TextStyle *style)
 
SKWASM_EXPORT void paragraphBuilder_pop (ParagraphBuilder *builder)
 
SKWASM_EXPORT ParagraphparagraphBuilder_build (ParagraphBuilder *builder)
 
SKWASM_EXPORT std::vector< SkUnicode::Position > * unicodePositionBuffer_create (size_t length)
 
SKWASM_EXPORT SkUnicode::PositionunicodePositionBuffer_getDataPointer (std::vector< SkUnicode::Position > *buffer)
 
SKWASM_EXPORT void unicodePositionBuffer_free (std::vector< SkUnicode::Position > *buffer)
 
SKWASM_EXPORT std::vector< SkUnicode::LineBreakBefore > * lineBreakBuffer_create (size_t length)
 
SKWASM_EXPORT SkUnicode::LineBreakBeforelineBreakBuffer_getDataPointer (std::vector< SkUnicode::LineBreakBefore > *buffer)
 
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_setWordBreaksUtf16 (ParagraphBuilder *builder, std::vector< SkUnicode::Position > *breaks)
 
SKWASM_EXPORT void paragraphBuilder_setLineBreaksUtf16 (ParagraphBuilder *builder, std::vector< SkUnicode::LineBreakBefore > *breaks)
 

Function Documentation

◆ lineBreakBuffer_create()

SKWASM_EXPORT std::vector< SkUnicode::LineBreakBefore > * lineBreakBuffer_create ( size_t  length)

Definition at line 73 of file paragraph_builder.cpp.

74 {
75 return new std::vector<SkUnicode::LineBreakBefore>(
77}
size_t length

◆ lineBreakBuffer_free()

SKWASM_EXPORT void lineBreakBuffer_free ( std::vector< SkUnicode::LineBreakBefore > *  buffer)

Definition at line 84 of file paragraph_builder.cpp.

85 {
86 delete buffer;
87}
static const uint8_t buffer[]

◆ lineBreakBuffer_getDataPointer()

SKWASM_EXPORT SkUnicode::LineBreakBefore * lineBreakBuffer_getDataPointer ( std::vector< SkUnicode::LineBreakBefore > *  buffer)

Definition at line 79 of file paragraph_builder.cpp.

80 {
81 return buffer->data();
82}

◆ paragraphBuilder_addPlaceholder()

SKWASM_EXPORT void paragraphBuilder_addPlaceholder ( ParagraphBuilder builder,
SkScalar  width,
SkScalar  height,
PlaceholderAlignment  alignment,
SkScalar  baselineOffset,
TextBaseline  baseline 
)

Definition at line 22 of file paragraph_builder.cpp.

28 {
29 builder->addPlaceholder(
30 PlaceholderStyle(width, height, alignment, baseline, baselineOffset));
31}
int32_t height
int32_t width

◆ paragraphBuilder_addText()

SKWASM_EXPORT void paragraphBuilder_addText ( ParagraphBuilder builder,
std::u16string *  text 
)

Definition at line 33 of file paragraph_builder.cpp.

34 {
35 builder->addText(*text);
36}
std::u16string text

◆ paragraphBuilder_build()

SKWASM_EXPORT Paragraph * paragraphBuilder_build ( ParagraphBuilder builder)

Definition at line 54 of file paragraph_builder.cpp.

54 {
55 return builder->Build().release();
56}

◆ paragraphBuilder_create()

SKWASM_EXPORT ParagraphBuilder * paragraphBuilder_create ( ParagraphStyle style,
FlutterFontCollection collection 
)

Definition at line 12 of file paragraph_builder.cpp.

14 {
15 return ParagraphBuilder::make(*style, collection->collection).release();
16}
static std::unique_ptr< ParagraphBuilder > make(const ParagraphStyle &style, sk_sp< FontCollection > fontCollection, sk_sp< SkUnicode > unicode)
sk_sp< skia::textlayout::FontCollection > collection
Definition wrappers.h:33

◆ paragraphBuilder_dispose()

SKWASM_EXPORT void paragraphBuilder_dispose ( ParagraphBuilder builder)

Definition at line 18 of file paragraph_builder.cpp.

18 {
19 delete builder;
20}

◆ paragraphBuilder_getUtf8Text()

SKWASM_EXPORT char * paragraphBuilder_getUtf8Text ( ParagraphBuilder builder,
uint32_t *  outLength 
)

Definition at line 38 of file paragraph_builder.cpp.

39 {
40 auto span = builder->getText();
41 *outLength = span.size();
42 return span.data();
43}

◆ paragraphBuilder_pop()

SKWASM_EXPORT void paragraphBuilder_pop ( ParagraphBuilder builder)

Definition at line 50 of file paragraph_builder.cpp.

50 {
51 builder->pop();
52}

◆ paragraphBuilder_pushStyle()

SKWASM_EXPORT void paragraphBuilder_pushStyle ( ParagraphBuilder builder,
TextStyle style 
)

Definition at line 45 of file paragraph_builder.cpp.

46 {
47 builder->pushStyle(*style);
48}

◆ paragraphBuilder_setGraphemeBreaksUtf16()

SKWASM_EXPORT void paragraphBuilder_setGraphemeBreaksUtf16 ( ParagraphBuilder builder,
std::vector< SkUnicode::Position > *  breaks 
)

Definition at line 89 of file paragraph_builder.cpp.

91 {
92 builder->setGraphemeBreaksUtf16(std::move(*breaks));
93}

◆ paragraphBuilder_setLineBreaksUtf16()

SKWASM_EXPORT void paragraphBuilder_setLineBreaksUtf16 ( ParagraphBuilder builder,
std::vector< SkUnicode::LineBreakBefore > *  breaks 
)

Definition at line 101 of file paragraph_builder.cpp.

103 {
104 builder->setLineBreaksUtf16(std::move(*breaks));
105}

◆ paragraphBuilder_setWordBreaksUtf16()

SKWASM_EXPORT void paragraphBuilder_setWordBreaksUtf16 ( ParagraphBuilder builder,
std::vector< SkUnicode::Position > *  breaks 
)

Definition at line 95 of file paragraph_builder.cpp.

97 {
98 builder->setWordsUtf16(std::move(*breaks));
99}

◆ unicodePositionBuffer_create()

SKWASM_EXPORT std::vector< SkUnicode::Position > * unicodePositionBuffer_create ( size_t  length)

Definition at line 58 of file paragraph_builder.cpp.

59 {
60 return new std::vector<SkUnicode::Position>(length);
61}

◆ unicodePositionBuffer_free()

SKWASM_EXPORT void unicodePositionBuffer_free ( std::vector< SkUnicode::Position > *  buffer)

Definition at line 68 of file paragraph_builder.cpp.

69 {
70 delete buffer;
71}

◆ unicodePositionBuffer_getDataPointer()

SKWASM_EXPORT SkUnicode::Position * unicodePositionBuffer_getDataPointer ( std::vector< SkUnicode::Position > *  buffer)

Definition at line 63 of file paragraph_builder.cpp.

64 {
65 return buffer->data();
66}