xref: /aosp_15_r20/external/skia/modules/skparagraph/src/ParagraphStyle.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker // Copyright 2019 Google LLC.
2*c8dee2aaSAndroid Build Coastguard Worker 
3*c8dee2aaSAndroid Build Coastguard Worker #include "modules/skparagraph/include/DartTypes.h"
4*c8dee2aaSAndroid Build Coastguard Worker #include "modules/skparagraph/include/ParagraphStyle.h"
5*c8dee2aaSAndroid Build Coastguard Worker #include "src/base/SkUTF.h"
6*c8dee2aaSAndroid Build Coastguard Worker #include "src/core/SkStringUtils.h"
7*c8dee2aaSAndroid Build Coastguard Worker 
8*c8dee2aaSAndroid Build Coastguard Worker namespace skia {
9*c8dee2aaSAndroid Build Coastguard Worker namespace textlayout {
10*c8dee2aaSAndroid Build Coastguard Worker 
StrutStyle()11*c8dee2aaSAndroid Build Coastguard Worker StrutStyle::StrutStyle() {
12*c8dee2aaSAndroid Build Coastguard Worker     fFontStyle = SkFontStyle::Normal();
13*c8dee2aaSAndroid Build Coastguard Worker     fFontSize = 14;
14*c8dee2aaSAndroid Build Coastguard Worker     fHeight = 1;
15*c8dee2aaSAndroid Build Coastguard Worker     fLeading = -1;
16*c8dee2aaSAndroid Build Coastguard Worker     fForceHeight = false;
17*c8dee2aaSAndroid Build Coastguard Worker     fHeightOverride = false;
18*c8dee2aaSAndroid Build Coastguard Worker     fHalfLeading = false;
19*c8dee2aaSAndroid Build Coastguard Worker     fEnabled = false;
20*c8dee2aaSAndroid Build Coastguard Worker }
21*c8dee2aaSAndroid Build Coastguard Worker 
ParagraphStyle()22*c8dee2aaSAndroid Build Coastguard Worker ParagraphStyle::ParagraphStyle() {
23*c8dee2aaSAndroid Build Coastguard Worker     fTextAlign = TextAlign::kStart;
24*c8dee2aaSAndroid Build Coastguard Worker     fTextDirection = TextDirection::kLtr;
25*c8dee2aaSAndroid Build Coastguard Worker     fLinesLimit = std::numeric_limits<size_t>::max();
26*c8dee2aaSAndroid Build Coastguard Worker     fHeight = 1;
27*c8dee2aaSAndroid Build Coastguard Worker     fTextHeightBehavior = TextHeightBehavior::kAll;
28*c8dee2aaSAndroid Build Coastguard Worker     fHintingIsOn = true;
29*c8dee2aaSAndroid Build Coastguard Worker     fReplaceTabCharacters = false;
30*c8dee2aaSAndroid Build Coastguard Worker }
31*c8dee2aaSAndroid Build Coastguard Worker 
effective_align() const32*c8dee2aaSAndroid Build Coastguard Worker TextAlign ParagraphStyle::effective_align() const {
33*c8dee2aaSAndroid Build Coastguard Worker     if (fTextAlign == TextAlign::kStart) {
34*c8dee2aaSAndroid Build Coastguard Worker         return (fTextDirection == TextDirection::kLtr) ? TextAlign::kLeft : TextAlign::kRight;
35*c8dee2aaSAndroid Build Coastguard Worker     } else if (fTextAlign == TextAlign::kEnd) {
36*c8dee2aaSAndroid Build Coastguard Worker         return (fTextDirection == TextDirection::kLtr) ? TextAlign::kRight : TextAlign::kLeft;
37*c8dee2aaSAndroid Build Coastguard Worker     } else {
38*c8dee2aaSAndroid Build Coastguard Worker         return fTextAlign;
39*c8dee2aaSAndroid Build Coastguard Worker     }
40*c8dee2aaSAndroid Build Coastguard Worker }
41*c8dee2aaSAndroid Build Coastguard Worker }  // namespace textlayout
42*c8dee2aaSAndroid Build Coastguard Worker }  // namespace skia
43