X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Ftext%2Ftext-abstraction%2Ffont-client-impl.cpp;h=4e82a541c69b3223a1248c6165548872f8a293db;hb=468193cb7df6a8ab691bfa841fd9e0af1d26ecd2;hp=1a653d6f26e775c6e50508b66beb5fb1cb175706;hpb=5f6ec1d800c08c7eac93932921884ebf7eacf1c2;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/text/text-abstraction/font-client-impl.cpp b/dali/internal/text/text-abstraction/font-client-impl.cpp index 1a653d6..4e82a54 100755 --- a/dali/internal/text/text-abstraction/font-client-impl.cpp +++ b/dali/internal/text/text-abstraction/font-client-impl.cpp @@ -38,6 +38,8 @@ namespace TextAbstraction namespace Internal { +Dali::TextAbstraction::FontClient FontClient::gPreInitializedFontClient( NULL ); + FontClient::FontClient() : mPlugin( nullptr ), mDpiHorizontal( 0 ), @@ -67,7 +69,16 @@ Dali::TextAbstraction::FontClient FontClient::Get() } else // create and register the object { - fontClientHandle = Dali::TextAbstraction::FontClient( new FontClient ); + if( gPreInitializedFontClient ) + { + fontClientHandle = gPreInitializedFontClient; + gPreInitializedFontClient.Reset(); // No longer needed + } + else + { + fontClientHandle = Dali::TextAbstraction::FontClient( new FontClient ); + } + service.Register( typeid( fontClientHandle ), fontClientHandle ); } } @@ -75,6 +86,17 @@ Dali::TextAbstraction::FontClient FontClient::Get() return fontClientHandle; } +Dali::TextAbstraction::FontClient FontClient::PreInitialize() +{ + gPreInitializedFontClient = Dali::TextAbstraction::FontClient( new FontClient ); + + // Make DefaultFontDescription cached + Dali::TextAbstraction::FontDescription defaultFontDescription; + gPreInitializedFontClient.GetDefaultPlatformFontDescription( defaultFontDescription ); + + return gPreInitializedFontClient; +} + void FontClient::ClearCache() { if( mPlugin )