X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Frendering%2Fatlas%2Ftext-atlas-renderer.cpp;h=7c629fdc6e4aab2d7bef63b8a7d0f5a3b4ac4093;hb=refs%2Fchanges%2F36%2F48836%2F3;hp=42961ce6e3b059473d77288bc9f5c83f11a7570a;hpb=f08e4b14661ae1b25d01f417f58310c44407ebf6;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp b/dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp index 42961ce..7c629fd 100644 --- a/dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp +++ b/dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp @@ -331,6 +331,16 @@ struct AtlasRenderer::Impl : public ConnectionTracker textCacheEntry.mIndex = glyph.index; newTextCache.PushBack( textCacheEntry ); + // Adjust the vertices if the fixed-size font should be down-scaled + if( glyph.scaleFactor > 0 ) + { + for( unsigned int i=0; i::iterator shadowIterator = mShadowTasks.begin(); + shadowIterator != mShadowTasks.end(); ++shadowIterator ) + { + RemoveShadowRenderTask( *shadowIterator ); + } } Actor mActor; ///< The actor parent which renders the text AtlasGlyphManager mGlyphManager; ///< Glyph Manager to handle upload and caching + std::vector< RenderTask > mShadowTasks; ///< Used to render shadows TextAbstraction::FontClient mFontClient; ///> The font client used to supply glyph information std::vector< MaxBlockSize > mBlockSizes; ///> Maximum size needed to contain a glyph in a block within a new atlas std::vector< uint32_t > mFace; ///> Face indices for a quad @@ -836,6 +872,8 @@ AtlasRenderer::AtlasRenderer() AtlasRenderer::~AtlasRenderer() { + mImpl->RemoveAllShadowRenderTasks(); + mImpl->RemoveText(); delete mImpl; }