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=41040efff5d329684d48b691cef0640873ebe39d;hp=0e7f396e855f52174c4f8fe0c476bd9ab9ad301e;hb=248c644059d4784ab65fe3d2690022c2888edd3b;hpb=9eecb41468197eb2fc03e55c151011ea387e1bed diff --git a/dali-toolkit/internal/visuals/visual-base-data-impl.cpp b/dali-toolkit/internal/visuals/visual-base-data-impl.cpp index 0e7f396..41040ef 100644 --- a/dali-toolkit/internal/visuals/visual-base-data-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-base-data-impl.cpp @@ -26,6 +26,7 @@ // INTERNAL INCLUDES #include +#include #include #include @@ -114,18 +115,21 @@ bool GetPolicyFromValue( const Property::Value& value, Vector2& policy ) } // unnamed namespace -Internal::Visual::Base::Impl::Impl(FittingMode fittingMode) +Internal::Visual::Base::Impl::Impl( FittingMode fittingMode, Toolkit::Visual::Type type ) : mCustomShader( NULL ), mBlendSlotDelegate( NULL ), - mResourceObserver( NULL ), + mEventObserver( NULL ), mTransform(), mMixColor( Color::WHITE ), mControlSize( Vector2::ZERO ), + mCornerRadius( 0.0f ), mDepthIndex( 0.0f ), mMixColorIndex( Property::INVALID_INDEX ), + mCornerRadiusIndex( Property::INVALID_INDEX ), mFittingMode( fittingMode ), mFlags( 0 ), - mResourceStatus( Toolkit::Visual::ResourceStatus::PREPARING ) + mResourceStatus( Toolkit::Visual::ResourceStatus::PREPARING ), + mType( type ) { } @@ -240,6 +244,7 @@ void Internal::Visual::Base::Impl::CustomShader::CreatePropertyMap( Property::Ma 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::TOP_BEGIN ), mAnchorPoint( Toolkit::Align::TOP_BEGIN ) @@ -251,6 +256,7 @@ 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::TOP_BEGIN; mAnchorPoint = Toolkit::Align::TOP_BEGIN; @@ -307,6 +313,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 @@ -345,6 +356,10 @@ void Internal::Visual::Base::Impl::Transform::UpdatePropertyMap( const Property: mOffsetSizeMode.w = policy.y; } } + else if( keyValue.first == "extraSize" ) + { + keyValue.second.Get( mExtraSize ); + } } } } @@ -357,7 +372,8 @@ void Internal::Visual::Base::Impl::Transform::GetPropertyMap( Property::Map& map .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::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 ) @@ -367,15 +383,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