X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fprimitive%2Fprimitive-visual.cpp;h=748564ec08d2f36118aca8ed4c34e48b3d1f4034;hp=78f4c884ca505e632cb9472491ccdb29b56cb1e7;hb=5a2a5883422f4d114902ac57d57d7d1e973fbb2e;hpb=0ade1ea02b460b002d9cd82cd3023a5107eb6294 diff --git a/dali-toolkit/internal/visuals/primitive/primitive-visual.cpp b/dali-toolkit/internal/visuals/primitive/primitive-visual.cpp index 78f4c88..748564e 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 ); + } } } @@ -455,7 +464,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()