blob: 51d90141cd241eb599b6745fc9f757ab5483f4a9 [file] [log] [blame]
// 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