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=6a06e58a31b24f266aff67f4340c87fa1bbf361f;hp=c1faee7320a835a25de1406dc6a552d3777a4fd4;hb=528aa3699cd51dab5115bca1aaebb65d4bc67c15;hpb=278493dcbeb50938256b776d84c41ae4665d9a29 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 c1faee7..6a06e58 --- a/dali-toolkit/internal/text/visual-model-impl.cpp +++ b/dali-toolkit/internal/text/visual-model-impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 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,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,21 @@ void VisualModel::SetUnderlineHeight( float height ) mUnderlineHeight = height; } +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; @@ -375,11 +403,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 +428,26 @@ float VisualModel::GetUnderlineHeight() const return mUnderlineHeight; } +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(); +} + void VisualModel::ClearCaches() { mCachedLineIndex = 0u; @@ -410,13 +468,19 @@ VisualModel::VisualModel() mTextColor( Color::BLACK ), mShadowColor( Color::BLACK ), mUnderlineColor( Color::BLACK ), - mShadowOffset( Vector2::ZERO ), + mOutlineColor( Color::WHITE ), + mBackgroundColor( Color::TRANSPARENT ), + mControlSize(), + mShadowOffset(), mUnderlineHeight( 0.0f ), + mShadowBlurRadius( 0.0f ), + mOutlineWidth( 0u ), mNaturalSize(), mLayoutSize(), mCachedLineIndex( 0u ), mUnderlineEnabled( false ), - mUnderlineColorSet( false ) + mUnderlineColorSet( false ), + mBackgroundEnabled( false ) { }