LineIndex VisualModel::GetLineOfCharacter( CharacterIndex characterIndex )
{
- // 1) Check first in the cached line.
+ // 1) Check line is empty or not.
+ if( mLines.Empty() )
+ {
+ return 0u;
+ }
+ // 2) Check in the cached line.
const LineRun& lineRun = *( mLines.Begin() + mCachedLineIndex );
-
if( ( lineRun.characterRun.characterIndex <= characterIndex ) &&
( characterIndex < lineRun.characterRun.characterIndex + lineRun.characterRun.numberOfCharacters ) )
{
return mCachedLineIndex;
}
- // 2) Is not in the cached line. Check in the other lines.
-
+ // 3) Is not in the cached line. Check in the other lines.
LineIndex index = characterIndex < lineRun.characterRun.characterIndex ? 0u : mCachedLineIndex + 1u;
for( Vector<LineRun>::ConstIterator it = mLines.Begin() + index,
mShadowColor = shadowColor;
}
+void VisualModel::SetShadowBlurRadius( const float& shadowBlurRadius )
+{
+ mShadowBlurRadius = shadowBlurRadius;
+}
+
void VisualModel::SetUnderlineColor( const Vector4& color )
{
mUnderlineColor = color;
mUnderlineColorSet = true;
}
+void VisualModel::SetOutlineColor( const Vector4& color )
+{
+ mOutlineColor = color;
+}
+
void VisualModel::SetUnderlineEnabled( bool enabled )
{
mUnderlineEnabled = enabled;
mUnderlineHeight = height;
}
+void VisualModel::SetOutlineWidth( unsigned int width )
+{
+ mOutlineWidth = width;
+}
+
const Vector4& VisualModel::GetTextColor() const
{
return mTextColor;
return mShadowColor;
}
+const float& VisualModel::GetShadowBlurRadius() const
+{
+ return mShadowBlurRadius;
+}
+
const Vector4& VisualModel::GetUnderlineColor() const
{
return mUnderlineColor;
}
+const Vector4& VisualModel::GetOutlineColor() const
+{
+ return mOutlineColor;
+}
+
bool VisualModel::IsUnderlineEnabled() const
{
return mUnderlineEnabled;
return mUnderlineHeight;
}
+unsigned int VisualModel::GetOutlineWidth() const
+{
+ return mOutlineWidth;
+}
+
Length VisualModel::GetNumberOfUnderlineRuns() const
{
return mUnderlineRuns.Count();
mTextColor( Color::BLACK ),
mShadowColor( Color::BLACK ),
mUnderlineColor( Color::BLACK ),
+ mOutlineColor( Color::WHITE ),
mControlSize(),
mShadowOffset(),
mUnderlineHeight( 0.0f ),
+ mOutlineWidth( 0u ),
+ mShadowBlurRadius( 0.0f ),
mNaturalSize(),
mLayoutSize(),
mCachedLineIndex( 0u ),