From: Angelos Gkountis Date: Fri, 20 Jul 2018 12:31:34 +0000 (+0100) Subject: [dali_1.3.33] Merge branch 'devel/master' X-Git-Tag: dali_1.9.8~5^2~88 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F31%2F184731%2F1;hp=04c77fa1fc8eedb6a76dcd496958e8cddec036c8;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [dali_1.3.33] Merge branch 'devel/master' Change-Id: I9f097622f7b689bc1e904bd363c6ae9fb0637a49 --- diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp index e0daf86..d5019bd 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp @@ -1135,6 +1135,38 @@ int UtcDaliToolkitTextLabelColorComponents(void) DALI_TEST_EQUALS( label.GetProperty< Vector4 >( TextLabel::Property::TEXT_COLOR ), Vector4( 0.0f, 0.0f, 1.0f, 0.6f ), TEST_LOCATION ); DALI_TEST_EQUALS( label.GetProperty< Vector4 >( TextLabel::Property::UNUSED_PROPERTY_TEXT_COLOR ), Vector4( 0.0f, 0.0f, 1.0f, 0.6f ), TEST_LOCATION ); + // Test a transparent text - Rendering should be skipped. + label.SetProperty( TextLabel::Property::TEXT, "Hello world Hello world" ); + label.SetProperty( TextLabel::Property::TEXT_COLOR, Color::BLUE ); + + Stage::GetCurrent().Add( label ); + + TraceCallStack& drawTrace = application.GetGlAbstraction().GetDrawTrace(); + drawTrace.Enable( true ); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( drawTrace.FindMethod( "DrawArrays" ), true, TEST_LOCATION ); // Should be rendered + + label.SetProperty( TextLabel::Property::TEXT_COLOR, Color::TRANSPARENT ); + + drawTrace.Reset(); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( drawTrace.FindMethod( "DrawArrays" ), false, TEST_LOCATION ); // Rendering should be skipped + + label.SetProperty( TextLabel::Property::TEXT_COLOR, Color::RED ); + + drawTrace.Reset(); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( drawTrace.FindMethod( "DrawArrays" ), true, TEST_LOCATION ); // Should be rendered again + END_TEST; } @@ -1287,4 +1319,4 @@ int UtcDaliToolkitTextlabelVerticalLineAlignment(void) DALI_TEST_EQUALS( label.GetProperty< int >( DevelTextLabel::Property::VERTICAL_LINE_ALIGNMENT ), static_cast< int >( Toolkit::DevelText::VerticalLineAlignment::BOTTOM ), TEST_LOCATION ); END_TEST; -} \ No newline at end of file +} diff --git a/dali-csharp-wrapper.manifest b/dali-csharp-wrapper.manifest deleted file mode 100755 index 75b0fa5..0000000 --- a/dali-csharp-wrapper.manifest +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index 7192281..4ce4b5a 100755 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -168,7 +168,14 @@ void Controller::SetGlyphType( TextAbstraction::GlyphType glyphType ) void Controller::SetMarkupProcessorEnabled( bool enable ) { - mImpl->mMarkupProcessorEnabled = enable; + if( enable != mImpl->mMarkupProcessorEnabled ) + { + //If Text was already set, call the SetText again for enabling or disabling markup + mImpl->mMarkupProcessorEnabled = enable; + std::string text; + GetText( text ); + SetText( text ); + } } bool Controller::IsMarkupProcessorEnabled() const diff --git a/dali-toolkit/internal/text/text-scroller.cpp b/dali-toolkit/internal/text/text-scroller.cpp index e6da930..4ca011e 100644 --- a/dali-toolkit/internal/text/text-scroller.cpp +++ b/dali-toolkit/internal/text/text-scroller.cpp @@ -80,7 +80,6 @@ const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER( uniform sampler2D sTexture;\n uniform lowp vec4 uColor;\n uniform lowp vec3 mixColor;\n - uniform lowp float preMultipliedAlpha;\n \n void main()\n {\n diff --git a/dali-toolkit/internal/visuals/text/text-visual.cpp b/dali-toolkit/internal/visuals/text/text-visual.cpp index eb2dc04..b8edc7a 100755 --- a/dali-toolkit/internal/visuals/text/text-visual.cpp +++ b/dali-toolkit/internal/visuals/text/text-visual.cpp @@ -109,7 +109,6 @@ const char* FRAGMENT_SHADER_SINGLE_COLOR_TEXT = DALI_COMPOSE_SHADER( uniform lowp vec4 uTextColorAnimatable;\n uniform lowp vec4 uColor;\n uniform lowp vec3 mixColor;\n - uniform lowp float preMultipliedAlpha;\n \n void main()\n {\n @@ -125,12 +124,10 @@ const char* FRAGMENT_SHADER_MULTI_COLOR_TEXT = DALI_COMPOSE_SHADER( uniform sampler2D sTexture;\n uniform lowp vec4 uColor;\n uniform lowp vec3 mixColor;\n - uniform lowp float preMultipliedAlpha;\n \n void main()\n {\n mediump vec4 textTexture = texture2D( sTexture, vTexCoord );\n - textTexture.rgb *= mix( 1.0, textTexture.a, preMultipliedAlpha );\n gl_FragColor = textTexture * uColor * vec4( mixColor, 1.0 ); }\n @@ -143,7 +140,6 @@ const char* FRAGMENT_SHADER_SINGLE_COLOR_TEXT_WITH_STYLE = DALI_COMPOSE_SHADER( uniform lowp vec4 uTextColorAnimatable;\n uniform lowp vec4 uColor;\n uniform lowp vec3 mixColor;\n - uniform lowp float preMultipliedAlpha;\n \n void main()\n {\n @@ -161,13 +157,11 @@ const char* FRAGMENT_SHADER_MULTI_COLOR_TEXT_WITH_STYLE = DALI_COMPOSE_SHADER( uniform sampler2D sStyle;\n uniform lowp vec4 uColor;\n uniform lowp vec3 mixColor;\n - uniform lowp float preMultipliedAlpha;\n \n void main()\n {\n mediump vec4 textTexture = texture2D( sTexture, vTexCoord );\n mediump vec4 styleTexture = texture2D( sStyle, vTexCoord );\n - textTexture.rgb *= mix( 1.0, textTexture.a, preMultipliedAlpha );\n // Draw the text as overlay above the style gl_FragColor = ( textTexture + styleTexture * ( 1.0 - textTexture.a ) ) * uColor * vec4( mixColor, 1.0 );\n @@ -181,7 +175,6 @@ const char* FRAGMENT_SHADER_SINGLE_COLOR_TEXT_WITH_EMOJI = DALI_COMPOSE_SHADER( uniform lowp vec4 uTextColorAnimatable;\n uniform lowp vec4 uColor;\n uniform lowp vec3 mixColor;\n - uniform lowp float preMultipliedAlpha;\n \n void main()\n {\n @@ -192,7 +185,7 @@ const char* FRAGMENT_SHADER_SINGLE_COLOR_TEXT_WITH_EMOJI = DALI_COMPOSE_SHADER( // Markup text with multiple text colors are not animated (but can be supported later on if required). // Emoji color are not animated. mediump float vstep = step( 0.0001, textTexture.a );\n - textTexture.rgb = mix( textTexture.rgb, uTextColorAnimatable.rgb, vstep * maskTexture ) * mix( 1.0, textTexture.a, preMultipliedAlpha );\n + textTexture.rgb = mix( textTexture.rgb, uTextColorAnimatable.rgb, vstep * maskTexture );\n // Draw the text as overlay above the style gl_FragColor = textTexture * uColor * vec4( mixColor, 1.0 );\n @@ -208,7 +201,6 @@ const char* FRAGMENT_SHADER_SINGLE_COLOR_TEXT_WITH_STYLE_AND_EMOJI = DALI_COMPOS uniform lowp vec4 uTextColorAnimatable;\n uniform lowp vec4 uColor;\n uniform lowp vec3 mixColor;\n - uniform lowp float preMultipliedAlpha;\n \n void main()\n {\n @@ -220,7 +212,7 @@ const char* FRAGMENT_SHADER_SINGLE_COLOR_TEXT_WITH_STYLE_AND_EMOJI = DALI_COMPOS // Markup text with multiple text colors are not animated (but can be supported later on if required). // Emoji color are not animated. mediump float vstep = step( 0.0001, textTexture.a );\n - textTexture.rgb = mix( textTexture.rgb, uTextColorAnimatable.rgb, vstep * maskTexture * ( 1.0 - uHasMultipleTextColors ) ) * mix( 1.0, textTexture.a, preMultipliedAlpha );\n + textTexture.rgb = mix( textTexture.rgb, uTextColorAnimatable.rgb, vstep * maskTexture * ( 1.0 - uHasMultipleTextColors ) );\n // Draw the text as overlay above the style gl_FragColor = ( textTexture + styleTexture * ( 1.0 - textTexture.a ) ) * uColor * vec4( mixColor, 1.0 );\n @@ -308,7 +300,15 @@ void TextColorConstraint( Vector4& current, const PropertyInputContainer& inputs void OpacityConstraint( float& current, const PropertyInputContainer& inputs ) { - current = inputs[0]->GetVector4().a; + // Make zero if the alpha value of text color is zero to skip rendering text + if( EqualsZero( inputs[0]->GetVector4().a ) ) + { + current = 0.0f; + } + else + { + current = 1.0f; + } } } // unnamed namespace @@ -466,6 +466,7 @@ void TextVisual::DoSetOnStage( Actor& actor ) colorConstraint.AddSource( Source( actor, mAnimatableTextColorPropertyIndex ) ); colorConstraint.Apply(); + // Make zero if the alpha value of text color is zero to skip rendering text Constraint opacityConstraint = Constraint::New< float >( mImpl->mRenderer, Dali::DevelRenderer::Property::OPACITY, OpacityConstraint ); opacityConstraint.AddSource( Source( actor, mAnimatableTextColorPropertyIndex ) ); opacityConstraint.Apply(); diff --git a/dali-toolkit/public-api/dali-toolkit-version.cpp b/dali-toolkit/public-api/dali-toolkit-version.cpp index 0d747c3..70e33f9 100644 --- a/dali-toolkit/public-api/dali-toolkit-version.cpp +++ b/dali-toolkit/public-api/dali-toolkit-version.cpp @@ -31,7 +31,7 @@ namespace Toolkit const unsigned int TOOLKIT_MAJOR_VERSION = 1; const unsigned int TOOLKIT_MINOR_VERSION = 3; -const unsigned int TOOLKIT_MICRO_VERSION = 32; +const unsigned int TOOLKIT_MICRO_VERSION = 33; const char * const TOOLKIT_BUILD_DATE = __DATE__ " " __TIME__; #ifdef DEBUG_ENABLED diff --git a/packaging/dali-toolkit.spec b/packaging/dali-toolkit.spec index f6183da..ab7c82f 100644 --- a/packaging/dali-toolkit.spec +++ b/packaging/dali-toolkit.spec @@ -1,6 +1,6 @@ Name: dali-toolkit Summary: Dali 3D engine Toolkit -Version: 1.3.32 +Version: 1.3.33 Release: 1 Group: System/Libraries License: Apache-2.0 and BSD-3-Clause and MIT