1cb93a386Sopenharmony_ci// Copyright 2019 Google LLC. 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_ci#include "modules/skparagraph/include/DartTypes.h" 4cb93a386Sopenharmony_ci#include "modules/skparagraph/include/ParagraphStyle.h" 5cb93a386Sopenharmony_ci#include "src/utils/SkUTF.h" 6cb93a386Sopenharmony_ci#include "src/core/SkStringUtils.h" 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_cinamespace skia { 9cb93a386Sopenharmony_cinamespace textlayout { 10cb93a386Sopenharmony_ci 11cb93a386Sopenharmony_ciStrutStyle::StrutStyle() { 12cb93a386Sopenharmony_ci#ifndef USE_SKIA_TXT 13cb93a386Sopenharmony_ci fFontStyle = SkFontStyle::Normal(); 14cb93a386Sopenharmony_ci#else 15cb93a386Sopenharmony_ci fFontStyle = RSFontStyle( 16cb93a386Sopenharmony_ci RSFontStyle::NORMAL_WEIGHT, 17cb93a386Sopenharmony_ci RSFontStyle::NORMAL_WIDTH, 18cb93a386Sopenharmony_ci RSFontStyle::UPRIGHT_SLANT); 19cb93a386Sopenharmony_ci#endif 20cb93a386Sopenharmony_ci fFontSize = 14; 21cb93a386Sopenharmony_ci fHeight = 1; 22cb93a386Sopenharmony_ci fLeading = -1; 23cb93a386Sopenharmony_ci fForceHeight = false; 24cb93a386Sopenharmony_ci fHeightOverride = false; 25cb93a386Sopenharmony_ci fHalfLeading = false; 26cb93a386Sopenharmony_ci fEnabled = false; 27cb93a386Sopenharmony_ci} 28cb93a386Sopenharmony_ci 29cb93a386Sopenharmony_ciParagraphStyle::ParagraphStyle() { 30cb93a386Sopenharmony_ci fTextAlign = TextAlign::kStart; 31cb93a386Sopenharmony_ci fTextDirection = TextDirection::kLtr; 32cb93a386Sopenharmony_ci fLinesLimit = std::numeric_limits<size_t>::max(); 33cb93a386Sopenharmony_ci fHeight = 1; 34cb93a386Sopenharmony_ci fTextHeightBehavior = TextHeightBehavior::kAll; 35cb93a386Sopenharmony_ci fHintingIsOn = true; 36cb93a386Sopenharmony_ci fReplaceTabCharacters = false; 37cb93a386Sopenharmony_ci} 38cb93a386Sopenharmony_ci 39cb93a386Sopenharmony_ciTextAlign ParagraphStyle::effective_align() const { 40cb93a386Sopenharmony_ci if (fTextAlign == TextAlign::kStart) { 41cb93a386Sopenharmony_ci return (fTextDirection == TextDirection::kLtr) ? TextAlign::kLeft : TextAlign::kRight; 42cb93a386Sopenharmony_ci } else if (fTextAlign == TextAlign::kEnd) { 43cb93a386Sopenharmony_ci return (fTextDirection == TextDirection::kLtr) ? TextAlign::kRight : TextAlign::kLeft; 44cb93a386Sopenharmony_ci } else { 45cb93a386Sopenharmony_ci return fTextAlign; 46cb93a386Sopenharmony_ci } 47cb93a386Sopenharmony_ci} 48cb93a386Sopenharmony_ci} // namespace textlayout 49cb93a386Sopenharmony_ci} // namespace skia 50