X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-base-data-impl.cpp;h=16044b7c9511ba3d8657e184f1dce713738be855;hb=d6f1c901d74aef4e66ffb6565bb61de952a090a3;hp=158c43211926479d72920dfcb2290ba341b3e665;hpb=475209602f0a7ad74883059a818cbbe41be263e1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/visual-base-data-impl.cpp b/dali-toolkit/internal/visuals/visual-base-data-impl.cpp index 158c432..16044b7 100644 --- a/dali-toolkit/internal/visuals/visual-base-data-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-base-data-impl.cpp @@ -25,7 +25,7 @@ #include // INTERNAL INCLUDES -#include +#include #include namespace Dali @@ -83,9 +83,12 @@ Dali::Vector2 PointToVector2( Toolkit::Align::Type point, Toolkit::Direction::Ty Internal::Visual::Base::Impl::Impl() : mCustomShader( NULL ), + mBlendSlotDelegate( NULL ), mTransform(), + mMixColor( Color::WHITE ), mControlSize( Vector2::ZERO ), mDepthIndex( 0.0f ), + mMixColorIndex( Property::INVALID_INDEX ), mFlags( 0 ) { } @@ -93,6 +96,7 @@ Internal::Visual::Base::Impl::Impl() Internal::Visual::Base::Impl::~Impl() { delete mCustomShader; + delete mBlendSlotDelegate; } Internal::Visual::Base::Impl::CustomShader::CustomShader( const Property::Map& map ) @@ -193,58 +197,97 @@ void Internal::Visual::Base::Impl::CustomShader::CreatePropertyMap( Property::Ma customShader.Insert( Toolkit::Visual::Shader::Property::HINTS, static_cast< int >( mHints ) ); } - map.Insert( Toolkit::VisualProperty::SHADER, customShader ); + map.Insert( Toolkit::DevelVisual::Property::SHADER, customShader ); } } Internal::Visual::Base::Impl::Transform::Transform() -: mOffset(0.0f,0.0f), - mSize(1.0f,1.0f), - mOffsetSizeMode(0.0f,0.0f,0.0f,0.0f), - mOrigin(Toolkit::Align::CENTER), - mAnchorPoint(Toolkit::Align::CENTER) +: mOffset( 0.0f,0.0f ), + mSize( 1.0f,1.0f ), + mOffsetSizeMode( 0.0f,0.0f,0.0f,0.0f ), + mOrigin( Toolkit::Align::CENTER ), + mAnchorPoint( Toolkit::Align::CENTER ) { } void Internal::Visual::Base::Impl::Transform::SetPropertyMap( const Property::Map& map ) { - //Set default values - mOffset = Vector2(0.0f,0.0f); - mSize = Vector2(1.0f,1.0f); - mOffsetSizeMode = Vector4(0.0f,0.0f,0.0f,0.0f); + // Set default values + mOffset = Vector2( 0.0f,0.0f ); + mSize = Vector2( 1.0f,1.0f ); + mOffsetSizeMode = Vector4( 0.0f,0.0f,0.0f,0.0f ); mOrigin = Toolkit::Align::CENTER; mAnchorPoint = Toolkit::Align::CENTER; + UpdatePropertyMap( map ); +} + +void Internal::Visual::Base::Impl::Transform::UpdatePropertyMap( const Property::Map& map ) +{ for( Property::Map::SizeType i(0); i( keyValue.second, ALIGN_TABLE, ALIGN_TABLE_COUNT, align ) ) + switch( keyValue.first.indexKey ) { - mOrigin = align; + case Toolkit::DevelVisual::Transform::Property::OFFSET: + { + keyValue.second.Get( mOffset ); + break; + } + case Toolkit::DevelVisual::Transform::Property::SIZE: + { + keyValue.second.Get( mSize ); + break; + } + case Toolkit::DevelVisual::Transform::Property::ORIGIN: + { + Scripting::GetEnumerationProperty< Toolkit::Align::Type >( keyValue.second, ALIGN_TABLE, ALIGN_TABLE_COUNT, mOrigin ); + break; + } + case Toolkit::DevelVisual::Transform::Property::ANCHOR_POINT: + { + Scripting::GetEnumerationProperty< Toolkit::Align::Type >( keyValue.second, ALIGN_TABLE, ALIGN_TABLE_COUNT, mAnchorPoint ); + break; + } + case Toolkit::DevelVisual::Transform::Property::OFFSET_SIZE_MODE: + { + keyValue.second.Get( mOffsetSizeMode ); + break; + } } } - else if( keyValue.first == Toolkit::Visual::DevelProperty::Transform::Property::ANCHOR_POINT ) + else // Key type is STRING { - Toolkit::Align::Type align(Toolkit::Align::CENTER); - if( Scripting::GetEnumerationProperty< Toolkit::Align::Type >( keyValue.second, ALIGN_TABLE, ALIGN_TABLE_COUNT, align ) ) + if( keyValue.first == "offset" ) { - mAnchorPoint = align; + keyValue.second.Get( mOffset ); + } + else if( keyValue.first == "size" ) + { + keyValue.second.Get( mSize ); + } + else if( keyValue.first == "origin" ) + { + Toolkit::Align::Type align(Toolkit::Align::CENTER); + if( Scripting::GetEnumerationProperty< Toolkit::Align::Type >( keyValue.second, ALIGN_TABLE, ALIGN_TABLE_COUNT, align ) ) + { + mOrigin = align; + } + } + else if( keyValue.first == "anchorPoint" ) + { + Toolkit::Align::Type align(Toolkit::Align::CENTER); + if( Scripting::GetEnumerationProperty< Toolkit::Align::Type >( keyValue.second, ALIGN_TABLE, ALIGN_TABLE_COUNT, align ) ) + { + mAnchorPoint = align; + } + } + else if( keyValue.first == "offsetSizeMode" ) + { + keyValue.second.Get( mOffsetSizeMode ); } - } - else if( keyValue.first == Toolkit::Visual::DevelProperty::Transform::Property::OFFSET_SIZE_MODE ) - { - keyValue.second.Get( mOffsetSizeMode ); } } } @@ -252,11 +295,11 @@ void Internal::Visual::Base::Impl::Transform::SetPropertyMap( const Property::Ma void Internal::Visual::Base::Impl::Transform::GetPropertyMap( Property::Map& map ) const { map.Clear(); - map.Add( Toolkit::Visual::DevelProperty::Transform::Property::OFFSET, mOffset ) - .Add( Toolkit::Visual::DevelProperty::Transform::Property::SIZE, mSize ) - .Add( Toolkit::Visual::DevelProperty::Transform::Property::ORIGIN, mOrigin ) - .Add( Toolkit::Visual::DevelProperty::Transform::Property::ANCHOR_POINT, mAnchorPoint ) - .Add( Toolkit::Visual::DevelProperty::Transform::Property::OFFSET_SIZE_MODE, mOffsetSizeMode ); + 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_SIZE_MODE, mOffsetSizeMode ); } void Internal::Visual::Base::Impl::Transform::RegisterUniforms( Dali::Renderer renderer, Toolkit::Direction::Type direction )