5#ifndef FLUTTER_TXT_SRC_SKIA_PARAGRAPH_SKIA_H_
6#define FLUTTER_TXT_SRC_SKIA_PARAGRAPH_SKIA_H_
12#include "third_party/skia/modules/skparagraph/include/Paragraph.h"
19 ParagraphSkia(std::unique_ptr<skia::textlayout::Paragraph> paragraph,
20 std::vector<flutter::DlPaint>&& dl_paints,
21 bool impeller_enabled);
43 skia::textlayout::LineMetrics* lineMetrics)
const override;
58 RectHeightStyle rect_height_style,
59 RectWidthStyle rect_width_style)
override;
68 skia::textlayout::Paragraph::GlyphInfo* glyphInfo)
const override;
73 skia::textlayout::Paragraph::GlyphInfo* glyphInfo)
const override;
78 TextStyle SkiaToTxt(
const skia::textlayout::TextStyle& skia);
80 std::unique_ptr<skia::textlayout::Paragraph> paragraph_;
81 std::vector<flutter::DlPaint> dl_paints_;
82 std::optional<std::vector<LineMetrics>> line_metrics_;
83 std::vector<TextStyle> line_metrics_styles_;
84 const bool impeller_enabled_;
double GetMaxIntrinsicWidth() override
bool DidExceedMaxLines() override
double GetHeight() override
size_t GetNumberOfLines() const override
PositionWithAffinity GetGlyphPositionAtCoordinate(double dx, double dy) override
virtual ~ParagraphSkia()=default
double GetAlphabeticBaseline() override
bool GetClosestGlyphInfoAtCoordinate(double dx, double dy, skia::textlayout::Paragraph::GlyphInfo *glyphInfo) const override
int GetLineNumberAt(size_t utf16Offset) const override
bool GetLineMetricsAt(int lineNumber, skia::textlayout::LineMetrics *lineMetrics) const override
double GetLongestLine() override
std::vector< LineMetrics > & GetLineMetrics() override
void Layout(double width) override
std::vector< TextBox > GetRectsForRange(size_t start, size_t end, RectHeightStyle rect_height_style, RectWidthStyle rect_width_style) override
std::vector< TextBox > GetRectsForPlaceholders() override
double GetMaxWidth() override
bool GetGlyphInfoAt(unsigned offset, skia::textlayout::Paragraph::GlyphInfo *glyphInfo) const override
double GetMinIntrinsicWidth() override
Range< size_t > GetWordBoundary(size_t offset) override
double GetIdeographicBaseline() override