X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fvisual-model-impl.cpp;h=3b1f5b77501f094320f7a7076105e2958215f302;hp=3e3f2d67ec0f8ba328c863cedf58e4a32b311c62;hb=b694e7e2ae624e206e1548b1a863c554eb9cd4d7;hpb=4cfc161e92f47722b38d58987ac8f8773bad13c5 diff --git a/dali-toolkit/internal/text/visual-model-impl.cpp b/dali-toolkit/internal/text/visual-model-impl.cpp index 3e3f2d6..3b1f5b7 100755 --- a/dali-toolkit/internal/text/visual-model-impl.cpp +++ b/dali-toolkit/internal/text/visual-model-impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -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,6 +347,11 @@ void VisualModel::SetShadowColor( const Vector4& shadowColor ) mShadowColor = shadowColor; } +void VisualModel::SetShadowBlurRadius( const float& shadowBlurRadius ) +{ + mShadowBlurRadius = shadowBlurRadius; +} + void VisualModel::SetUnderlineColor( const Vector4& color ) { mUnderlineColor = color; @@ -365,11 +373,21 @@ void VisualModel::SetUnderlineHeight( float height ) mUnderlineHeight = height; } -void VisualModel::SetOutlineWidth( float width ) +void VisualModel::SetOutlineWidth( uint16_t width ) { mOutlineWidth = width; } +void VisualModel::SetBackgroundColor( const Vector4& color ) +{ + mBackgroundColor = color; +} + +void VisualModel::SetBackgroundEnabled( bool enabled ) +{ + mBackgroundEnabled = enabled; +} + const Vector4& VisualModel::GetTextColor() const { return mTextColor; @@ -385,6 +403,11 @@ const Vector4& VisualModel::GetShadowColor() const return mShadowColor; } +const float& VisualModel::GetShadowBlurRadius() const +{ + return mShadowBlurRadius; +} + const Vector4& VisualModel::GetUnderlineColor() const { return mUnderlineColor; @@ -405,11 +428,21 @@ float VisualModel::GetUnderlineHeight() const return mUnderlineHeight; } -float VisualModel::GetOutlineWidth() const +uint16_t VisualModel::GetOutlineWidth() const { return mOutlineWidth; } +const Vector4& VisualModel::GetBackgroundColor() const +{ + return mBackgroundColor; +} + +bool VisualModel::IsBackgroundEnabled() const +{ + return mBackgroundEnabled; +} + Length VisualModel::GetNumberOfUnderlineRuns() const { return mUnderlineRuns.Count(); @@ -436,15 +469,18 @@ VisualModel::VisualModel() mShadowColor( Color::BLACK ), mUnderlineColor( Color::BLACK ), mOutlineColor( Color::WHITE ), + mBackgroundColor( Color::CYAN ), mControlSize(), mShadowOffset(), mUnderlineHeight( 0.0f ), - mOutlineWidth( 0.0f ), + mShadowBlurRadius( 0.0f ), + mOutlineWidth( 0u ), mNaturalSize(), mLayoutSize(), mCachedLineIndex( 0u ), mUnderlineEnabled( false ), - mUnderlineColorSet( false ) + mUnderlineColorSet( false ), + mBackgroundEnabled( false ) { }