X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-model.cpp;h=ba6dbcfc55a1de2f3aa96195e893b77ae91feecd;hp=8565eb3180afd62f3a3828eea2386fda946165e9;hb=020b07151378db83ab8e12eb3e2d51db0ed69996;hpb=a59fbe2d4cd2152ae29d38e8eb7f6a2425000d6c diff --git a/dali-toolkit/internal/text/text-model.cpp b/dali-toolkit/internal/text/text-model.cpp index 8565eb3..ba6dbcf 100644 --- a/dali-toolkit/internal/text/text-model.cpp +++ b/dali-toolkit/internal/text/text-model.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -67,6 +67,11 @@ DevelText::VerticalLineAlignment::Type Model::GetVerticalLineAlignment() const return mVerticalLineAlignment; } +DevelText::EllipsisPosition::Type Model::GetEllipsisPosition() const +{ + return mEllipsisPosition; +} + bool Model::IsTextElideEnabled() const { return mElideEnabled; @@ -97,6 +102,26 @@ Length Model::GetNumberOfGlyphs() const return mVisualModel->mGlyphs.Count(); } +GlyphIndex Model::GetStartIndexOfElidedGlyphs() const +{ + return mVisualModel->GetStartIndexOfElidedGlyphs(); +} + +GlyphIndex Model::GetEndIndexOfElidedGlyphs() const +{ + return mVisualModel->GetEndIndexOfElidedGlyphs(); +} + +GlyphIndex Model::GetFirstMiddleIndexOfElidedGlyphs() const +{ + return mVisualModel->GetFirstMiddleIndexOfElidedGlyphs(); +} + +GlyphIndex Model::GetSecondMiddleIndexOfElidedGlyphs() const +{ + return mVisualModel->GetSecondMiddleIndexOfElidedGlyphs(); +} + const GlyphInfo* const Model::GetGlyphs() const { return mVisualModel->mGlyphs.Begin(); @@ -127,6 +152,11 @@ const ColorIndex* const Model::GetBackgroundColorIndices() const return mVisualModel->mBackgroundColorIndices.Begin(); } +bool const Model::IsMarkupBackgroundColorSet() const +{ + return (mVisualModel->mBackgroundColors.Count() > 0); +} + const Vector4& Model::GetDefaultColor() const { return mVisualModel->mTextColor; @@ -157,17 +187,37 @@ bool Model::IsUnderlineEnabled() const return mVisualModel->IsUnderlineEnabled(); } +bool const Model::IsMarkupUnderlineSet() const +{ + return (mVisualModel->mUnderlineRuns.Count() > 0u); +} + float Model::GetUnderlineHeight() const { return mVisualModel->GetUnderlineHeight(); } +Text::Underline::Type Model::GetUnderlineType() const +{ + return mVisualModel->GetUnderlineType(); +} + +float Model::GetDashedUnderlineWidth() const +{ + return mVisualModel->GetDashedUnderlineWidth(); +} + +float Model::GetDashedUnderlineGap() const +{ + return mVisualModel->GetDashedUnderlineGap(); +} + Length Model::GetNumberOfUnderlineRuns() const { return mVisualModel->GetNumberOfUnderlineRuns(); } -void Model::GetUnderlineRuns(GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const +void Model::GetUnderlineRuns(UnderlinedGlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const { mVisualModel->GetUnderlineRuns(underlineRuns, index, numberOfRuns); } @@ -211,6 +261,70 @@ Length Model::GetHyphensCount() const { return mVisualModel->mHyphen.glyph.Size(); } +const Vector4& Model::GetStrikethroughColor() const +{ + return mVisualModel->GetStrikethroughColor(); +} + +bool Model::IsStrikethroughEnabled() const +{ + return mVisualModel->IsStrikethroughEnabled(); +} + +bool const Model::IsMarkupStrikethroughSet() const +{ + return (mVisualModel->mStrikethroughRuns.Count() > 0u); +} + +float Model::GetStrikethroughHeight() const +{ + return mVisualModel->GetStrikethroughHeight(); +} + +Length Model::GetNumberOfStrikethroughRuns() const +{ + return mVisualModel->GetNumberOfStrikethroughRuns(); +} + +Length Model::GetNumberOfBoundedParagraphRuns() const +{ + return mLogicalModel->GetNumberOfBoundedParagraphRuns(); +} + +const Vector& Model::GetBoundedParagraphRuns() const +{ + return mLogicalModel->GetBoundedParagraphRuns(); +} + +void Model::GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns, StrikethroughRunIndex index, Length numberOfRuns) const +{ + mVisualModel->GetStrikethroughRuns(strikethroughRuns, index, numberOfRuns); +} + +Length Model::GetNumberOfCharacterSpacingGlyphRuns() const +{ + return mVisualModel->GetNumberOfCharacterSpacingGlyphRuns(); +} + +const Vector& Model::GetCharacterSpacingGlyphRuns() const +{ + return mVisualModel->GetCharacterSpacingGlyphRuns(); +} + +const float Model::GetCharacterSpacing() const +{ + return mVisualModel->GetCharacterSpacing(); +} + +const Character* Model::GetTextBuffer() const +{ + return mLogicalModel->mText.Begin(); +} + +const Vector& Model::GetGlyphsToCharacters() const +{ + return mVisualModel->mGlyphsToCharacters; +} Model::Model() : mLogicalModel(), @@ -224,14 +338,18 @@ Model::Model() mAlignmentOffset(0.0f), mElideEnabled(false), mIgnoreSpacesAfterText(true), - mMatchSystemLanguageDirection(true) + mMatchLayoutDirection(DevelText::MatchLayoutDirection::INHERIT), + mEllipsisPosition(DevelText::EllipsisPosition::END) { mLogicalModel = LogicalModel::New(); mVisualModel = VisualModel::New(); // Check environment variable for DALI_MATCH_SYSTEM_LANGUAGE_DIRECTION - auto match = Dali::EnvironmentVariable::GetEnvironmentVariable(DALI_ENV_MATCH_SYSTEM_LANGUAGE_DIRECTION); - mMatchSystemLanguageDirection = match ? (std::atoi(match) == 0 ? false : true) : mMatchSystemLanguageDirection; + auto match = Dali::EnvironmentVariable::GetEnvironmentVariable(DALI_ENV_MATCH_SYSTEM_LANGUAGE_DIRECTION); + if(match && (std::atoi(match) == 0)) + { + mMatchLayoutDirection = DevelText::MatchLayoutDirection::CONTENTS; + } } Model::~Model()