[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-model.cpp
index baa6b91..ae0dd7c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -82,7 +82,7 @@ Length Model::GetNumberOfLines() const
   return mVisualModel->mLines.Count();
 }
 
-const LineRun* const Model::GetLines() const
+const LineRun* Model::GetLines() const
 {
   return mVisualModel->mLines.Begin();
 }
@@ -92,11 +92,16 @@ Length Model::GetNumberOfScripts() const
   return mLogicalModel->mScriptRuns.Count();
 }
 
-const ScriptRun* const Model::GetScriptRuns() const
+const ScriptRun* Model::GetScriptRuns() const
 {
   return mLogicalModel->mScriptRuns.Begin();
 }
 
+Length Model::GetNumberOfCharacters() const
+{
+  return mLogicalModel->mText.Count();
+}
+
 Length Model::GetNumberOfGlyphs() const
 {
   return mVisualModel->mGlyphs.Count();
@@ -122,37 +127,37 @@ GlyphIndex Model::GetSecondMiddleIndexOfElidedGlyphs() const
   return mVisualModel->GetSecondMiddleIndexOfElidedGlyphs();
 }
 
-const GlyphInfo* const Model::GetGlyphs() const
+const GlyphInfo* Model::GetGlyphs() const
 {
   return mVisualModel->mGlyphs.Begin();
 }
 
-const Vector2* const Model::GetLayout() const
+const Vector2* Model::GetLayout() const
 {
   return mVisualModel->mGlyphPositions.Begin();
 }
 
-const Vector4* const Model::GetColors() const
+const Vector4* Model::GetColors() const
 {
   return mVisualModel->mColors.Begin();
 }
 
-const ColorIndex* const Model::GetColorIndices() const
+const ColorIndex* Model::GetColorIndices() const
 {
   return mVisualModel->mColorIndices.Begin();
 }
 
-const Vector4* const Model::GetBackgroundColors() const
+const Vector4* Model::GetBackgroundColors() const
 {
   return mVisualModel->mBackgroundColors.Begin();
 }
 
-const ColorIndex* const Model::GetBackgroundColorIndices() const
+const ColorIndex* Model::GetBackgroundColorIndices() const
 {
   return mVisualModel->mBackgroundColorIndices.Begin();
 }
 
-bool const Model::IsMarkupBackgroundColorSet() const
+bool Model::IsMarkupBackgroundColorSet() const
 {
   return (mVisualModel->mBackgroundColors.Count() > 0);
 }
@@ -187,6 +192,11 @@ bool Model::IsUnderlineEnabled() const
   return mVisualModel->IsUnderlineEnabled();
 }
 
+bool Model::IsMarkupUnderlineSet() const
+{
+  return (mVisualModel->mUnderlineRuns.Count() > 0u);
+}
+
 float Model::GetUnderlineHeight() const
 {
   return mVisualModel->GetUnderlineHeight();
@@ -212,7 +222,7 @@ 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);
 }
@@ -242,6 +252,11 @@ bool Model::IsMarkupProcessorEnabled() const
   return mVisualModel->IsMarkupProcessorEnabled();
 }
 
+bool Model::IsSpannedTextPlaced() const
+{
+  return mLogicalModel->mSpannedTextPlaced;
+}
+
 const GlyphInfo* Model::GetHyphens() const
 {
   return mVisualModel->mHyphen.glyph.Begin();
@@ -266,6 +281,11 @@ bool Model::IsStrikethroughEnabled() const
   return mVisualModel->IsStrikethroughEnabled();
 }
 
+bool Model::IsMarkupStrikethroughSet() const
+{
+  return (mVisualModel->mStrikethroughRuns.Count() > 0u);
+}
+
 float Model::GetStrikethroughHeight() const
 {
   return mVisualModel->GetStrikethroughHeight();
@@ -276,11 +296,56 @@ 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();
+}
+
+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;
+}
+
+const Vector<FontRun>& Model::GetFontRuns() const
+{
+  return mLogicalModel->mFontRuns;
+}
+
+const Vector<FontDescriptionRun>& Model::GetFontDescriptionRuns() const
+{
+  return mLogicalModel->mFontDescriptionRuns;
+}
+
 Model::Model()
 : mLogicalModel(),
   mVisualModel(),
@@ -293,6 +358,8 @@ Model::Model()
   mAlignmentOffset(0.0f),
   mElideEnabled(false),
   mIgnoreSpacesAfterText(true),
+  mRemoveFrontInset(true),
+  mRemoveBackInset(true),
   mMatchLayoutDirection(DevelText::MatchLayoutDirection::INHERIT),
   mEllipsisPosition(DevelText::EllipsisPosition::END)
 {