X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Ftext%2Ftext-visual.cpp;h=67e6bcf10ea1922ff47d78a9e73477f036514a80;hp=4228ecfa4a2e94b0a013c23afafa05ebb6eb2b54;hb=534e542d7dcc1a1507a0e5e6845d49c06a15d326;hpb=38fe921ed377837bfe29ddd039166ae1bab7f4d9 diff --git a/dali-toolkit/internal/visuals/text/text-visual.cpp b/dali-toolkit/internal/visuals/text/text-visual.cpp index 4228ecf..67e6bcf 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.cpp +++ b/dali-toolkit/internal/visuals/text/text-visual.cpp @@ -20,21 +20,19 @@ // EXTERNAL HEADER #include -// #include // INTERNAL HEADER #include #include #include #include +#include #include +#include +#include #include #include #include -#include -#include - -using Dali::Toolkit::Text::LayoutEngine; namespace Dali { @@ -71,34 +69,34 @@ const char * const BATCHING_ENABLED_PROPERTY( "batchingEnabled" ); const Scripting::StringEnum HORIZONTAL_ALIGNMENT_STRING_TABLE[] = { - { "BEGIN", Toolkit::Text::LayoutEngine::HORIZONTAL_ALIGN_BEGIN }, - { "CENTER", Toolkit::Text::LayoutEngine::HORIZONTAL_ALIGN_CENTER }, - { "END", Toolkit::Text::LayoutEngine::HORIZONTAL_ALIGN_END }, + { "BEGIN", Toolkit::Text::Layout::HORIZONTAL_ALIGN_BEGIN }, + { "CENTER", Toolkit::Text::Layout::HORIZONTAL_ALIGN_CENTER }, + { "END", Toolkit::Text::Layout::HORIZONTAL_ALIGN_END }, }; const unsigned int HORIZONTAL_ALIGNMENT_STRING_TABLE_COUNT = sizeof( HORIZONTAL_ALIGNMENT_STRING_TABLE ) / sizeof( HORIZONTAL_ALIGNMENT_STRING_TABLE[0] ); const Scripting::StringEnum VERTICAL_ALIGNMENT_STRING_TABLE[] = { - { "TOP", Toolkit::Text::LayoutEngine::VERTICAL_ALIGN_TOP }, - { "CENTER", Toolkit::Text::LayoutEngine::VERTICAL_ALIGN_CENTER }, - { "BOTTOM", Toolkit::Text::LayoutEngine::VERTICAL_ALIGN_BOTTOM }, + { "TOP", Toolkit::Text::Layout::VERTICAL_ALIGN_TOP }, + { "CENTER", Toolkit::Text::Layout::VERTICAL_ALIGN_CENTER }, + { "BOTTOM", Toolkit::Text::Layout::VERTICAL_ALIGN_BOTTOM }, }; const unsigned int VERTICAL_ALIGNMENT_STRING_TABLE_COUNT = sizeof( VERTICAL_ALIGNMENT_STRING_TABLE ) / sizeof( VERTICAL_ALIGNMENT_STRING_TABLE[0] ); -std::string GetHorizontalAlignment( LayoutEngine::HorizontalAlignment alignment ) +std::string GetHorizontalAlignment( Toolkit::Text::Layout::HorizontalAlignment alignment ) { - const char* name = Scripting::GetEnumerationName( alignment, - HORIZONTAL_ALIGNMENT_STRING_TABLE, - HORIZONTAL_ALIGNMENT_STRING_TABLE_COUNT ); + const char* name = Scripting::GetEnumerationName( alignment, + HORIZONTAL_ALIGNMENT_STRING_TABLE, + HORIZONTAL_ALIGNMENT_STRING_TABLE_COUNT ); return std::string( name ); } -std::string GetVerticalAlignment( LayoutEngine::VerticalAlignment alignment ) +std::string GetVerticalAlignment( Toolkit::Text::Layout::VerticalAlignment alignment ) { - const char* name = Scripting::GetEnumerationName< Toolkit::Text::LayoutEngine::VerticalAlignment >( alignment, - VERTICAL_ALIGNMENT_STRING_TABLE, - VERTICAL_ALIGNMENT_STRING_TABLE_COUNT ); + const char* name = Scripting::GetEnumerationName< Toolkit::Text::Layout::VerticalAlignment >( alignment, + VERTICAL_ALIGNMENT_STRING_TABLE, + VERTICAL_ALIGNMENT_STRING_TABLE_COUNT ); return std::string( name ); } @@ -198,7 +196,7 @@ void TextVisual::DoCreatePropertyMap( Property::Map& map ) const map.Insert( Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT, GetVerticalAlignment( mController->GetVerticalAlignment() ) ); - map.Insert( Toolkit::TextVisual::Property::TEXT_COLOR, mController->GetTextColor() ); + map.Insert( Toolkit::TextVisual::Property::TEXT_COLOR, mController->GetDefaultColor() ); map.Insert( Toolkit::TextVisual::Property::ENABLE_MARKUP, mController->IsMarkupProcessorEnabled() ); @@ -327,11 +325,11 @@ void TextVisual::DoSetProperties( const Property::Map& propertyMap ) } } - // Retrieve the layout engine to set whether to elide the text and set the cursor's width. - Text::LayoutEngine& engine = mController->GetLayoutEngine(); - // Elide the text if it exceeds the boundaries. - engine.SetTextEllipsisEnabled( true ); + mController->SetTextElideEnabled( true ); + + // Retrieve the layout engine to set the cursor's width. + Text::Layout::Engine& engine = mController->GetLayoutEngine(); // Sets 0 as cursor's width. engine.SetCursorWidth( 0u ); // Do not layout space for the cursor. @@ -429,11 +427,11 @@ void TextVisual::DoSetProperty( Dali::Property::Index index, const Dali::Propert } case Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT: { - LayoutEngine::HorizontalAlignment alignment( LayoutEngine::HORIZONTAL_ALIGN_BEGIN ); - if( Scripting::GetEnumeration< Toolkit::Text::LayoutEngine::HorizontalAlignment >( propertyValue.Get< std::string >().c_str(), - HORIZONTAL_ALIGNMENT_STRING_TABLE, - HORIZONTAL_ALIGNMENT_STRING_TABLE_COUNT, - alignment ) ) + Toolkit::Text::Layout::HorizontalAlignment alignment( Toolkit::Text::Layout::HORIZONTAL_ALIGN_BEGIN ); + if( Scripting::GetEnumeration< Toolkit::Text::Layout::HorizontalAlignment >( propertyValue.Get< std::string >().c_str(), + HORIZONTAL_ALIGNMENT_STRING_TABLE, + HORIZONTAL_ALIGNMENT_STRING_TABLE_COUNT, + alignment ) ) { mController->SetHorizontalAlignment( alignment ); } @@ -441,11 +439,11 @@ void TextVisual::DoSetProperty( Dali::Property::Index index, const Dali::Propert } case Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT: { - LayoutEngine::VerticalAlignment alignment( LayoutEngine::VERTICAL_ALIGN_BOTTOM ); - if( Scripting::GetEnumeration< Toolkit::Text::LayoutEngine::VerticalAlignment >( propertyValue.Get< std::string >().c_str(), - VERTICAL_ALIGNMENT_STRING_TABLE, - VERTICAL_ALIGNMENT_STRING_TABLE_COUNT, - alignment ) ) + Toolkit::Text::Layout::VerticalAlignment alignment( Toolkit::Text::Layout::VERTICAL_ALIGN_BOTTOM ); + if( Scripting::GetEnumeration< Toolkit::Text::Layout::VerticalAlignment >( propertyValue.Get< std::string >().c_str(), + VERTICAL_ALIGNMENT_STRING_TABLE, + VERTICAL_ALIGNMENT_STRING_TABLE_COUNT, + alignment ) ) { mController->SetVerticalAlignment( alignment ); } @@ -453,10 +451,10 @@ void TextVisual::DoSetProperty( Dali::Property::Index index, const Dali::Propert } case Toolkit::TextVisual::Property::TEXT_COLOR: { - const Vector4 textColor = propertyValue.Get< Vector4 >(); - if( mController->GetTextColor() != textColor ) + const Vector4& textColor = propertyValue.Get< Vector4 >(); + if( mController->GetDefaultColor() != textColor ) { - mController->SetTextColor( textColor ); + mController->SetDefaultColor( textColor ); mRenderer.Reset(); } break; @@ -502,7 +500,7 @@ void TextVisual::DoSetProperty( Dali::Property::Index index, const Dali::Propert { case Property::VECTOR4: { - const Vector4 color = propertyValue.Get(); + const Vector4& color = propertyValue.Get(); if( mController->GetUnderlineColor() != color ) { mController->SetUnderlineColor( color ); @@ -556,7 +554,7 @@ void TextVisual::DoSetProperty( Dali::Property::Index index, const Dali::Propert { case Property::VECTOR2: { - const Vector2 shadowOffset = propertyValue.Get(); + const Vector2& shadowOffset = propertyValue.Get(); if( mController->GetShadowOffset() != shadowOffset ) { mController->SetShadowOffset( shadowOffset ); @@ -566,7 +564,7 @@ void TextVisual::DoSetProperty( Dali::Property::Index index, const Dali::Propert } case Property::VECTOR4: { - const Vector4 shadowColor = propertyValue.Get(); + const Vector4& shadowColor = propertyValue.Get(); if( mController->GetShadowColor() != shadowColor ) { mController->SetShadowColor( shadowColor ); @@ -662,9 +660,9 @@ Dali::Property::Value TextVisual::DoGetProperty( Dali::Property::Index index ) } case Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT: { - const char* name = Scripting::GetEnumerationName< Toolkit::Text::LayoutEngine::HorizontalAlignment >( mController->GetHorizontalAlignment(), - HORIZONTAL_ALIGNMENT_STRING_TABLE, - HORIZONTAL_ALIGNMENT_STRING_TABLE_COUNT ); + const char* name = Scripting::GetEnumerationName< Toolkit::Text::Layout::HorizontalAlignment >( mController->GetHorizontalAlignment(), + HORIZONTAL_ALIGNMENT_STRING_TABLE, + HORIZONTAL_ALIGNMENT_STRING_TABLE_COUNT ); if( name ) { value = std::string( name ); @@ -673,9 +671,9 @@ Dali::Property::Value TextVisual::DoGetProperty( Dali::Property::Index index ) } case Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT: { - const char* name = Scripting::GetEnumerationName< Toolkit::Text::LayoutEngine::VerticalAlignment >( mController->GetVerticalAlignment(), - VERTICAL_ALIGNMENT_STRING_TABLE, - VERTICAL_ALIGNMENT_STRING_TABLE_COUNT ); + const char* name = Scripting::GetEnumerationName< Toolkit::Text::Layout::VerticalAlignment >( mController->GetVerticalAlignment(), + VERTICAL_ALIGNMENT_STRING_TABLE, + VERTICAL_ALIGNMENT_STRING_TABLE_COUNT ); if( name ) { value = std::string( name ); @@ -684,7 +682,7 @@ Dali::Property::Value TextVisual::DoGetProperty( Dali::Property::Index index ) } case Toolkit::TextVisual::Property::TEXT_COLOR: { - value = mController->GetTextColor(); + value = mController->GetDefaultColor(); break; } case Toolkit::TextVisual::Property::ENABLE_MARKUP: @@ -794,7 +792,7 @@ void TextVisual::RenderText() if( renderableActor ) { - const Vector2& scrollOffset = mController->GetScrollPosition(); + const Vector2& scrollOffset = mController->GetTextModel()->GetScrollPosition(); renderableActor.SetPosition( scrollOffset.x, scrollOffset.y ); self.Add( renderableActor );