X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Frendering%2Fvector-based%2Fvector-based-renderer.cpp;h=7fccc8da00341408313a199eba7e41b4846d5d05;hb=refs%2Fchanges%2F00%2F139000%2F7;hp=82bf555bcf2d7c632537ad55f38902c5a043a0a5;hpb=32b0b5f6c65842c8bd1140b1eeb9691fdca0c866;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/rendering/vector-based/vector-based-renderer.cpp b/dali-toolkit/internal/text/rendering/vector-based/vector-based-renderer.cpp index 82bf555..7fccc8d 100644 --- a/dali-toolkit/internal/text/rendering/vector-based/vector-based-renderer.cpp +++ b/dali-toolkit/internal/text/rendering/vector-based/vector-based-renderer.cpp @@ -19,10 +19,10 @@ #include // EXTERNAL INCLUDES -#include -#include -#include +#include +#include #include +#include // INTERNAL INCLUDES #include @@ -64,7 +64,7 @@ void AddVertex( Vector& vertices, float x, float y, float u, float v, vertices.PushBack( meshVertex ); } -void AddTriangle( Vector& indices, unsigned int v0, unsigned int v1, unsigned int v2 ) +void AddTriangle( Vector& indices, unsigned int v0, unsigned int v1, unsigned int v2 ) { indices.PushBack( v0 ); indices.PushBack( v1 ); @@ -79,7 +79,7 @@ bool CreateGeometry( const Vector& glyphs, VectorBlobAtlas& atlas, Dali::TextAbstraction::FontClient& fontClient, Vector< Vertex2D >& vertices, - Vector< unsigned int >& indices, + Vector< unsigned short >& indices, const Vector4* const colorsBuffer, const ColorIndex* const colorIndicesBuffer, const Vector4& defaultColor ) @@ -161,7 +161,6 @@ struct VectorBasedRenderer::Impl mQuadVertexFormat[ "aPosition" ] = Property::VECTOR2; mQuadVertexFormat[ "aTexCoord" ] = Property::VECTOR2; mQuadVertexFormat[ "aColor" ] = Property::VECTOR4; - mQuadIndexFormat[ "indices" ] = Property::INTEGER; } Actor mActor; ///< The actor parent which renders the text @@ -169,7 +168,6 @@ struct VectorBasedRenderer::Impl TextAbstraction::FontClient mFontClient; ///> The font client used to supply glyph information Property::Map mQuadVertexFormat; ///> Describes the vertex format for text - Property::Map mQuadIndexFormat; ///> Describes the index format for text Shader mShaderEffect; @@ -183,7 +181,11 @@ Text::RendererPtr VectorBasedRenderer::New() return Text::RendererPtr( new VectorBasedRenderer() ); } -Actor VectorBasedRenderer::Render( Text::ViewInterface& view, int /*depth*/ ) +Actor VectorBasedRenderer::Render( Text::ViewInterface& view, + Actor textControl, + Property::Index animatablePropertyIndex, + float& alignmentOffset, + int /*depth*/ ) { UnparentAndReset( mImpl->mActor ); @@ -207,8 +209,10 @@ Actor VectorBasedRenderer::Render( Text::ViewInterface& view, int /*depth*/ ) numberOfGlyphs = view.GetGlyphs( glyphs.Begin(), positions.Begin(), + alignmentOffset, 0u, numberOfGlyphs ); + glyphs.Resize( numberOfGlyphs ); positions.Resize( numberOfGlyphs ); @@ -217,10 +221,10 @@ Actor VectorBasedRenderer::Render( Text::ViewInterface& view, int /*depth*/ ) const Vector4& defaultColor = view.GetTextColor(); Vector< Vertex2D > vertices; - Vector< unsigned int > indices; + Vector< unsigned short > indices; const Vector2& controlSize = view.GetControlSize(); - float xOffset = controlSize.width * -0.5f; + float xOffset = -alignmentOffset + controlSize.width * -0.5f; float yOffset = controlSize.height * -0.5f; if( ! mImpl->mAtlas || @@ -272,14 +276,13 @@ Actor VectorBasedRenderer::Render( Text::ViewInterface& view, int /*depth*/ ) if( 0 != vertices.Count() ) { PropertyBuffer quadVertices = PropertyBuffer::New( mImpl->mQuadVertexFormat ); - PropertyBuffer quadIndices = PropertyBuffer::New( mImpl->mQuadIndexFormat ); quadVertices.SetData( &vertices[ 0 ], vertices.Size() ); - quadIndices.SetData( &indices[ 0 ], indices.Size() ); + Geometry quadGeometry = Geometry::New(); quadGeometry.AddVertexBuffer( quadVertices ); - quadGeometry.SetIndexBuffer( quadIndices ); + quadGeometry.SetIndexBuffer( &indices[ 0 ], indices.Size() ); TextureSet texture = mImpl->mAtlas->GetTextureSet();