// Copyright 2021 Google LLC. #include "experimental/sktext/include/Text.h" #include "experimental/sktext/src/Line.h" namespace skia { namespace text { LogicalLine::LogicalLine(const Stretch& stretch, const Stretch& spaces, SkScalar verticalOffset, bool hardLineBreak) : fTextStart(stretch.glyphStart()) , fTextEnd(stretch.glyphEnd()) , fWhitespacesEnd (spaces.glyphEnd()) , fText(stretch.textRange()) , fWhitespaces(spaces.textRange()) , fTextWidth(stretch.width()) , fSpacesWidth(spaces.width()) , fHorizontalOffset(0.0f) , fVerticalOffset(verticalOffset) , fHardLineBreak(hardLineBreak) { SkASSERT(stretch.isEmpty() || spaces.isEmpty() || (stretch.glyphEnd() == spaces.glyphStart())); if (!stretch.isEmpty()) { this->fTextMetrics.merge(stretch.textMetrics()); } if (!spaces.isEmpty()) { this->fTextMetrics.merge(spaces.textMetrics()); } } } // namespace text } // namespace skia