12 for (
const auto& metric : metrics) {
13 metrics_[metric.line_number] = metric;
20 return GetLine(line).ascent;
24 return GetLine(line).unscaled_ascent;
28 return GetLine(line).descent;
32 return GetLine(line).baseline;
36 return GetLine(line).hard_break;
40 return GetLine(line).width;
44 return GetLine(line).height;
48 return GetLine(line).left;
52 return GetLine(line).start_index;
56 return GetLine(line).end_index;
60 return GetLine(line).end_excluding_whitespace;
64 return GetLine(line).end_including_newline;
67 const txt::LineMetrics& LineMetrics::GetLine(
size_t line)
const {
68 auto found = metrics_.find(line);
69 if (found != metrics_.end()) {
72 static txt::LineMetrics kDefaultMetrics = {};
73 return kDefaultMetrics;
double GetLeft(size_t line) const
size_t GetCodeUnitStartIndex(size_t line) const
double GetBaseline(size_t line) const
LineMetrics(const std::vector< txt::LineMetrics > &metrics)
double GetUnscaledAscent(size_t line) const
size_t GetCodeUnitEndIndexIncludingNewline(size_t line) const
double GetWidth(size_t line) const
double GetAscent(size_t line) const
bool IsHardbreak(size_t line) const
double GetHeight(size_t line) const
size_t GetCodeUnitEndIndex(size_t line) const
size_t GetCodeUnitEndIndexExcludingWhitespace(size_t line) const
double GetDescent(size_t line) const