From d84ed16e09247b8cff122c22b3cb0e9856cea7aa Mon Sep 17 00:00:00 2001 From: Victor Cebollada Date: Mon, 6 Jul 2015 16:13:02 +0100 Subject: [PATCH 1/1] TextDecorator. Do not destroy the highlight geometry every OnRelayout. Change-Id: I0edd86d8799c98767111b5abb5a4a71fbf928c93 Signed-off-by: Victor Cebollada --- .../internal/text/decorator/text-decorator.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/dali-toolkit/internal/text/decorator/text-decorator.cpp b/dali-toolkit/internal/text/decorator/text-decorator.cpp index 49fe080..2eacef4 100644 --- a/dali-toolkit/internal/text/decorator/text-decorator.cpp +++ b/dali-toolkit/internal/text/decorator/text-decorator.cpp @@ -805,24 +805,25 @@ struct Decorator::Impl : public ConnectionTracker mQuadVertices.SetData( &vertices[ 0 ] ); mQuadIndices.SetData( &indices[ 0 ] ); - mQuadGeometry = Geometry::New(); - mQuadGeometry.AddVertexBuffer( mQuadVertices ); - mQuadGeometry.SetIndexBuffer( mQuadIndices ); - - if( mHighlightRenderer ) + if( !mQuadGeometry ) { - mHighlightRenderer.SetGeometry( mQuadGeometry ); + mQuadGeometry = Geometry::New(); + mQuadGeometry.AddVertexBuffer( mQuadVertices ); } - else + mQuadGeometry.SetIndexBuffer( mQuadIndices ); + + if( !mHighlightRenderer ) { mHighlightRenderer = Dali::Renderer::New( mQuadGeometry, mHighlightMaterial ); mHighlightActor.AddRenderer( mHighlightRenderer ); } - - mHighlightActor.SetPosition( mHighlightPosition.x, - mHighlightPosition.y ); } + mHighlightActor.SetPosition( mHighlightPosition.x, + mHighlightPosition.y ); + + mHighlightQuadList.clear(); + mHighlightRenderer.SetDepthIndex( mTextDepth - 2u ); // text is rendered at mTextDepth and text's shadow at mTextDepth -1u. } } -- 2.7.4