Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
paragraph_builder_builtin_icu.cc File Reference
#include "flutter/skwasm/export.h"
#include "flutter/skwasm/live_objects.h"
#include "flutter/skwasm/text/text_types.h"
#include "flutter/skwasm/wrappers.h"
#include "modules/skunicode/include/SkUnicode_icu.h"
#include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h"

Go to the source code of this file.

Functions

SKWASM_EXPORT bool skwasm_isHeavy ()
 
SKWASM_EXPORT Skwasm::ParagraphBuilderparagraphBuilder_create (Skwasm::ParagraphStyle *style, Skwasm::FlutterFontCollection *collection)
 
SKWASM_EXPORT Skwasm::ParagraphparagraphBuilder_build (Skwasm::ParagraphBuilder *builder)
 
SKWASM_EXPORT void paragraphBuilder_setGraphemeBreaksUtf16 (Skwasm::ParagraphBuilder *builder, std::vector< SkUnicode::Position > *breaks)
 
SKWASM_EXPORT void paragraphBuilder_setWordBreaksUtf16 (Skwasm::ParagraphBuilder *builder, std::vector< SkUnicode::Position > *breaks)
 
SKWASM_EXPORT void paragraphBuilder_setLineBreaksUtf16 (Skwasm::ParagraphBuilder *builder, std::vector< SkUnicode::LineBreakBefore > *breaks)
 

Function Documentation

◆ paragraphBuilder_build()

SKWASM_EXPORT Skwasm::Paragraph * paragraphBuilder_build ( Skwasm::ParagraphBuilder builder)

Definition at line 30 of file paragraph_builder_builtin_icu.cc.

31 {
33 return new Skwasm::Paragraph{builder->skia_paragraph_builder->Build(),
34 std::move(builder->paints)};
35}
uint32_t live_paragraph_count
std::vector< flutter::DlPaint > paints
Definition text_types.h:45
std::unique_ptr< skia::textlayout::ParagraphBuilder > skia_paragraph_builder
Definition text_types.h:44

References Skwasm::live_paragraph_count, Skwasm::ParagraphBuilder::paints, and Skwasm::ParagraphBuilder::skia_paragraph_builder.

◆ paragraphBuilder_create()

SKWASM_EXPORT Skwasm::ParagraphBuilder * paragraphBuilder_create ( Skwasm::ParagraphStyle style,
Skwasm::FlutterFontCollection collection 
)

Definition at line 16 of file paragraph_builder_builtin_icu.cc.

18 {
20 std::vector<flutter::DlPaint> paints;
21 style->text_style.PopulatePaintIds(paints);
22 style->skia_paragraph_style.setTextStyle(style->text_style.skia_style);
23 return new Skwasm::ParagraphBuilder{
24 skia::textlayout::ParagraphBuilder::make(style->skia_paragraph_style,
25 collection->collection,
26 SkUnicodes::ICU::Make()),
27 std::move(paints)};
28}
uint32_t live_paragraph_builder_count
sk_sp< skia::textlayout::FontCollection > collection
Definition wrappers.h:37
skia::textlayout::ParagraphStyle skia_paragraph_style
Definition text_types.h:39
void PopulatePaintIds(std::vector< flutter::DlPaint > &paints)
Definition text_types.h:21
skia::textlayout::TextStyle skia_style
Definition text_types.h:17

References Skwasm::FlutterFontCollection::collection, Skwasm::live_paragraph_builder_count, Skwasm::TextStyle::PopulatePaintIds(), Skwasm::ParagraphStyle::skia_paragraph_style, Skwasm::TextStyle::skia_style, and Skwasm::ParagraphStyle::text_style.

◆ paragraphBuilder_setGraphemeBreaksUtf16()

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

Definition at line 37 of file paragraph_builder_builtin_icu.cc.

39 {
40 emscripten_console_warn(
41 "warning: setGraphemeBreaksUtf16 not implemented in skwasm_heavy\n");
42}

◆ paragraphBuilder_setLineBreaksUtf16()

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

Definition at line 51 of file paragraph_builder_builtin_icu.cc.

53 {
54 emscripten_console_warn(
55 "warning: setLineBreaksUtf16 not implemented in skwasm_heavy\n");
56}

◆ paragraphBuilder_setWordBreaksUtf16()

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

Definition at line 44 of file paragraph_builder_builtin_icu.cc.

46 {
47 emscripten_console_warn(
48 "warning: setWordBreaksUtf16 not implemented in skwasm_heavy\n");
49}

◆ skwasm_isHeavy()

SKWASM_EXPORT bool skwasm_isHeavy ( )

Definition at line 12 of file paragraph_builder_builtin_icu.cc.

12 {
13 return true;
14}