Optimized shader hash to not allocate memory or perform multiple passes of string...
[platform/core/uifw/dali-core.git] / dali / internal / event / text / font-factory.cpp
index 7689be6..c088d0f 100644 (file)
@@ -23,9 +23,8 @@
 #include <dali/integration-api/debug.h>
 #include <dali/internal/event/resources/resource-client.h>
 #include <dali/internal/event/text/atlas/glyph-atlas-manager.h>
+#include <dali/internal/common/dali-hash.h>
 
-// EXTERNAL INCLUDES
-#include <boost/functional/hash.hpp>
 
 using namespace Dali::Integration;
 
@@ -56,8 +55,7 @@ FontFactory::~FontFactory()
 FontMetricsIntrusivePtr FontFactory::GetFontMetrics( const std::string& fontFamily, const std::string& fontStyle )
 {
 
-  StringHash hasher;
-  std::size_t hashValue = hasher(fontFamily + fontStyle);
+  std::size_t hashValue = CalculateHash(fontFamily,fontStyle);
   FontMetricsIntrusivePtr metrics;
 
   FontMetricsIter iter = mMetricsCache.find( hashValue );
@@ -86,8 +84,7 @@ FontMetricsIntrusivePtr FontFactory::GetFontMetrics( const std::string& fontFami
 void FontFactory::RemoveFontMetrics(const std::string& fontFamily,
                                     const std::string& fontStyle)
 {
-  StringHash hasher;
-  std::size_t hashValue = hasher(fontFamily + fontStyle);
+  std::size_t hashValue = CalculateHash(fontFamily, fontStyle);
   FontMetricsIntrusivePtr metrics;
 
   FontMetricsIter iter = mMetricsCache.find( hashValue );
@@ -102,10 +99,10 @@ void FontFactory::RemoveFontMetrics(const std::string& fontFamily,
 
 
 void FontFactory::GetFontInformation( FontId fontId,
-                                  std::string& family,
-                                  std::string& style,
-                                  float& maxGlyphWidth,
-                                  float& maxGlyphHeight) const
+                                      std::string& family,
+                                      std::string& style,
+                                      float& maxGlyphWidth,
+                                      float& maxGlyphHeight) const
 {
   // typically we only have around 4 fonts in the cache,
   // and GetFontInformation is only called a couple of times on startup