[dali_2.1.31] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-model.cpp
index 62ee89a..ba6dbcf 100644 (file)
@@ -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();
@@ -129,7 +154,7 @@ const ColorIndex* const Model::GetBackgroundColorIndices() const
 
 bool const Model::IsMarkupBackgroundColorSet() const
 {
-  return (mVisualModel->mBackgroundColorIndices.Count() > 0);
+  return (mVisualModel->mBackgroundColors.Count() > 0);
 }
 
 const Vector4& Model::GetDefaultColor() const
@@ -162,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);
 }
@@ -216,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<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(),
@@ -229,7 +338,8 @@ Model::Model()
   mAlignmentOffset(0.0f),
   mElideEnabled(false),
   mIgnoreSpacesAfterText(true),
-  mMatchLayoutDirection(DevelText::MatchLayoutDirection::INHERIT)
+  mMatchLayoutDirection(DevelText::MatchLayoutDirection::INHERIT),
+  mEllipsisPosition(DevelText::EllipsisPosition::END)
 {
   mLogicalModel = LogicalModel::New();
   mVisualModel  = VisualModel::New();