X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fvisual-model-impl.cpp;h=e359dc7204ad15c8b06a9cfa8ab34d82a434c54f;hb=d319327a918acb5e8e662ec13e70777f3d4e7396;hp=2ee0bab7ba00ae1c0d3afb49823a23b7d6fcb967;hpb=723acb540264b5f3bfc98ec3284891aa58d765c4;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/visual-model-impl.cpp b/dali-toolkit/internal/text/visual-model-impl.cpp old mode 100644 new mode 100755 index 2ee0bab..e359dc7 --- a/dali-toolkit/internal/text/visual-model-impl.cpp +++ b/dali-toolkit/internal/text/visual-model-impl.cpp @@ -264,18 +264,21 @@ void VisualModel::GetLinesOfGlyphRange( LineRun* lines, 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::ConstIterator it = mLines.Begin() + index, @@ -344,12 +347,22 @@ void VisualModel::SetShadowColor( const Vector4& shadowColor ) 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; @@ -360,6 +373,11 @@ void VisualModel::SetUnderlineHeight( float height ) mUnderlineHeight = height; } +void VisualModel::SetOutlineWidth( unsigned int width ) +{ + mOutlineWidth = width; +} + const Vector4& VisualModel::GetTextColor() const { return mTextColor; @@ -375,11 +393,21 @@ const Vector4& VisualModel::GetShadowColor() const 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; @@ -390,6 +418,16 @@ float VisualModel::GetUnderlineHeight() const return mUnderlineHeight; } +unsigned int VisualModel::GetOutlineWidth() const +{ + return mOutlineWidth; +} + +Length VisualModel::GetNumberOfUnderlineRuns() const +{ + return mUnderlineRuns.Count(); +} + void VisualModel::ClearCaches() { mCachedLineIndex = 0u; @@ -410,9 +448,12 @@ VisualModel::VisualModel() 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 ),