X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-base-data-impl.cpp;h=4bb7634066fc4267ce66e0bd89f9abbecf794ac1;hp=f79afe6af4d984fafb5b2f7d83e5276ee2d80bd8;hb=b31764bc76595c1ccd58cf4366dcde2cc78e72cf;hpb=7f0a28e0f0da67178997e5a647bdc471e8dcb652 diff --git a/dali-toolkit/internal/visuals/visual-base-data-impl.cpp b/dali-toolkit/internal/visuals/visual-base-data-impl.cpp index f79afe6..4bb7634 100644 --- a/dali-toolkit/internal/visuals/visual-base-data-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-base-data-impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 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. @@ -19,12 +19,13 @@ #include // EXTERNAL INCLUDES -#include +#include #include #include #include // INTERNAL INCLUDES +#include #include #include #include @@ -60,8 +61,8 @@ DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Align, BOTTOM_END ) DALI_ENUM_TO_STRING_TABLE_END( ALIGN ) DALI_ENUM_TO_STRING_TABLE_BEGIN( POLICY ) -DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::DevelVisual::Transform::Policy, RELATIVE ) -DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::DevelVisual::Transform::Policy, ABSOLUTE ) +DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual::Transform::Policy, RELATIVE ) +DALI_ENUM_TO_STRING_WITH_SCOPE( Toolkit::Visual::Transform::Policy, ABSOLUTE ) DALI_ENUM_TO_STRING_TABLE_END( POLICY ) Dali::Vector2 PointToVector2( Toolkit::Align::Type point, Toolkit::Direction::Type direction ) @@ -97,11 +98,11 @@ bool GetPolicyFromValue( const Property::Value& value, Vector2& policy ) Property::Array* array = value.GetArray(); if( array && array->Size() == 2 ) { - DevelVisual::Transform::Policy::Type xPolicy = static_cast< DevelVisual::Transform::Policy::Type >( -1 ); // Assign an invalid value so definitely changes - DevelVisual::Transform::Policy::Type yPolicy = static_cast< DevelVisual::Transform::Policy::Type >( -1 ); // Assign an invalid value so definitely changes + Toolkit::Visual::Transform::Policy::Type xPolicy = static_cast< Toolkit::Visual::Transform::Policy::Type >( -1 ); // Assign an invalid value so definitely changes + Toolkit::Visual::Transform::Policy::Type yPolicy = static_cast< Toolkit::Visual::Transform::Policy::Type >( -1 ); // Assign an invalid value so definitely changes - if( Scripting::GetEnumerationProperty< DevelVisual::Transform::Policy::Type >( array->GetElementAt( 0 ), POLICY_TABLE, POLICY_TABLE_COUNT, xPolicy ) && - Scripting::GetEnumerationProperty< DevelVisual::Transform::Policy::Type >( array->GetElementAt( 1 ), POLICY_TABLE, POLICY_TABLE_COUNT, yPolicy ) ) + if( Scripting::GetEnumerationProperty< Toolkit::Visual::Transform::Policy::Type >( array->GetElementAt( 0 ), POLICY_TABLE, POLICY_TABLE_COUNT, xPolicy ) && + Scripting::GetEnumerationProperty< Toolkit::Visual::Transform::Policy::Type >( array->GetElementAt( 1 ), POLICY_TABLE, POLICY_TABLE_COUNT, yPolicy ) ) { policy.x = xPolicy; policy.y = yPolicy; @@ -114,16 +115,20 @@ bool GetPolicyFromValue( const Property::Value& value, Vector2& policy ) } // unnamed namespace -Internal::Visual::Base::Impl::Impl() +Internal::Visual::Base::Impl::Impl(FittingMode fittingMode) : mCustomShader( NULL ), mBlendSlotDelegate( NULL ), + mEventObserver( NULL ), mTransform(), mMixColor( Color::WHITE ), mControlSize( Vector2::ZERO ), + mCornerRadius( 0.0f ), mDepthIndex( 0.0f ), mMixColorIndex( Property::INVALID_INDEX ), - mOpacityIndex( Property::INVALID_INDEX ), - mFlags( 0 ) + mCornerRadiusIndex( Property::INVALID_INDEX ), + mFittingMode( fittingMode ), + mFlags( 0 ), + mResourceStatus( Toolkit::Visual::ResourceStatus::PREPARING ) { } @@ -231,16 +236,17 @@ void Internal::Visual::Base::Impl::CustomShader::CreatePropertyMap( Property::Ma customShader.Insert( Toolkit::Visual::Shader::Property::HINTS, static_cast< int >( mHints ) ); } - map.Insert( Toolkit::DevelVisual::Property::SHADER, customShader ); + map.Insert( Toolkit::Visual::Property::SHADER, customShader ); } } Internal::Visual::Base::Impl::Transform::Transform() : mOffset( 0.0f,0.0f ), mSize( 1.0f,1.0f ), + mExtraSize( 0.0f,0.0f ), mOffsetSizeMode( 0.0f,0.0f,0.0f,0.0f ), - mOrigin( Toolkit::Align::CENTER ), - mAnchorPoint( Toolkit::Align::CENTER ) + mOrigin( Toolkit::Align::TOP_BEGIN ), + mAnchorPoint( Toolkit::Align::TOP_BEGIN ) { } @@ -249,9 +255,10 @@ void Internal::Visual::Base::Impl::Transform::SetPropertyMap( const Property::Ma // Set default values mOffset = Vector2( 0.0f,0.0f ); mSize = Vector2( 1.0f,1.0f ); + mExtraSize = Vector2( 0.0f,0.0f ); mOffsetSizeMode = Vector4( 0.0f,0.0f,0.0f,0.0f ); - mOrigin = Toolkit::Align::CENTER; - mAnchorPoint = Toolkit::Align::CENTER; + mOrigin = Toolkit::Align::TOP_BEGIN; + mAnchorPoint = Toolkit::Align::TOP_BEGIN; UpdatePropertyMap( map ); } @@ -265,27 +272,27 @@ void Internal::Visual::Base::Impl::Transform::UpdatePropertyMap( const Property: { switch( keyValue.first.indexKey ) { - case Toolkit::DevelVisual::Transform::Property::OFFSET: + case Toolkit::Visual::Transform::Property::OFFSET: { keyValue.second.Get( mOffset ); break; } - case Toolkit::DevelVisual::Transform::Property::SIZE: + case Toolkit::Visual::Transform::Property::SIZE: { keyValue.second.Get( mSize ); break; } - case Toolkit::DevelVisual::Transform::Property::ORIGIN: + case Toolkit::Visual::Transform::Property::ORIGIN: { Scripting::GetEnumerationProperty< Toolkit::Align::Type >( keyValue.second, ALIGN_TABLE, ALIGN_TABLE_COUNT, mOrigin ); break; } - case Toolkit::DevelVisual::Transform::Property::ANCHOR_POINT: + case Toolkit::Visual::Transform::Property::ANCHOR_POINT: { Scripting::GetEnumerationProperty< Toolkit::Align::Type >( keyValue.second, ALIGN_TABLE, ALIGN_TABLE_COUNT, mAnchorPoint ); break; } - case Toolkit::DevelVisual::Transform::Property::OFFSET_POLICY: + case Toolkit::Visual::Transform::Property::OFFSET_POLICY: { Vector2 policy; if( GetPolicyFromValue( keyValue.second, policy ) ) @@ -295,7 +302,7 @@ void Internal::Visual::Base::Impl::Transform::UpdatePropertyMap( const Property: } break; } - case Toolkit::DevelVisual::Transform::Property::SIZE_POLICY: + case Toolkit::Visual::Transform::Property::SIZE_POLICY: { Vector2 policy; if( GetPolicyFromValue( keyValue.second, policy ) ) @@ -305,6 +312,11 @@ void Internal::Visual::Base::Impl::Transform::UpdatePropertyMap( const Property: } break; } + case Toolkit::DevelVisual::Transform::Property::EXTRA_SIZE: + { + keyValue.second.Get( mExtraSize ); + break; + } } } else // Key type is STRING @@ -343,6 +355,10 @@ void Internal::Visual::Base::Impl::Transform::UpdatePropertyMap( const Property: mOffsetSizeMode.w = policy.y; } } + else if( keyValue.first == "extraSize" ) + { + keyValue.second.Get( mExtraSize ); + } } } } @@ -350,12 +366,13 @@ void Internal::Visual::Base::Impl::Transform::UpdatePropertyMap( const Property: void Internal::Visual::Base::Impl::Transform::GetPropertyMap( Property::Map& map ) const { map.Clear(); - map.Add( Toolkit::DevelVisual::Transform::Property::OFFSET, mOffset ) - .Add( Toolkit::DevelVisual::Transform::Property::SIZE, mSize ) - .Add( Toolkit::DevelVisual::Transform::Property::ORIGIN, mOrigin ) - .Add( Toolkit::DevelVisual::Transform::Property::ANCHOR_POINT, mAnchorPoint ) - .Add( Toolkit::DevelVisual::Transform::Property::OFFSET_POLICY, Vector2( mOffsetSizeMode.x, mOffsetSizeMode.y ) ) - .Add( Toolkit::DevelVisual::Transform::Property::SIZE_POLICY, Vector2( mOffsetSizeMode.z, mOffsetSizeMode.w ) ); + map.Add( Toolkit::Visual::Transform::Property::OFFSET, mOffset ) + .Add( Toolkit::Visual::Transform::Property::SIZE, mSize ) + .Add( Toolkit::Visual::Transform::Property::ORIGIN, mOrigin ) + .Add( Toolkit::Visual::Transform::Property::ANCHOR_POINT, mAnchorPoint ) + .Add( Toolkit::Visual::Transform::Property::OFFSET_POLICY, Vector2( mOffsetSizeMode.x, mOffsetSizeMode.y ) ) + .Add( Toolkit::Visual::Transform::Property::SIZE_POLICY, Vector2( mOffsetSizeMode.z, mOffsetSizeMode.w ) ) + .Add( Toolkit::DevelVisual::Transform::Property::EXTRA_SIZE, mExtraSize ); } void Internal::Visual::Base::Impl::Transform::RegisterUniforms( Dali::Renderer renderer, Toolkit::Direction::Type direction ) @@ -365,15 +382,15 @@ void Internal::Visual::Base::Impl::Transform::RegisterUniforms( Dali::Renderer r renderer.RegisterProperty( OFFSET_SIZE_MODE, mOffsetSizeMode ); renderer.RegisterProperty( ORIGIN, PointToVector2( mOrigin, direction ) - Vector2(0.5,0.5) ); renderer.RegisterProperty( ANCHOR_POINT, Vector2(0.5,0.5) - PointToVector2( mAnchorPoint, direction ) ); + renderer.RegisterProperty( EXTRA_SIZE, mExtraSize ); } Vector2 Internal::Visual::Base::Impl::Transform::GetVisualSize( const Vector2& controlSize ) { - return Vector2( Lerp( mOffsetSizeMode.x, mSize.x * controlSize.x, mSize.x ), - Lerp( mOffsetSizeMode.y, mSize.y * controlSize.y, mSize.y ) ); + return Vector2( Lerp( mOffsetSizeMode.z, mSize.x * controlSize.x, mSize.x ) , + Lerp( mOffsetSizeMode.w, mSize.y * controlSize.y, mSize.y ) ) + mExtraSize; } - } // namespace Internal } // namespace Toolkit