Protecting test cases from memory scribbling
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-text-abstraction.cpp
index 5cc9401..cae7871 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,7 +22,7 @@
 #include <dali/devel-api/text-abstraction/segmentation.h>
 #include <dali/devel-api/text-abstraction/shaping.h>
 #include <dali/public-api/object/base-object.h>
-#include <dali/devel-api/adaptor-framework/singleton-service.h>
+#include <dali/devel-api/common/singleton-service.h>
 #include <cstring>
 
 using namespace Dali;
@@ -70,7 +70,8 @@ public:
     }
     return bidirectionalSupportHandle;
   }
-  BidiInfoIndex CreateInfo( const Character* const paragraph, Length numberOfCharacters ){return 0;}
+  BidiInfoIndex CreateInfo( const Character* const paragraph, Length numberOfCharacters,
+                            bool matchSystemLanguageDirection, LayoutDirection::Type layoutDirection ){return 0;}
 
   void DestroyInfo( BidiInfoIndex bidiInfoIndex )
   {
@@ -100,8 +101,7 @@ class FontClient : public BaseObject
 {
 public:
   FontClient()
-  : mDpiHorizontal( 0 ),
-    mDpiVertical( 0 )
+  : mGlyphInfo()
   {
   }
 
@@ -152,7 +152,7 @@ public:
   void GetFontMetrics( FontId fontId, FontMetrics& metrics ){}
   GlyphIndex GetGlyphIndex( FontId fontId, Character charcode ){return 0;}
   bool GetGlyphMetrics( GlyphInfo* array, uint32_t size, bool horizontal ){return true;}
-  void CreateBitmap( FontId fontId, GlyphIndex glyphIndex, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth ){}
+  void CreateBitmap( FontId fontId, GlyphIndex glyphIndex, bool softwareItailc, bool softwareBold, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth ){}
   PixelData CreateBitmap( FontId fontId, GlyphIndex glyphIndex, int outlineWidth ){return PixelData();}
   void CreateVectorBlob( FontId fontId, GlyphIndex glyphIndex, VectorBlob*& blob,
                          unsigned int& blobLength, unsigned int& nominalWidth, unsigned int& nominalHeight )
@@ -162,8 +162,6 @@ public:
   const GlyphInfo& GetEllipsisGlyph( PointSize26Dot6 pointSize ){return mGlyphInfo;}
   bool IsColorGlyph( FontId fontId, GlyphIndex glyphIndex ){return false;}
 private:
-  unsigned int mDpiHorizontal;
-  unsigned int mDpiVertical;
   GlyphInfo    mGlyphInfo;
 }; // class FontClient
 
@@ -171,8 +169,11 @@ private:
 class Shaping : public BaseObject
 {
 public:
-  Shaping() : mText(NULL)
-  {}
+  Shaping()
+  : mText( NULL ),
+    mNumChars( 0 )
+  {
+  }
 
   ~Shaping()
   {
@@ -254,13 +255,6 @@ inline static TextAbstraction::Internal::FontClient& GetImplementation(TextAbstr
   return static_cast<TextAbstraction::Internal::FontClient&>(handle);
 }
 
-inline static const TextAbstraction::Internal::FontClient& GetImplementation(const TextAbstraction::FontClient& fontClient)
-{
-  DALI_ASSERT_ALWAYS( fontClient && "fontClient handle is empty" );
-  const BaseObject& handle = fontClient.GetBaseObject();
-  return static_cast<const TextAbstraction::Internal::FontClient&>(handle);
-}
-
 inline static TextAbstraction::Internal::Shaping& GetImplementation(TextAbstraction::Shaping& shaping)
 {
   DALI_ASSERT_ALWAYS( shaping && "shaping handle is empty" );
@@ -268,13 +262,6 @@ inline static TextAbstraction::Internal::Shaping& GetImplementation(TextAbstract
   return static_cast<TextAbstraction::Internal::Shaping&>(handle);
 }
 
-inline static const TextAbstraction::Internal::Shaping& GetImplementation(const TextAbstraction::Shaping& shaping)
-{
-  DALI_ASSERT_ALWAYS( shaping && "shaping handle is empty" );
-  const BaseObject& handle = shaping.GetBaseObject();
-  return static_cast<const TextAbstraction::Internal::Shaping&>(handle);
-}
-
 
 ////////////////////////////////////////////////////////////////////////////////
 /******************************************************************************/
@@ -302,9 +289,11 @@ BidirectionalSupport BidirectionalSupport::Get()
 }
 
 BidiInfoIndex BidirectionalSupport::CreateInfo( const Character* const paragraph,
-                                                Length numberOfCharacters )
+                                                Length numberOfCharacters,
+                                                bool matchSystemLanguageDirection,
+                                                LayoutDirection::Type layoutDirection )
 {
-  return GetImplementation( *this ).CreateInfo( paragraph, numberOfCharacters );
+  return GetImplementation( *this ).CreateInfo( paragraph, numberOfCharacters, matchSystemLanguageDirection, layoutDirection );
 }
 
 void BidirectionalSupport::DestroyInfo( BidiInfoIndex bidiInfoIndex )
@@ -472,9 +461,9 @@ bool FontClient::GetGlyphMetrics( GlyphInfo* array, uint32_t size, GlyphType typ
   return GetImplementation(*this).GetGlyphMetrics( array, size, horizontal );
 }
 
-void FontClient::CreateBitmap( FontId fontId, GlyphIndex glyphIndex, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth )
+void FontClient::CreateBitmap( FontId fontId, GlyphIndex glyphIndex, bool softwareItailc, bool softwareBold, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth )
 {
-  GetImplementation(*this).CreateBitmap( fontId, glyphIndex, data, outlineWidth );
+  GetImplementation(*this).CreateBitmap( fontId, glyphIndex, softwareItailc, softwareBold, data, outlineWidth );
 }
 
 PixelData FontClient::CreateBitmap( FontId fontId, GlyphIndex glyphIndex, int outlineWidth )