X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fprimitive%2Fprimitive-visual.cpp;h=ede8ce0c29165fb05924a31b8733fe02a0f50168;hb=24ea337df1049251ab2e47c556edc6e8458f9c93;hp=78f4c884ca505e632cb9472491ccdb29b56cb1e7;hpb=fb0339fee98523cbf3e527ddd8125660aa441c6c;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/primitive/primitive-visual.cpp b/dali-toolkit/internal/visuals/primitive/primitive-visual.cpp index 78f4c88..ede8ce0 100644 --- a/dali-toolkit/internal/visuals/primitive/primitive-visual.cpp +++ b/dali-toolkit/internal/visuals/primitive/primitive-visual.cpp @@ -166,11 +166,11 @@ const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER( precision mediump float;\n varying mediump vec3 vIllumination;\n uniform lowp vec4 uColor;\n - uniform lowp vec4 mixColor;\n - + uniform lowp vec3 mixColor;\n + uniform lowp float opacity;\n void main()\n {\n - vec4 baseColor = mixColor * uColor;\n + vec4 baseColor = vec4(mixColor, opacity) * uColor;\n gl_FragColor = vec4( vIllumination.rgb * baseColor.rgb, baseColor.a );\n }\n ); @@ -225,7 +225,16 @@ void PrimitiveVisual::DoSetProperties( const Property::Map& propertyMap ) Vector4 color; if( colorValue->Get( color ) ) { - SetMixColor( color ); + Property::Type type = colorValue->GetType(); + if( type == Property::VECTOR4 ) + { + SetMixColor( color ); + } + else if( type == Property::VECTOR3 ) + { + Vector3 color3(color); + SetMixColor( color3 ); + } } } @@ -409,6 +418,9 @@ void PrimitiveVisual::DoSetOnStage( Actor& actor ) InitializeRenderer(); actor.AddRenderer( mImpl->mRenderer ); + + // Primitive generated and ready to display + ResourceReady(); } void PrimitiveVisual::DoCreatePropertyMap( Property::Map& map ) const @@ -429,6 +441,11 @@ void PrimitiveVisual::DoCreatePropertyMap( Property::Map& map ) const map.Insert( Toolkit::PrimitiveVisual::Property::LIGHT_POSITION, mLightPosition ); } +void PrimitiveVisual::DoCreateInstancePropertyMap( Property::Map& map ) const +{ + // Do nothing +} + void PrimitiveVisual::OnSetTransform() { if( mImpl->mRenderer ) @@ -455,7 +472,7 @@ void PrimitiveVisual::InitializeRenderer() // Register transform properties mImpl->mTransform.RegisterUniforms( mImpl->mRenderer, Direction::LEFT_TO_RIGHT ); - mImpl->mMixColorIndex = DevelHandle::RegisterProperty( mImpl->mRenderer, Toolkit::PrimitiveVisual::Property::MIX_COLOR, MIX_COLOR, mImpl->mMixColor ); + mImpl->mMixColorIndex = DevelHandle::RegisterProperty( mImpl->mRenderer, Toolkit::PrimitiveVisual::Property::MIX_COLOR, MIX_COLOR, Vector3(mImpl->mMixColor) ); } void PrimitiveVisual::UpdateShaderUniforms()