X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Ftext%2Ftext-visual.cpp;h=abca28163e8a8201f5c59a4d9d9b033d2712ed42;hb=d6f1c901d74aef4e66ffb6565bb61de952a090a3;hp=4145bf7ce6dcf4ede9ebe197989aceebf01146fc;hpb=11d6d49bd9837159b95a27199c48dd7a39b8ccee;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/text/text-visual.cpp b/dali-toolkit/internal/visuals/text/text-visual.cpp index 4145bf7..abca281 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.cpp +++ b/dali-toolkit/internal/visuals/text/text-visual.cpp @@ -40,8 +40,7 @@ namespace Internal namespace { -// Property names. -const char * const TEXT_PROPERTY( "text" ); +// Property names - common properties defined in visual-string-constants.h/cpp const char * const FONT_FAMILY_PROPERTY( "fontFamily" ); const char * const FONT_STYLE_PROPERTY( "fontStyle" ); const char * const POINT_SIZE_PROPERTY( "pointSize" ); @@ -131,11 +130,12 @@ const char* FRAGMENT_SHADER_ATLAS_CLAMP = DALI_COMPOSE_SHADER( uniform sampler2D sTexture;\n uniform mediump vec4 uAtlasRect;\n uniform lowp vec4 uColor;\n + uniform lowp vec4 mixColor;\n \n void main()\n {\n mediump vec2 texCoord = clamp( mix( uAtlasRect.xy, uAtlasRect.zw, vTexCoord ), uAtlasRect.xy, uAtlasRect.zw );\n - gl_FragColor = texture2D( sTexture, texCoord ) * uColor;\n + gl_FragColor = texture2D( sTexture, texCoord ) * uColor * mixColor;\n }\n ); @@ -270,10 +270,14 @@ void TextVisual::DoSetOnStage( Actor& actor ) Geometry geometry = mFactoryCache.GetGeometry( VisualFactoryCache::QUAD_GEOMETRY ); - Shader shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER_ATLAS_CLAMP ); - mFactoryCache.SaveShader( VisualFactoryCache::IMAGE_SHADER_ATLAS_DEFAULT_WRAP, shader ); + Shader shader = mFactoryCache.GetShader( VisualFactoryCache::TEXT_SHADER ); + if( ! shader ) + { + shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER_ATLAS_CLAMP ); + shader.RegisterProperty( PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT ); - shader.RegisterProperty( PIXEL_AREA_UNIFORM_NAME, FULL_TEXTURE_RECT ); + mFactoryCache.SaveShader( VisualFactoryCache::TEXT_SHADER, shader ); + } mImpl->mRenderer = Renderer::New( geometry, shader ); mImpl->mRenderer.SetProperty( Dali::Renderer::Property::DEPTH_INDEX, Toolkit::DepthIndex::TEXT );