• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2021 Google LLC.
2 #include "experimental/sktext/include/Text.h"
3 #include "experimental/sktext/src/Line.h"
4 
5 namespace skia {
6 namespace text {
LogicalLine(const Stretch & stretch,const Stretch & spaces,SkScalar verticalOffset,bool hardLineBreak)7 LogicalLine::LogicalLine(const Stretch& stretch, const Stretch& spaces, SkScalar verticalOffset, bool hardLineBreak)
8     : fTextStart(stretch.glyphStart())
9     , fTextEnd(stretch.glyphEnd())
10     , fWhitespacesEnd (spaces.glyphEnd())
11     , fText(stretch.textRange())
12     , fWhitespaces(spaces.textRange())
13     , fTextWidth(stretch.width())
14     , fSpacesWidth(spaces.width())
15     , fHorizontalOffset(0.0f)
16     , fVerticalOffset(verticalOffset)
17     , fHardLineBreak(hardLineBreak) {
18     SkASSERT(stretch.isEmpty() ||
19                     spaces.isEmpty() ||
20         (stretch.glyphEnd() == spaces.glyphStart()));
21 
22     if (!stretch.isEmpty()) {
23         this->fTextMetrics.merge(stretch.textMetrics());
24     }
25     if (!spaces.isEmpty()) {
26         this->fTextMetrics.merge(spaces.textMetrics());
27     }
28 }
29 } // namespace text
30 } // namespace skia
31