#include <dali/devel-api/text-abstraction/font-client.h>
// INTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/environment-variable.h>
#include <dali/internal/text/text-abstraction/font-client-impl.h>
namespace Dali
const uint32_t FontClient::NUMBER_OF_POINTS_PER_ONE_UNIT_OF_POINT_SIZE = 64u; //Found this value from toolkit
+// For Debug
+static bool TEXT_PERFORMANCE_LOG_SET = false;
+static uint32_t TEXT_PERFORMANCE_LOG_THRESHOLD_TIME = 0u;
+constexpr auto TEXT_PERFORMANCE_LOG_THRESHOLD_TIME_ENV = "DALI_TEXT_PERFORMANCE_LOG_THRESHOLD_TIME";
+
+uint32_t FontClient::GetPerformanceLogThresholdTime()
+{
+ uint32_t time = TEXT_PERFORMANCE_LOG_THRESHOLD_TIME;
+ if(!TEXT_PERFORMANCE_LOG_SET)
+ {
+ // Threshold time in miliseconds.
+ auto timeString = Dali::EnvironmentVariable::GetEnvironmentVariable(TEXT_PERFORMANCE_LOG_THRESHOLD_TIME_ENV);
+ time = timeString ? static_cast<uint32_t>(std::atoi(timeString)) : 0u;
+ TEXT_PERFORMANCE_LOG_THRESHOLD_TIME = time;
+ TEXT_PERFORMANCE_LOG_SET = true;
+ }
+ return time;
+}
+
+bool FontClient::IsPerformanceLogEnabled()
+{
+ return GetPerformanceLogThresholdTime() > 0 ? true : false;
+}
+
// FontClient
FontClient FontClient::Get()
GetImplementation(*this).GetDefaultFonts(defaultFonts);
}
+void FontClient::InitDefaultFontDescription()
+{
+ GetImplementation(*this).InitDefaultFontDescription();
+}
+
void FontClient::GetDefaultPlatformFontDescription(FontDescription& fontDescription)
{
GetImplementation(*this).GetDefaultPlatformFontDescription(fontDescription);
return Internal::FontClient::PreInitialize();
}
-void FontClientPreCache(const FontFamilyList& fallbackFamilyList, const FontFamilyList& extraFamilyList, const FontFamily& localeFamily, bool useThread)
+void FontClientPreCache(const FontFamilyList& fallbackFamilyList, const FontFamilyList& extraFamilyList, const FontFamily& localeFamily, bool useThread, bool syncCreation)
+{
+ Internal::FontClient::PreCache(fallbackFamilyList, extraFamilyList, localeFamily, useThread, syncCreation);
+}
+
+void FontClientFontPreLoad(const FontPathList& fontPathList, const FontPathList& memoryFontPathList, bool useThread, bool syncCreation)
+{
+ Internal::FontClient::PreLoad(fontPathList, memoryFontPathList, useThread, syncCreation);
+}
+
+void FontClientJoinFontThreads()
{
- Internal::FontClient::PreCache(fallbackFamilyList, extraFamilyList, localeFamily, useThread);
+ Internal::FontClient::JoinFontThreads();
}
} // namespace TextAbstraction