/*
- * 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.
return mVerticalLineAlignment;
}
+DevelText::EllipsisPosition::Type Model::GetEllipsisPosition() const
+{
+ return mEllipsisPosition;
+}
+
bool Model::IsTextElideEnabled() const
{
return mElideEnabled;
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();
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);
}
{
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<BoundedParagraphRun>& 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<CharacterSpacingGlyphRun>& 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<CharacterIndex>& Model::GetGlyphsToCharacters() const
+{
+ return mVisualModel->mGlyphsToCharacters;
+}
Model::Model()
: mLogicalModel(),
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()