Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
Loading...
Searching...
No Matches
text_types.h
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef FLUTTER_SKWASM_TEXT_TEXT_TYPES_H_
6
#define FLUTTER_SKWASM_TEXT_TEXT_TYPES_H_
7
8
#include <optional>
9
#include <vector>
10
11
#include "
flutter/display_list/dl_paint.h
"
12
#include "third_party/skia/modules/skparagraph/include/Paragraph.h"
13
#include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h"
14
15
namespace
Skwasm
{
16
struct
TextStyle
{
17
skia::textlayout::TextStyle
skia_style
;
18
std::optional<flutter::DlPaint>
foreground
;
19
std::optional<flutter::DlPaint>
background
;
20
21
void
PopulatePaintIds
(std::vector<flutter::DlPaint>& paints) {
22
if
(
background
) {
23
skia_style
.setBackgroundPaintID(paints.size());
24
paints.push_back(*
background
);
25
}
26
if
(
foreground
) {
27
skia_style
.setForegroundPaintID(paints.size());
28
paints.push_back(*
foreground
);
29
}
else
{
30
flutter::DlPaint
paint;
31
paint.
setColor
(
flutter::DlColor
(
skia_style
.getColor()));
32
skia_style
.setForegroundPaintID(paints.size());
33
paints.push_back(std::move(paint));
34
}
35
}
36
};
37
38
struct
ParagraphStyle
{
39
skia::textlayout::ParagraphStyle
skia_paragraph_style
;
40
TextStyle
text_style
;
41
};
42
43
struct
ParagraphBuilder
{
44
std::unique_ptr<skia::textlayout::ParagraphBuilder>
skia_paragraph_builder
;
45
std::vector<flutter::DlPaint>
paints
;
46
};
47
48
struct
Paragraph
{
49
std::unique_ptr<skia::textlayout::Paragraph>
skia_paragraph
;
50
std::vector<flutter::DlPaint>
paints
;
51
};
52
}
// namespace Skwasm
53
54
#endif
// FLUTTER_SKWASM_TEXT_TEXT_TYPES_H_
flutter::DlPaint
Definition
dl_paint.h:46
flutter::DlPaint::setColor
DlPaint & setColor(DlColor color)
Definition
dl_paint.h:70
dl_paint.h
Skwasm
Definition
helpers.h:14
Skwasm::ParagraphBuilder
Definition
text_types.h:43
Skwasm::ParagraphBuilder::paints
std::vector< flutter::DlPaint > paints
Definition
text_types.h:45
Skwasm::ParagraphBuilder::skia_paragraph_builder
std::unique_ptr< skia::textlayout::ParagraphBuilder > skia_paragraph_builder
Definition
text_types.h:44
Skwasm::Paragraph
Definition
text_types.h:48
Skwasm::Paragraph::skia_paragraph
std::unique_ptr< skia::textlayout::Paragraph > skia_paragraph
Definition
text_types.h:49
Skwasm::Paragraph::paints
std::vector< flutter::DlPaint > paints
Definition
text_types.h:50
Skwasm::ParagraphStyle
Definition
text_types.h:38
Skwasm::ParagraphStyle::text_style
TextStyle text_style
Definition
text_types.h:40
Skwasm::ParagraphStyle::skia_paragraph_style
skia::textlayout::ParagraphStyle skia_paragraph_style
Definition
text_types.h:39
Skwasm::TextStyle
Definition
text_types.h:16
Skwasm::TextStyle::background
std::optional< flutter::DlPaint > background
Definition
text_types.h:19
Skwasm::TextStyle::foreground
std::optional< flutter::DlPaint > foreground
Definition
text_types.h:18
Skwasm::TextStyle::PopulatePaintIds
void PopulatePaintIds(std::vector< flutter::DlPaint > &paints)
Definition
text_types.h:21
Skwasm::TextStyle::skia_style
skia::textlayout::TextStyle skia_style
Definition
text_types.h:17
flutter::DlColor
Definition
dl_color.h:21
skwasm
text
text_types.h
Generated on Wed Dec 31 2025 04:49:51 for Flutter Engine Uber Docs by
1.9.8