Replaces TextArray type definition. 94/26394/6
authorVictor Cebollada <v.cebollada@samsung.com>
Wed, 9 Jul 2014 10:10:57 +0000 (11:10 +0100)
committerVíctor Cebollada <v.cebollada@samsung.com>
Thu, 28 Aug 2014 13:33:06 +0000 (06:33 -0700)
TextArray is now a Dali::Vector instead a std::vector.

Change-Id: Iafebb20da91c8f557d0b6162bb84901dadb1cd1b
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
38 files changed:
automated-tests/src/dali-internal/utc-Dali-Internal-Text.cpp
automated-tests/src/dali-unmanaged/dali-test-suite-utils/test-platform-abstraction.cpp
automated-tests/src/dali-unmanaged/dali-test-suite-utils/test-platform-abstraction.h
automated-tests/src/dali/dali-test-suite-utils/dali-test-suite-utils.h
automated-tests/src/dali/dali-test-suite-utils/test-platform-abstraction.cpp
automated-tests/src/dali/dali-test-suite-utils/test-platform-abstraction.h
automated-tests/src/dali/utc-Dali-Text.cpp
dali/integration-api/file.list
dali/integration-api/platform-abstraction.h
dali/integration-api/text-array.h [moved from dali/internal/common/text-array.h with 86% similarity]
dali/internal/event/actor-attachments/text-attachment-impl.cpp
dali/internal/event/actor-attachments/text-attachment-impl.h
dali/internal/event/actors/text-actor-impl.cpp
dali/internal/event/actors/text-actor-impl.h
dali/internal/event/text/atlas/atlas-rank-generator.cpp
dali/internal/event/text/atlas/atlas-rank-generator.h
dali/internal/event/text/atlas/glyph-atlas-manager-interface.h
dali/internal/event/text/atlas/glyph-atlas-manager.cpp
dali/internal/event/text/atlas/glyph-atlas-manager.h
dali/internal/event/text/atlas/glyph-atlas.cpp
dali/internal/event/text/atlas/glyph-atlas.h
dali/internal/event/text/font-factory.h
dali/internal/event/text/font-impl.cpp
dali/internal/event/text/font-impl.h
dali/internal/event/text/font-metrics-interface.h
dali/internal/event/text/font-metrics.cpp
dali/internal/event/text/font-metrics.h
dali/internal/event/text/generator/text-vertex-generator.cpp
dali/internal/event/text/generator/text-vertex-generator.h
dali/internal/event/text/glyph-status/glyph-status-container.cpp
dali/internal/event/text/glyph-status/glyph-status-container.h
dali/internal/event/text/text-impl.cpp
dali/internal/event/text/text-impl.h
dali/internal/event/text/text-request-helper.cpp
dali/internal/event/text/text-request-helper.h
dali/internal/event/text/utf8-impl.cpp
dali/internal/event/text/utf8-impl.h
dali/public-api/actors/text-actor.cpp

index 04de705..f482755 100644 (file)
@@ -107,7 +107,7 @@ int UtcDaliTextGetTextArray(void)
 
   Text text( std::string( "Hello world" ) );
 
-  DALI_TEST_EQUALS( text.GetImplementation().GetTextArray().size(), 11u, TEST_LOCATION );
+  DALI_TEST_EQUALS( text.GetImplementation().GetTextArray().Count(), 11u, TEST_LOCATION );
 
   END_TEST;
 }
index 7446475..22b0466 100644 (file)
@@ -312,7 +312,7 @@ void TestPlatformAbstraction::SetDpi (unsigned int dpiHorizontal, unsigned int d
 /**
  * @copydoc PlatformAbstraction::GetFontFamilyForChars()
  */
-const std::string& TestPlatformAbstraction::GetFontFamilyForChars(const TextArray& charsRequested) const
+const std::string& TestPlatformAbstraction::GetFontFamilyForChars(const Integration::TextArray& charsRequested) const
 {
   mTrace.PushCall("GetFontFamilyForChars", "");
   return mGetDefaultFontFamilyResult;
@@ -321,7 +321,7 @@ const std::string& TestPlatformAbstraction::GetFontFamilyForChars(const TextArra
 /**
  * @copydoc PlatformAbstraction::AllGlyphsSupported()
  */
-bool TestPlatformAbstraction::AllGlyphsSupported(const std::string& name, const std::string& fontStyle, const TextArray& text) const
+bool TestPlatformAbstraction::AllGlyphsSupported(const std::string& name, const std::string& fontStyle, const Integration::TextArray& text) const
 {
   mTrace.PushCall("AllGlyphsSupported", "");
   return true;
index 571d3c9..6ecfe07 100644 (file)
@@ -182,12 +182,12 @@ public:
   /**
    * @copydoc PlatformAbstraction::GetFontFamilyForChars()
    */
-  virtual const std::string& GetFontFamilyForChars(const TextArray& charsRequested) const;
+  virtual const std::string& GetFontFamilyForChars(const Integration::TextArray& charsRequested) const;
 
   /**
    * @copydoc PlatformAbstraction::AllGlyphsSupported()
    */
-  virtual bool AllGlyphsSupported(const std::string& name, const std::string& fontStyle, const TextArray& text) const;
+  virtual bool AllGlyphsSupported(const std::string& name, const std::string& fontStyle, const Integration::TextArray& text) const;
 
   /**
    * @copydoc PlatformAbstraction::ValidateFontFamilyName()
index de77903..375fb90 100644 (file)
@@ -295,7 +295,6 @@ void DALI_TEST_EQUALS( const std::string &str1, const char* str2, const char* lo
  */
 void DALI_TEST_EQUALS( const char* str1, const std::string &str2, const char* location);
 
-
 /**
  * Test whether two UTF32 strings are equal.
  * @param[in] str1 The first string
@@ -303,20 +302,20 @@ void DALI_TEST_EQUALS( const char* str1, const std::string &str2, const char* lo
  * @param[in] location The TEST_LOCATION macro should be used here
  */
 template<>
-inline void DALI_TEST_EQUALS<const TextArray&>( const TextArray& str1, const TextArray& str2, const char* location)
+inline void DALI_TEST_EQUALS<const Integration::TextArray&>( const Integration::TextArray& str1, const Integration::TextArray& str2, const char* location)
 {
-  if (!std::equal(str1.begin(), str1.end(), str2.begin()))
+  if( !std::equal( str1.Begin(), str1.End(), str2.Begin() ) )
   {
     fprintf(stderr, "%s, checking '", location);
 
-    for( unsigned int i = 0; i < str1.size(); ++i)
+    for( unsigned int i = 0; i < str1.Count(); ++i )
     {
       fprintf(stderr, "%c", str1[i]);
     }
 
     fprintf(stderr, "' == '");
 
-    for( unsigned int i = 0; i < str2.size(); ++i)
+    for( unsigned int i = 0; i < str2.Count(); ++i )
     {
       fprintf(stderr, "%c", str2[i]);
     }
index 4f749ce..ef3eb77 100644 (file)
@@ -322,7 +322,7 @@ void TestPlatformAbstraction::SetDpi (unsigned int dpiHorizontal, unsigned int d
 /**
  * @copydoc PlatformAbstraction::GetFontFamilyForChars()
  */
-const std::string& TestPlatformAbstraction::GetFontFamilyForChars(const TextArray& charsRequested) const
+const std::string& TestPlatformAbstraction::GetFontFamilyForChars(const Integration::TextArray& charsRequested) const
 {
   mTrace.PushCall("GetFontFamilyForChars", "");
   return mGetDefaultFontFamilyResult;
@@ -331,7 +331,7 @@ const std::string& TestPlatformAbstraction::GetFontFamilyForChars(const TextArra
 /**
  * @copydoc PlatformAbstraction::AllGlyphsSupported()
  */
-bool TestPlatformAbstraction::AllGlyphsSupported(const std::string& name, const std::string& fontStyle, const TextArray& text) const
+bool TestPlatformAbstraction::AllGlyphsSupported(const std::string& name, const std::string& fontStyle, const Integration::TextArray& text) const
 {
   mTrace.PushCall("AllGlyphsSupported", "");
   return true;
index 4723d90..2d4c38c 100644 (file)
@@ -185,12 +185,12 @@ public:
   /**
    * @copydoc PlatformAbstraction::GetFontFamilyForChars()
    */
-  virtual const std::string& GetFontFamilyForChars(const TextArray& charsRequested) const;
+  virtual const std::string& GetFontFamilyForChars(const Integration::TextArray& charsRequested) const;
 
   /**
    * @copydoc PlatformAbstraction::AllGlyphsSupported()
    */
-  virtual bool AllGlyphsSupported(const std::string& name, const std::string& fontStyle, const TextArray& text) const;
+  virtual bool AllGlyphsSupported(const std::string& name, const std::string& fontStyle, const Integration::TextArray& text) const;
 
   /**
    * @copydoc PlatformAbstraction::ValidateFontFamilyName()
index b1c418a..e9ebb97 100644 (file)
@@ -180,7 +180,7 @@ int UtcDaliTextAccessOperator01(void)
   catch( DaliException& e )
   {
     tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "position < mString.size() && \"Text::operator[]: Character position is out of bounds\"", TEST_LOCATION );
+    DALI_TEST_EQUALS( e.mCondition, "position < mString.Count() && \"Text::operator[]: Character position is out of bounds\"", TEST_LOCATION );
 
     assert2 = true;
   }
@@ -296,7 +296,7 @@ int UtcDaliTextRemove01(void)
   catch( DaliException& e )
   {
     tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "position < mString.size() && \"Text::Remove: Character position is out of bounds\"", TEST_LOCATION );
+    DALI_TEST_EQUALS( e.mCondition, "position < mString.Count() && \"Text::Remove: Character position is out of bounds\"", TEST_LOCATION );
     assert1 = true;
   }
 
@@ -307,7 +307,7 @@ int UtcDaliTextRemove01(void)
   catch( DaliException& e )
   {
     tet_printf( "Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str() );
-    DALI_TEST_EQUALS( e.mCondition, "position + numberOfCharacters <= mString.size() && \"Text::Remove: Character position + numberOfCharacters is out of bounds\"", TEST_LOCATION );
+    DALI_TEST_EQUALS( e.mCondition, "position + numberOfCharacters <= mString.Count() && \"Text::Remove: Character position + numberOfCharacters is out of bounds\"", TEST_LOCATION );
     assert2 = true;
   }
 
index d1d1eb4..5620edd 100644 (file)
@@ -42,7 +42,8 @@ platform_abstraction_header_files = \
    $(platform_abstraction_src_dir)/platform-abstraction.h \
    $(platform_abstraction_src_dir)/shader-data.h \
    $(platform_abstraction_src_dir)/system-overlay.h \
-   $(platform_abstraction_src_dir)/common/lockless-buffer.h
+   $(platform_abstraction_src_dir)/common/lockless-buffer.h \
+   $(platform_abstraction_src_dir)/text-array.h
 
 platform_abstraction_dynamics_header_files = \
    $(platform_abstraction_src_dir)/dynamics/dynamics-body-intf.h \
index f0f8af4..4fb4352 100644 (file)
  *
  */
 
-// EXTERNAL INCLUDES
-#include <stdint.h>
-
 // INTERNAL INCLUDES
-#include <dali/integration-api/resource-cache.h>
 #include <dali/integration-api/glyph-set.h>
+#include <dali/integration-api/resource-cache.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
 
-typedef std::vector<uint32_t> TextArray;
-
 namespace Integration
 {
 
similarity index 86%
rename from dali/internal/common/text-array.h
rename to dali/integration-api/text-array.h
index ed9fcda..70d78ef 100644 (file)
 #include <stdint.h>
 
 // INTERNAL INCLUDES
-#include <dali/public-api/common/vector-wrapper.h>
+#include <dali/public-api/common/dali-vector.h>
 
 namespace Dali
 {
 
-namespace Internal
+namespace Integration
 {
 
 /**
  * array of UTF-32 codes.
  */
-typedef std::vector<uint32_t> TextArray;
+typedef Vector<uint32_t> TextArray;
 
-} // namespace Internal
+} // namespace Integration
 
 } // namespace Dali
 
index 4759191..454bfee 100644 (file)
@@ -31,7 +31,7 @@ namespace Dali
 namespace Internal
 {
 
-TextAttachmentPtr TextAttachment::New( const SceneGraph::Node& parentNode, const TextArray& text, FontPointer font )
+TextAttachmentPtr TextAttachment::New( const SceneGraph::Node& parentNode, const Integration::TextArray& text, FontPointer font )
 {
   StagePtr stage = Stage::GetCurrent();
 
@@ -74,11 +74,11 @@ TextAttachment::~TextAttachment()
   delete mTextColor;
 }
 
-void TextAttachment::SetText(const TextArray& text)
+void TextAttachment::SetText( const Integration::TextArray& text )
 {
   // return if the text hasn't changed
-  if( (text.size() == mText.size() ) &&
-      std::equal(mText.begin(), mText.end(), text.begin ()) )
+  if( ( text.Count() == mText.Count() ) &&
+      std::equal( mText.Begin(), mText.End(), text.Begin () ) )
   {
     return;
   }
@@ -468,7 +468,7 @@ Vector3 TextAttachment::MeasureText() const
 
 void TextAttachment::TextChanged()
 {
-  DALI_LOG_INFO(Debug::Filter::gResource, Debug::Verbose, "TextAttachment::TextChanged()  TextModified:%s  TextEmpty:%s\n", IsTextModified()?"Y":"N", mText.empty()?"Y":"N");
+  DALI_LOG_INFO(Debug::Filter::gResource, Debug::Verbose, "TextAttachment::TextChanged()  TextModified:%s  TextEmpty:%s\n", IsTextModified()?"Y":"N", ( 0u == mText.Count() )?"Y":"N");
 
   if( !IsTextModified() )
   {
index 083e97c..de16ee8 100644 (file)
 #include <dali/internal/event/actor-attachments/renderable-attachment-impl.h>
 #include <dali/internal/event/actor-attachments/actor-attachment-declarations.h>
 #include <dali/internal/event/text/font-declarations.h>
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/event/text/text-request-helper.h>
 #include <dali/internal/event/text/resource/glyph-texture-observer.h>
 #include <dali/internal/common/owner-pointer.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -59,19 +59,19 @@ public:
    * @param [in] font The font which will be used for the text.
    * @return A smart-pointer to the newly allocated TextAttachment.
    */
-  static TextAttachmentPtr New( const SceneGraph::Node& parentNode, const TextArray& text, FontPointer font );
+  static TextAttachmentPtr New( const SceneGraph::Node& parentNode, const Integration::TextArray& text, FontPointer font );
 
   /**
    * Set the text label displayed by the attachment
    * @param [in] text The new text label
    */
-  void SetText(const TextArray& text);
+  void SetText(const Integration::TextArray& text);
 
   /**
    * Get the text label displayed by the attachment
    * @return The text label
    */
-  const TextArray& GetText() const
+  const Integration::TextArray& GetText() const
   {
     // This is not animatable; the cached value is up-to-date.
     return mText;
@@ -389,7 +389,7 @@ private:
                                                   ///< Font parameters are stored in the FontPointer member. Inside the TextStyle, font parameters and color are allocated in the same struct,
                                                   ///< so store the text color in the style will allocate space for the font parameters as well, wasting space.
   // Cached values for public getters
-  TextArray mText;
+  Integration::TextArray mText;
 
   bool    mTextChanged:1;       ///< whether the text has changed
   bool    mFontChanged:1;       ///< whether the font has changed
index c568f88..5ae1921 100644 (file)
@@ -133,7 +133,7 @@ SignalConnectorType s1( mType, Dali::TextActor::SIGNAL_TEXT_LOADING_FINISHED, &T
 
 }
 
-TextActorPtr TextActor::New( const TextArray& utfCodes, const TextActorParameters& parameters )
+TextActorPtr TextActor::New( const Integration::TextArray& utfCodes, const TextActorParameters& parameters )
 {
   // first stage construction
   TextActorPtr actor ( new TextActor( parameters.IsAutomaticFontDetectionEnabled() ) );
@@ -146,7 +146,7 @@ TextActorPtr TextActor::New( const TextArray& utfCodes, const TextActorParameter
   actor->Initialize();
 
   //create the attachment
-  actor->mTextAttachment = TextAttachment::New( *actor->mNode, TextArray(), fontPtr );
+  actor->mTextAttachment = TextAttachment::New( *actor->mNode, Integration::TextArray(), fontPtr );
 
   // Note: SetTextStyle() MUST be called before SetText(), to ensure
   //       that a single ResourceRequest for the glyphs is made. Calling
@@ -189,14 +189,15 @@ TextActor::~TextActor()
 
 const std::string TextActor::GetText() const
 {
-  const TextArray& utfCodes = mTextAttachment->GetText();
+  const Integration::TextArray& utfCodes = mTextAttachment->GetText();
 
   std::string text;
 
+  const std::size_t length = utfCodes.Count();
   // minimize allocations for ascii strings
-  text.reserve(utfCodes.size());
+  text.reserve( length );
 
-  for (unsigned int i = 0; i < utfCodes.size(); ++i)
+  for (unsigned int i = 0; i < length; ++i)
   {
     unsigned char utf8Data[4];
     unsigned int utf8Length;
@@ -239,7 +240,7 @@ void TextActor::StartObservingTextLoads()
   }
 }
 
-void TextActor::SetText(const TextArray& utfCodes)
+void TextActor::SetText(const Integration::TextArray& utfCodes)
 {
   StopObservingTextLoads();
 
index 28fa08b..08494cd 100644 (file)
@@ -25,7 +25,7 @@
 #include <dali/internal/event/actors/renderable-actor-impl.h>
 #include <dali/internal/event/text/text-observer.h>
 #include <dali/internal/event/actor-attachments/actor-attachment-declarations.h>
-#include <dali/internal/common/text-array.h>
+#include <dali/integration-api/text-array.h>
 
 
 namespace Dali
@@ -57,7 +57,7 @@ public:
    * @see Dali::TextActor::New( const Text& text, const TextActorParameters& parameters )
    * @return A pointer to a new TextActor.
    */
-  static TextActorPtr New( const TextArray& utfCodes, const TextActorParameters& parameters );
+  static TextActorPtr New( const Integration::TextArray& utfCodes, const TextActorParameters& parameters );
 
   /**
    * @copydoc Dali::Internal::Actor::OnInitialize
@@ -73,7 +73,7 @@ public:
    * @copybrief Dali::TextActor::SetText(const std::string&)
    * @param[in] utfCodes  An std::vector containing the UTF-32 codes
    */
-  void SetText(const TextArray& utfCodes);
+  void SetText(const Integration::TextArray& utfCodes);
 
   /**
    * @copydoc Dali::TextActor::SetToNaturalSize()
index da32553..90e5241 100644 (file)
@@ -74,7 +74,7 @@ AtlasRanking::SpaceStatus GetAtlasSpaceStatus( bool canFit,  bool atlasResizable
 
 } // un-named namespace
 
-AtlasRanking GetAtlasRanking( const TextArray& text,
+AtlasRanking GetAtlasRanking( const Integration::TextArray& text,
                                FontId fontId,
                                const GlyphStatusContainer&  container,
                                bool atlasResizable)
@@ -85,7 +85,7 @@ AtlasRanking GetAtlasRanking( const TextArray& text,
   // find if the text will fit or not, and how many characters are missing
   container.GetTextStatus( text, fontId, charsNotLoaded, canFit);
 
-  AtlasRanking::CharacterMatch charMatchStatus = GetTextMatchStatus( text.size(), charsNotLoaded );
+  AtlasRanking::CharacterMatch charMatchStatus = GetTextMatchStatus( text.Count(), charsNotLoaded );
 
   AtlasRanking::SpaceStatus spaceStatus = GetAtlasSpaceStatus( canFit,  atlasResizable);
 
index d2e7067..a59a97a 100644 (file)
@@ -38,7 +38,7 @@ namespace Internal
   * @param[in] atlasResizable whether the atlas is resizable
   * @return atlas ranking
   */
- AtlasRanking GetAtlasRanking(  const TextArray& text,
+ AtlasRanking GetAtlasRanking(  const Integration::TextArray& text,
                                 FontId fontId,
                                 const GlyphStatusContainer&  container,
                                 bool atlasResizable);
index 4556b36..8e09597 100644 (file)
  */
 
 // INTERNAL INCLUDES
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/common/text-vertex-buffer.h>
 #include <dali/internal/event/text/font-metrics-interface.h>
 #include <dali/internal/event/text/text-format.h>
 #include <dali/internal/event/text/text-observer.h>
 #include <dali/internal/event/text/resource/glyph-texture-observer.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -50,7 +50,7 @@ public:
    * @param[in] metric interface to get metric information for the text
    * @return text vertex buffer
    */
-  virtual TextVertexBuffer* TextRequired( const TextArray& text,
+  virtual TextVertexBuffer* TextRequired( const Integration::TextArray& text,
                                           const TextFormat& format,
                                           FontMetricsInterface& metrics ) = 0;
 
@@ -62,7 +62,7 @@ public:
    * @param[in] fontId font id
    * @param[in] textureId texture id (each atlas has a single texture)
    */
-   virtual void TextNotRequired( const TextArray& text,
+   virtual void TextNotRequired( const Integration::TextArray& text,
                                  const TextFormat& format,
                                  FontId fontId,
                                  unsigned int textureId ) = 0;
@@ -75,10 +75,10 @@ public:
    * @param[in] textureId texture id (each atlas has a single texture)
    * @return true if all characters are available, false if not
    */
-  virtual bool IsTextLoaded( const TextArray& text,
-                              const TextFormat& format,
-                              FontId fontId,
-                              unsigned int textureId) const = 0;
+  virtual bool IsTextLoaded( const Integration::TextArray& text,
+                             const TextFormat& format,
+                             FontId fontId,
+                             unsigned int textureId) const = 0;
 
 
   /**
index 3feab73..eabda31 100644 (file)
@@ -22,7 +22,6 @@
 #include <dali/internal/event/text/atlas/atlas-ranking.h>
 #include <dali/internal/event/text/atlas/atlas-size.h>
 #include <dali/internal/event/text/atlas/debug/atlas-debug.h>
-#include <dali/internal/common/text-array.h>
 #include <dali/integration-api/resource-declarations.h>
 
 namespace Dali
@@ -43,14 +42,14 @@ GlyphAtlasManager::~GlyphAtlasManager()
   // Atlases automatically get destroyed.
 }
 
-TextVertexBuffer* GlyphAtlasManager::TextRequired( const TextArray& text ,
+TextVertexBuffer* GlyphAtlasManager::TextRequired( const Integration::TextArray& text ,
                                                    const TextFormat& format,
                                                    FontMetricsInterface& metrics )
 {
   // get the font id
   FontId fontId = metrics.GetFontId();
 
-  AtlasRanking bestRank( text.size() );
+  AtlasRanking bestRank( text.Count() );
 
   // find the atlas which is best suited to displaying the text string
   GlyphAtlas* atlas  = FindAtlas( text, format, fontId, bestRank);
@@ -67,7 +66,7 @@ TextVertexBuffer* GlyphAtlasManager::TextRequired( const TextArray& text ,
   return atlas->AssignText( text, format, fontId, metrics );
 }
 
-void GlyphAtlasManager::TextNotRequired( const TextArray& text,
+void GlyphAtlasManager::TextNotRequired( const Integration::TextArray& text,
                                          const TextFormat& format,
                                          FontId fontId,
                                          unsigned int textureId )
@@ -78,7 +77,7 @@ void GlyphAtlasManager::TextNotRequired( const TextArray& text,
 }
 
 
-bool GlyphAtlasManager::IsTextLoaded( const TextArray& text,
+bool GlyphAtlasManager::IsTextLoaded( const Integration::TextArray& text,
                                       const TextFormat& format,
                                       FontId fontId,
                                       unsigned int textureId ) const
@@ -153,22 +152,22 @@ GlyphAtlas* GlyphAtlasManager::CreateAtlas( unsigned int size )
   return atlas;
 }
 
-GlyphAtlas* GlyphAtlasManager::FindAtlas( const TextArray& text,
+GlyphAtlas* GlyphAtlasManager::FindAtlas( const Integration::TextArray& text,
                                           const TextFormat& format,
                                           FontId fontId,
                                           AtlasRanking &bestRank )
 {
   // if the text is underlined, add the underline character to the text string
-  TextArray searchText( text );
+  Integration::TextArray searchText( text );
   if( format.IsUnderLined() )
   {
-    searchText.push_back( format.GetUnderLineCharacter() );
+    searchText.PushBack( format.GetUnderLineCharacter() );
   }
 
   if( mAtlasList.Count() == 0 )
   {
     // make sure the initial atlas size holds the requested text.
-    unsigned int size = GlyphAtlasSize::GetInitialSize( searchText.size() );
+    unsigned int size = GlyphAtlasSize::GetInitialSize( searchText.Count() );
 
     return CreateAtlas( size );
   }
index 6260f2a..958d66b 100644 (file)
@@ -19,7 +19,6 @@
  */
 
 // INTERNAL INCLUDES
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/common/owner-container.h>
 #include <dali/internal/event/text/font-metrics-interface.h>
 #include <dali/internal/event/text/atlas/glyph-atlas.h>
@@ -67,14 +66,14 @@ public: // for GlyphAtlasManagerInterface
   /**
    * @copydoc GlyphAtlasManagerInterface::TextRequired()
    */
-  virtual TextVertexBuffer* TextRequired( const TextArray& text,
+  virtual TextVertexBuffer* TextRequired( const Integration::TextArray& text,
                                           const TextFormat& format,
                                           FontMetricsInterface& metrics );
 
   /**
    * @copydoc GlyphAtlasManagerInterface::TextNotRequired()
    */
-  virtual void TextNotRequired( const TextArray& text,
+  virtual void TextNotRequired( const Integration::TextArray& text,
                                 const TextFormat& format,
                                 FontId font,
                                 unsigned int textureId );
@@ -82,7 +81,7 @@ public: // for GlyphAtlasManagerInterface
   /**
    * @copydoc GlyphAtlasManagerInterface::IsTextLoaded()
    */
-  virtual bool IsTextLoaded( const TextArray& text,
+  virtual bool IsTextLoaded( const Integration::TextArray& text,
                              const TextFormat& format,
                              FontId fontId,
                              unsigned int textureId) const;
@@ -142,7 +141,7 @@ private:
    * @param[in,out] the ranking for the atlas that is found
    * @return atlas
    */
-  GlyphAtlas* FindAtlas( const TextArray& text ,
+  GlyphAtlas* FindAtlas( const Integration::TextArray& text ,
                          const TextFormat& format,
                          FontId fontId,
                          AtlasRanking& bestRank);
index 6c24d09..cf00962 100644 (file)
@@ -42,7 +42,7 @@ GlyphAtlas::~GlyphAtlas()
 {
 }
 
-TextVertexBuffer* GlyphAtlas::AssignText( const TextArray& text,
+TextVertexBuffer* GlyphAtlas::AssignText( const Integration::TextArray& text,
                                           const TextFormat &format,
                                           FontId fontId,
                                           FontMetricsInterface& metrics )
@@ -60,12 +60,12 @@ TextVertexBuffer* GlyphAtlas::AssignText( const TextArray& text,
   return textBuffer;
 }
 
-void GlyphAtlas::TextNoLongerUsed( const TextArray& text, const TextFormat &format, FontId fontId )
+void GlyphAtlas::TextNoLongerUsed( const Integration::TextArray& text, const TextFormat &format, FontId fontId )
 {
   // go through each character un-referencing it
-  for( std::size_t i = 0, size = text.size(); i < size; ++i)
+  for( Integration::TextArray::ConstIterator it = text.Begin(), endIt = text.End(); it != endIt; ++it )
   {
-    mGlyphContainer.DecreaseRefCount( text[i], fontId );
+    mGlyphContainer.DecreaseRefCount( *it, fontId );
   }
 
   if( format.IsUnderLined() )
@@ -74,7 +74,7 @@ void GlyphAtlas::TextNoLongerUsed( const TextArray& text, const TextFormat &form
   }
 }
 
-AtlasRanking GlyphAtlas::GetRanking( const TextArray& text ,  FontId fontId ) const
+AtlasRanking GlyphAtlas::GetRanking( const Integration::TextArray& text ,  FontId fontId ) const
 {
   return GetAtlasRanking(  text, fontId, mGlyphContainer, Resizable() );
 }
@@ -104,13 +104,13 @@ void GlyphAtlas::ClearRequestLists()
   mRequestList.clear();
 }
 
-bool GlyphAtlas::IsTextLoaded( const TextArray& text, const TextFormat &format, FontId fontId) const
+bool GlyphAtlas::IsTextLoaded( const Integration::TextArray& text, const TextFormat &format, FontId fontId) const
 {
   // check the underline character is needed / loaded first
   if( format.IsUnderLined() )
   {
-    TextArray tempText;
-    tempText.push_back( format.GetUnderLineCharacter() );
+    Integration::TextArray tempText;
+    tempText.PushBack( format.GetUnderLineCharacter() );
     bool loaded = mGlyphContainer.IsTextLoaded( tempText, fontId );
 
     if( !loaded )
@@ -168,12 +168,12 @@ void GlyphAtlas::ClearDeadCharacters()
   // but have a reference count of zero.
   // go through each dead character, marking them as de-allocated in the atlas
 
-  std::vector< unsigned int > deadCharacters;
+  Integration::TextArray deadCharacters;
   mGlyphContainer.GetDeadCharacters( deadCharacters );
 
-  for( std::size_t i = 0; i < deadCharacters.size() ; ++i )
+  for( Integration::TextArray::ConstIterator it = deadCharacters.Begin(), endIt = deadCharacters.End(); it != endIt; ++it )
   {
-    mAtlas.Remove( deadCharacters[i]);
+    mAtlas.Remove( *it );
   }
 
   // clear the dead characters from the glyph container
@@ -278,16 +278,16 @@ void GlyphAtlas::GetNewTextureId( std::vector<unsigned int>& oldTextureIds , uns
   mTextureIdOfReplacedAtlases.clear();
 }
 
-void GlyphAtlas::ReferenceText(  const TextArray& text,
-                                 const TextFormat &format,
-                                 FontId fontId)
+void GlyphAtlas::ReferenceText( const Integration::TextArray& text,
+                                const TextFormat &format,
+                                FontId fontId)
 {
 
   // go through each character, if it exists increase it's ref count.
-  for( std::size_t i = 0, size = text.size(); i < size; ++i)
+  for( Integration::TextArray::ConstIterator it = text.Begin(), endIt = text.End(); it != endIt; ++it )
   {
     // this will automatically load the character if it doesn't exist
-    IncreaseGlyphRefCount( text[i], fontId );
+    IncreaseGlyphRefCount( *it, fontId );
   }
 
   if( format.IsUnderLined() )
index de6639a..f804d7a 100644 (file)
 // INTERNAL INCLUDES
 #include <dali/internal/event/text/atlas/atlas.h>
 #include <dali/internal/event/text/atlas/atlas-ranking.h>
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/event/text/glyph-status/glyph-status.h>
 #include <dali/internal/event/text/glyph-status/glyph-status-container.h>
 #include <dali/internal/event/text/resource/glyph-resource-observer.h>
 #include <dali/internal/event/text/resource/glyph-resource-request.h>
 #include <dali/internal/event/text/font-metrics-interface.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -87,7 +87,7 @@ public:
    * @param[in] fontId the font id
    * @param[in] metrics font metrics interface
    */
-  TextVertexBuffer* AssignText( const TextArray& text, const TextFormat &format, FontId fontId, FontMetricsInterface& metrics );
+  TextVertexBuffer* AssignText( const Integration::TextArray& text, const TextFormat &format, FontId fontId, FontMetricsInterface& metrics );
 
   /**
    * Inform the atlas that text is no longer used
@@ -95,7 +95,7 @@ public:
    * @param[in] format the text format
    * @param[in] fontId the font id
    */
-  void TextNoLongerUsed( const TextArray& text, const TextFormat &format, FontId fontId );
+  void TextNoLongerUsed( const Integration::TextArray& text, const TextFormat &format, FontId fontId );
 
   /**
    * Given a text string, returns an atlas ranking.
@@ -104,7 +104,7 @@ public:
    * @param[in] fontId the font id
    * @return atlas ranking
    */
-  AtlasRanking GetRanking( const TextArray& text , FontId fontId ) const;
+  AtlasRanking GetRanking( const Integration::TextArray& text , FontId fontId ) const;
 
   /**
    * Get the atlas size
@@ -142,7 +142,7 @@ public:
    * @param[in] fontId the font id
    * @return true if the text is loaded
    */
-  bool IsTextLoaded( const TextArray& text, const TextFormat &format, FontId fontId) const;
+  bool IsTextLoaded( const Integration::TextArray& text, const TextFormat &format, FontId fontId) const;
 
   /**
    * Clone the contents of the atlas into this atlas
@@ -208,9 +208,9 @@ private:
    * @param[in] format the text format
    * @param[in] fontId font id
    */
-  void ReferenceText( const TextArray& text,
-                 const TextFormat &format,
-                 FontId fontId);
+  void ReferenceText( const Integration::TextArray& text,
+                      const TextFormat &format,
+                      FontId fontId);
 
   /**
    * Increase glyph reference count.
index ffbd0ff..3974b6f 100644 (file)
@@ -22,7 +22,6 @@
 #include <dali/internal/event/text/atlas/glyph-atlas-manager-interface.h>
 #include <dali/internal/event/text/font-metrics.h>
 #include <dali/internal/event/text/resource/font-lookup-interface.h>
-#include <dali/internal/common/text-array.h>
 
 namespace Dali
 {
index dbf7708..c510a19 100644 (file)
@@ -79,11 +79,11 @@ bool Font::operator==( const Font& font ) const
   return ( font.GetResourceId() == GetResourceId() ) && ( fabsf( font.GetPointSize() - GetPointSize() ) < Math::MACHINE_EPSILON_1000 );
 }
 
-const std::string Font::GetFamilyForText(const TextArray& text)
+const std::string Font::GetFamilyForText(const Integration::TextArray& text)
 {
   Integration::PlatformAbstraction& platform = ThreadLocalStorage::Get().GetPlatformAbstraction();
   // this is a synchronous request
-  return platform.GetFontFamilyForChars(text);
+  return platform.GetFontFamilyForChars( text );
 }
 
 PixelSize Font::GetLineHeightFromCapsHeight(const std::string& fontFamily, const std::string& fontStyle, const CapsHeight& capsHeight)
@@ -133,7 +133,7 @@ void Font::GetInstalledFonts( Dali::Font::FontListMode mode, std::vector<std::st
   platform.GetFontList( listMode, fontList );
 }
 
-bool Font::AllGlyphsSupported(const TextArray& text) const
+bool Font::AllGlyphsSupported(const Integration::TextArray& text) const
 {
   // this is a synchronous request
   return mPlatform.AllGlyphsSupported(mName, mStyle, text);
@@ -144,7 +144,7 @@ unsigned int Font::GetResourceId() const
   return mMetrics->GetFontId();
 }
 
-float Font::MeasureTextWidth(const TextArray& text, float textHeightPx) const
+float Font::MeasureTextWidth(const Integration::TextArray& text, float textHeightPx) const
 {
   Vector3 size = MeasureText(text);
 
@@ -159,7 +159,7 @@ float Font::MeasureTextWidth(const TextArray& text, float textHeightPx) const
   return width;
 }
 
-float Font::MeasureTextHeight(const TextArray& text, float textWidthPx) const
+float Font::MeasureTextHeight(const Integration::TextArray& text, float textWidthPx) const
 {
   Vector3 size = MeasureText(text);
 
@@ -174,7 +174,7 @@ float Font::MeasureTextHeight(const TextArray& text, float textWidthPx) const
   return height;
 }
 
-Vector3 Font::MeasureText(const TextArray& text) const
+Vector3 Font::MeasureText(const Integration::TextArray& text) const
 {
   if (mMetrics)
   {
@@ -246,8 +246,8 @@ float Font::GetUnitsToPixels() const
 
 void Font::GetMetrics(const Dali::Character& character, Dali::Font::Metrics::Impl& metricsImpl) const
 {
-  TextArray text;
-  text.push_back( character.GetImplementation().GetCharacter() );
+  Integration::TextArray text;
+  text.PushBack( character.GetImplementation().GetCharacter() );
 
   mMetrics->GetMetrics( character, metricsImpl );
 
@@ -324,13 +324,13 @@ void Font::RemoveObserver(TextObserver& observer)
   mAtlasManager.RemoveTextObserver(observer);
 }
 
-TextVertexBuffer* Font::TextRequired( const TextArray& text, const TextFormat& format)
+TextVertexBuffer* Font::TextRequired( const Integration::TextArray& text, const TextFormat& format)
 {
   // make sure the metrics are loaded for the text string, along with underline character if required
   if( format.IsUnderLined() )
   {
-    TextArray underline;
-    underline.push_back( SpecialCharacters::UNDERLINE_CHARACTER );
+    Integration::TextArray underline;
+    underline.PushBack( SpecialCharacters::UNDERLINE_CHARACTER );
 
     mMetrics->LoadMetricsSynchronously( underline );
   }
@@ -341,7 +341,7 @@ TextVertexBuffer* Font::TextRequired( const TextArray& text, const TextFormat& f
   return mAtlasManager.TextRequired(text, format, *(mMetrics.Get()));
 }
 
-void Font::TextNotRequired( const TextArray& text, const TextFormat& format, unsigned int mTextureId )
+void Font::TextNotRequired( const Integration::TextArray& text, const TextFormat& format, unsigned int mTextureId )
 {
   // let the atlas manager we no longer need the text
   mAtlasManager.TextNotRequired( text, format, mMetrics->GetFontId(), mTextureId );
@@ -357,7 +357,7 @@ void Font::RemoveTextureObserver(GlyphTextureObserver& observer )
   mAtlasManager.RemoveTextureObserver( observer );
 }
 
-bool Font::IsTextLoaded( const TextArray& text, const TextFormat& format, unsigned int textureId ) const
+bool Font::IsTextLoaded( const Integration::TextArray& text, const TextFormat& format, unsigned int textureId ) const
 {
   return mAtlasManager.IsTextLoaded( text, format, mMetrics->GetFontId(), textureId );
 }
index 7c94386..7645f8a 100644 (file)
 #include <dali/public-api/text/font.h>
 #include <dali/public-api/object/base-object.h>
 #include <dali/internal/event/text/font-metrics.h>
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/common/text-vertex-buffer.h>
 #include <dali/internal/event/text/text-observer.h>
 #include <dali/internal/event/text/resource/glyph-texture-observer.h>
 #include <dali/internal/event/text/atlas/glyph-atlas-manager-interface.h>
-
 #include <dali/internal/common/message.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -83,7 +82,7 @@ public:
   /**
     * @copydoc Dali::Font::GetFamilyForText()
     */
-  static const std::string GetFamilyForText(const TextArray& text);
+  static const std::string GetFamilyForText(const Integration::TextArray& text);
 
   /**
    * @copydoc Dali::Font::GetLineHeightFromCapsHeight()
@@ -98,7 +97,7 @@ public:
   /**
    * @copydoc Dali::Font::AllGlyphsSupported()
    */
-  bool AllGlyphsSupported(const TextArray& text) const;
+  bool AllGlyphsSupported(const Integration::TextArray& text) const;
 
   /**
    * returns the Id used for lookups
@@ -109,17 +108,17 @@ public:
   /**
    * @copydoc Dali::Font::MeasureTextWidth()
    */
-  float MeasureTextWidth(const TextArray& text, float textHeightPx) const;
+  float MeasureTextWidth(const Integration::TextArray& text, float textHeightPx) const;
 
   /**
    * @copydoc Dali::Font::MeasureTextHeight()
    */
-  float MeasureTextHeight(const TextArray& text, float textWidthPx) const;
+  float MeasureTextHeight(const Integration::TextArray& text, float textWidthPx) const;
 
   /**
    * @copydoc Dali::Font::MeasureText(const Text& text) const
    */
-  Vector3 MeasureText(const TextArray& text) const;
+  Vector3 MeasureText(const Integration::TextArray& text) const;
 
   /**
    * @copydoc Dali::Font::IsDefaultSystemFont()
@@ -223,12 +222,12 @@ public:
   /**
    * @copydoc GlyphAtlasManagerInterface::TextRequired()
    */
-  TextVertexBuffer* TextRequired( const TextArray& text, const TextFormat& format );
+  TextVertexBuffer* TextRequired( const Integration::TextArray& text, const TextFormat& format );
 
   /**
    * @copydoc GlyphAtlasManagerInterface::TextNotRequired()
    */
-  void TextNotRequired( const TextArray& text, const TextFormat& format, unsigned int textureId );
+  void TextNotRequired( const Integration::TextArray& text, const TextFormat& format, unsigned int textureId );
 
   /**
    * Add a glyph texture observer
@@ -249,7 +248,7 @@ public:
    * @param[in] textureId texture ID of the atlas
    * @return true if all characters are available, false if not
    */
-  bool IsTextLoaded( const TextArray& text, const TextFormat& format, unsigned int textureId ) const;
+  bool IsTextLoaded( const Integration::TextArray& text, const TextFormat& format, unsigned int textureId ) const;
 
 
 private:
index c690b93..3362788 100644 (file)
@@ -21,7 +21,7 @@
 // INTERNAL INCLUDES
 #include <dali/internal/event/text/resource/font-id.h>
 #include <dali/internal/event/text/glyph-metric.h>
-#include <dali/internal/common/text-array.h>
+#include <dali/integration-api/text-array.h>
 
 // EXTERNAL INCLUDES
 #include <string>
@@ -46,7 +46,7 @@ public:
    * Ensures the metrics for each character in the text are loaded and cached.
    * @param[in] text The text string to load the metrics for.
    */
-  virtual void LoadMetricsSynchronously( const TextArray& text ) = 0;
+  virtual void LoadMetricsSynchronously( const Integration::TextArray& text ) = 0;
 
   /**
    * Gets the metrics for a single character.
index 7541eb0..f656d83 100644 (file)
@@ -46,12 +46,12 @@ const uint32_t FIRST_NON_CONTROL_CHAR( 0x20 ); // 0x20 is the white space which
 const uint32_t LINE_SEPARATOR( '\n' );
 
 
-TextArray GetUniqueCharacters( const TextArray &text )
+Integration::TextArray GetUniqueCharacters( const Integration::TextArray& text )
 {
-  TextArray utfCodes(text.begin(), text.end());
-  std::sort( utfCodes.begin(), utfCodes.end() );
-  TextArray::iterator it = std::unique( utfCodes.begin(), utfCodes.end() );
-  utfCodes.resize(it - utfCodes.begin());
+  Integration::TextArray utfCodes = text;
+  std::sort( utfCodes.Begin(), utfCodes.End() );
+  Integration::TextArray::Iterator it = std::unique( utfCodes.Begin(), utfCodes.End() );
+  utfCodes.Resize( it - utfCodes.Begin() );
   return utfCodes;
 }
 
@@ -88,13 +88,14 @@ void FontMetrics::LoadGlobalMetrics()
   }
 }
 
-Vector3 FontMetrics::MeasureText( const TextArray& text )
+Vector3 FontMetrics::MeasureText( const Integration::TextArray& text )
 {
-  if( text.empty() )
+  if( 0u == text.Count() )
   {
     return  Vector3::ZERO;
   }
-  TextArray  utfCodes = GetUniqueCharacters( text );
+
+  Integration::TextArray  utfCodes = GetUniqueCharacters( text );
 
   // ensure all the metrics are loaded for the characters
   LoadMetricsSynchronously( utfCodes );
@@ -106,7 +107,7 @@ Vector3 FontMetrics::MeasureText( const TextArray& text )
 
   float xPos = 0.0f;
 
-  for( TextArray::const_iterator it = text.begin(), endIt = text.end(); it != endIt; ++it )
+  for( Integration::TextArray::ConstIterator it = text.Begin(), endIt = text.End(); it != endIt; ++it )
   {
     const uint32_t utfCode( *it );
 
@@ -132,11 +133,11 @@ Vector3 FontMetrics::MeasureText( const TextArray& text )
   return measurement;
 }
 
-bool FontMetrics::TextAvailable( const TextArray& text ) const
+bool FontMetrics::TextAvailable( const Integration::TextArray& text ) const
 {
   TCharMap::const_iterator endIter = mCharMap.end();
 
-  for( TextArray::const_iterator it = text.begin(), endIt = text.end(); it != endIt; ++it )
+  for( Integration::TextArray::ConstIterator it = text.Begin(), endIt = text.End(); it != endIt; ++it )
   {
     const uint32_t utfCode( *it );
 
@@ -150,14 +151,14 @@ bool FontMetrics::TextAvailable( const TextArray& text ) const
   return true;
 }
 
-unsigned int FontMetrics::GetMissingText( const TextArray& text, CharacterList& missingText ) const
+unsigned int FontMetrics::GetMissingText( const Integration::TextArray& text, CharacterList& missingText ) const
 {
   // sort and remove duplicate character codes
-  TextArray utfCodes( GetUniqueCharacters(text) );
+  Integration::TextArray utfCodes( GetUniqueCharacters(text) );
 
   // scan through the metrics cache, making a list of characters that are missing
   TCharMap::const_iterator endIter = mCharMap.end();
-  for( TextArray::const_iterator it = utfCodes.begin(), endIt = utfCodes.end(); it != endIt; ++it )
+  for( Integration::TextArray::ConstIterator it = utfCodes.Begin(), endIt = utfCodes.End(); it != endIt; ++it )
   {
     const uint32_t utfCode( *it );
 
@@ -170,7 +171,7 @@ unsigned int FontMetrics::GetMissingText( const TextArray& text, CharacterList&
   return missingText.size();
 }
 
-void FontMetrics::LoadMetricsSynchronously( const TextArray& text )
+void FontMetrics::LoadMetricsSynchronously( const Integration::TextArray& text )
 {
   // check to make sure the metrics cache has loaded
   CheckMetricsLoaded();
@@ -300,8 +301,8 @@ float FontMetrics::GetPadAdjustY() const
 
 void FontMetrics::GetMetrics( const Dali::Character& character, Dali::Font::Metrics::Impl& metrics )
 {
-  TextArray utfCodes;
-  utfCodes.push_back( character.GetImplementation().GetCharacter() );
+  Integration::TextArray utfCodes;
+  utfCodes.PushBack( character.GetImplementation().GetCharacter() );
 
   LoadMetricsSynchronously( utfCodes );
 
index 253af01..b3e28e5 100644 (file)
 #include <dali/public-api/object/ref-object.h>
 #include <dali/public-api/text/font.h>
 #include <dali/internal/event/resources/resource-ticket.h>
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/event/text/font-metrics-interface.h>
 #include <dali/internal/event/text/resource/font-id.h>
 #include <dali/internal/event/text/font-layout.h>
 #include <dali/integration-api/glyph-set.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -110,14 +110,14 @@ public:
    * @param[in] text              The text string to measure.
    * @return The natural size of the text.
    */
-  Vector3 MeasureText(const TextArray& text);
+  Vector3 MeasureText(const Integration::TextArray& text);
 
   /**
    * Check if all characters in a string are currently in the font
    * @param[in] text          The string to check
    * @return true if all characters are currently in the font
    */
-  bool TextAvailable (const TextArray& text) const;
+  bool TextAvailable (const Integration::TextArray& text) const;
 
   /**
    * Given a text array, checks which characters have their metrics loaded.
@@ -126,14 +126,14 @@ public:
    * @param[out] missingText  Characters from text not contained in this font.
    * @return number of characters that have not had their metrics loaded
    */
-  unsigned int GetMissingText(const TextArray& text, CharacterList& missingText ) const;
+  unsigned int GetMissingText(const Integration::TextArray& text, CharacterList& missingText ) const;
 
 public: // for FontMetricsInterface
 
   /**
    * @copydoc FontMetricsInterface::LoadMetricsSynchronously
    */
-  virtual void LoadMetricsSynchronously( const TextArray& text );
+  virtual void LoadMetricsSynchronously( const Integration::TextArray& text );
 
   /**
    * @copydoc FontMetricsInterface::GetGlyph()
index 05f2872..1498c46 100644 (file)
@@ -298,7 +298,7 @@ void DebugVertexBuffer( VertexBuffer& buffer )
 
 } // unnamed namespace
 
-TextVertexBuffer* TextVertexGenerator::Generate( const TextArray& text,
+TextVertexBuffer* TextVertexGenerator::Generate( const Integration::TextArray& text,
                                                  const TextFormat& format,
                                                  const FontMetricsInterface& metrics,
                                                  const AtlasUvInterface& uvInterface,
@@ -332,7 +332,7 @@ TextVertexBuffer* TextVertexGenerator::Generate( const TextArray& text,
   const float tileWidth( metrics.GetMaxWidth() * scalar );
   const float tileHeight( metrics.GetMaxHeight() * scalar );
 
-  for( TextArray::const_iterator it = text.begin(), endIt = text.end(); it != endIt; ++it )
+  for( Integration::TextArray::ConstIterator it = text.Begin(), endIt = text.End(); it != endIt; ++it )
   {
     const uint32_t charIndex = *it;
 
@@ -416,7 +416,7 @@ TextVertexBuffer* TextVertexGenerator::Generate( const TextArray& text,
 #endif
 
   DALI_LOG_INFO(gTextVertsLogFilter, Debug::General, "TextVertexBuffer for %c%c%c...: Calculated Extents:(%5.2f, %5.2f)\n  Geometry Extents:(%5.2f, %5.2f )\n",
-                text.size()>0?(char)text[0]:' ', text.size()>1?(char)text[1]:' ', text.size()>2?(char)text[2]:' ',
+                text.Count()>0?(char)text[0]:' ', text.Count()>1?(char)text[1]:' ', text.Count()>2?(char)text[2]:' ',
                 textVertexBuffer->mVertexMax.x,textVertexBuffer->mVertexMax.y,
                 textVertexBuffer->mGeometryExtent.width,textVertexBuffer->mGeometryExtent.height);
 
index cbe26d2..97c611d 100644 (file)
 // EXTERNAL INCLUDES
 
 // INTERNAL INCLUDES
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/event/text/text-format.h>
 #include <dali/internal/common/text-vertex-buffer.h>
 #include <dali/internal/event/text/font-metrics-interface.h>
 #include <dali/internal/event/text/atlas/atlas-uv-interface.h>
 #include <dali/internal/event/text/resource/font-id.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -52,7 +52,7 @@ namespace TextVertexGenerator
  * @param[in] fontId the font id
  * @return text vertex buffer
  */
- TextVertexBuffer* Generate(const TextArray& text,
+ TextVertexBuffer* Generate(const Integration::TextArray& text,
                             const TextFormat& format,
                             const FontMetricsInterface& metrics,
                             const AtlasUvInterface& uvInterface,
index 2ee41ac..eae2d2b 100644 (file)
@@ -38,13 +38,13 @@ namespace // un-named namespace
 /**
  * @return the unique characters in a text array
  */
-TextArray GetUniqueCharacters( const TextArray &text  )
+Integration::TextArray GetUniqueCharacters( const Integration::TextArray &text  )
 {
-  TextArray utfCodes( text );
+  Integration::TextArray utfCodes( text );
 
-  std::sort( utfCodes.begin(), utfCodes.end() );
-  TextArray::iterator it = std::unique( utfCodes.begin(), utfCodes.end() );
-  utfCodes.resize(it - utfCodes.begin());
+  std::sort( utfCodes.Begin(), utfCodes.End() );
+  Integration::TextArray::Iterator it = std::unique( utfCodes.Begin(), utfCodes.End() );
+  utfCodes.Resize(it - utfCodes.Begin());
   return utfCodes;
 }
 
@@ -191,11 +191,11 @@ const GlyphStatusContainer::StatusSet& GlyphStatusContainer::GetStatusSet() cons
   return mCharacterLookup;
 }
 
-bool GlyphStatusContainer::IsTextLoaded( const TextArray& text, FontId fontId) const
+bool GlyphStatusContainer::IsTextLoaded( const Integration::TextArray& text, FontId fontId ) const
 {
-  for( std::size_t n = 0, size = text.size(); n < size; ++n)
+  for( Integration::TextArray::ConstIterator it = text.Begin(), endIt = text.End(); it != endIt; ++it )
   {
-    uint32_t charCode = text[n];
+    const uint32_t charCode = *it;
 
     // ignore invisible characters
     if( charCode < SpecialCharacters::FIRST_VISIBLE_CHAR )
@@ -212,7 +212,7 @@ bool GlyphStatusContainer::IsTextLoaded( const TextArray& text, FontId fontId) c
   return true;
 }
 
-void GlyphStatusContainer::GetTextStatus( const TextArray& text,
+void GlyphStatusContainer::GetTextStatus( const Integration::TextArray& text,
                     FontId fontId,
                     unsigned int& charsNotLoaded,
                     bool& fitsInContainer ) const
@@ -220,11 +220,11 @@ void GlyphStatusContainer::GetTextStatus( const TextArray& text,
   charsNotLoaded = 0;
   fitsInContainer = false;
 
-  TextArray uniqueText = GetUniqueCharacters( text );
+  Integration::TextArray uniqueText = GetUniqueCharacters( text );
 
-  for( std::size_t n = 0, size = uniqueText.size(); n < size; ++n)
+  for( Integration::TextArray::ConstIterator it = text.Begin(), endIt = text.End(); it != endIt; ++it )
   {
-    uint32_t charCode = uniqueText[n];
+    const uint32_t charCode = *it;
 
     // ignore invisible characters
     if( charCode < SpecialCharacters::FIRST_VISIBLE_CHAR )
@@ -270,9 +270,9 @@ void GlyphStatusContainer::CloneContents( const GlyphStatusContainer& clone )
 }
 
 
-void GlyphStatusContainer::GetDeadCharacters( std::vector< unsigned int >& deadList )
+void GlyphStatusContainer::GetDeadCharacters( Integration::TextArray& deadList )
 {
-  deadList.reserve( mDeadCharacters.size() );
+  deadList.Reserve( mDeadCharacters.size() );
 
   // iterate through the dead character list
 
@@ -280,7 +280,7 @@ void GlyphStatusContainer::GetDeadCharacters( std::vector< unsigned int >& deadL
   for( StatusPointerSet::iterator iter = mDeadCharacters.begin(); iter != endIter; ++iter )
   {
     const GlyphStatus* glyphStatus(*iter);
-    deadList.push_back( glyphStatus->GetUniqueId());
+    deadList.PushBack( glyphStatus->GetUniqueId());
   }
 
 }
index a665b3e..76537e3 100644 (file)
@@ -21,7 +21,7 @@
 // INTERNAL INCLUDES
 #include <dali/public-api/common/set-wrapper.h>
 #include <dali/internal/event/text/glyph-status/glyph-status.h>
-#include <dali/internal/common/text-array.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -129,7 +129,7 @@ public:
    * @param[in] fontId font id
    * @return true if all characters are loaded false if not
    */
-  bool IsTextLoaded( const TextArray& text, FontId fontId) const;
+  bool IsTextLoaded( const Integration::TextArray& text, FontId fontId) const;
 
   /**
    * Given a text array, find how many character are loaded and
@@ -139,7 +139,7 @@ public:
    * @param[out] charsNotLoaded how many characters are not loaded
    * @param[out] fitsInContainer whether the text fits in the container
    */
-  void GetTextStatus( const TextArray& text,
+  void GetTextStatus( const Integration::TextArray& text,
                       FontId fontId,
                       unsigned int& charsNotLoaded,
                       bool& fitsInContainer ) const;
@@ -154,7 +154,7 @@ public:
    * Get the list of dead characters
    * @param[out] deadList to be filled with a list of dead characters
    */
-  void GetDeadCharacters( std::vector< unsigned int >& deadList );
+  void GetDeadCharacters( Integration::TextArray& deadList );
 
   /**
    * Clear dead characters.
index b42b224..7b2650a 100644 (file)
 #include <dali/internal/event/text/text-impl.h>
 
 // INTERNAL INCLUDES
-
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/event/text/character-impl.h>
 #include <dali/internal/event/text/utf8-impl.h>
 
+// EXTERNAL INCLUDES
+#include <algorithm>
+
 namespace Dali
 {
 
@@ -32,7 +33,7 @@ namespace Internal
 
 namespace
 {
-static const TextArray VOID_TEXT_ARRAY; ///< A void text array to be used in the helper Internal::GetTextArray() function.
+static const Integration::TextArray VOID_TEXT_ARRAY; ///< A void text array to be used in the helper Internal::GetTextArray() function.
 } // namespace
 
 Text::Text()
@@ -43,17 +44,19 @@ Text::Text()
 Text::Text( const std::string& text )
 : mString()
 {
+  const std::size_t length = text.size();
+
   // minimize allocations for ascii strings
-  mString.reserve( text.size() );
+  mString.Reserve( length );
 
   // break string into UTF-8 tokens
-  UTF8Tokenize( reinterpret_cast<const unsigned char*>( text.c_str() ), text.size(), mString );
+  UTF8Tokenize( reinterpret_cast<const unsigned char*>( text.c_str() ), length, mString );
 }
 
 Text::Text( const Character& character )
 : mString()
 {
-  mString.push_back( character.GetCharacter() );
+  mString.PushBack( character.GetCharacter() );
 }
 
 Text::Text( const Text& text )
@@ -64,9 +67,9 @@ Text::Text( const Text& text )
 void Text::GetText( std::string& text ) const
 {
   // minimize allocations for ascii strings
-  text.reserve( mString.size() );
+  text.reserve( mString.Count() );
 
-  for( TextArray::const_iterator it = mString.begin(), endIt = mString.end(); it != endIt; ++it )
+  for( Integration::TextArray::ConstIterator it = mString.Begin(), endIt = mString.End(); it != endIt; ++it )
   {
     unsigned char utf8Data[4];
     unsigned int utf8Length;
@@ -87,18 +90,19 @@ Text& Text::operator=( const Text& text )
 Text::~Text()
 {
   Clear();
+  mString.Release();
 }
 
 void Text::Clear()
 {
-  mString.clear();
+  mString.Clear();
 }
 
 Dali::Character Text::operator[]( size_t position ) const
 {
-  DALI_ASSERT_ALWAYS( position < mString.size() && "Text::operator[]: Character position is out of bounds" );
+  DALI_ASSERT_ALWAYS( position < mString.Count() && "Text::operator[]: Character position is out of bounds" );
 
-  const uint32_t c = *( mString.begin() + position );
+  const uint32_t c = *( mString.Begin() + position );
 
   Dali::Character character( new Character( c ) );
 
@@ -107,34 +111,34 @@ Dali::Character Text::operator[]( size_t position ) const
 
 bool Text::IsEmpty() const
 {
-  return mString.empty();
+  return 0u == mString.Count();
 }
 
 size_t Text::GetLength() const
 {
-  return mString.size();
+  return mString.Count();
 }
 
 void Text::Append( const Dali::Text& text )
 {
-  const TextArray& utfCodes = text.GetImplementation().GetTextArray();
+  const Integration::TextArray& utfCodes = text.GetImplementation().GetTextArray();
 
-  mString.insert( mString.end(), utfCodes.begin(), utfCodes.end() );
+  mString.Insert( mString.End(), utfCodes.Begin(), utfCodes.End() );
 }
 
 void Text::Remove( size_t position, size_t numberOfCharacters )
 {
-  DALI_ASSERT_ALWAYS( position < mString.size() && "Text::Remove: Character position is out of bounds" );
-  DALI_ASSERT_ALWAYS( position + numberOfCharacters <= mString.size() && "Text::Remove: Character position + numberOfCharacters is out of bounds" );
+  DALI_ASSERT_ALWAYS( position < mString.Count() && "Text::Remove: Character position is out of bounds" );
+  DALI_ASSERT_ALWAYS( position + numberOfCharacters <= mString.Count() && "Text::Remove: Character position + numberOfCharacters is out of bounds" );
 
-  mString.erase( mString.begin() + position, mString.begin() + position + numberOfCharacters );
+  mString.Erase( mString.Begin() + position, mString.Begin() + position + numberOfCharacters );
 }
 
 void Text::Find( uint32_t character, std::size_t from, std::size_t to, Vector<std::size_t>& positions ) const
 {
   std::size_t position = from;
 
-  for( TextArray::const_iterator it = mString.begin() + from, endIt = mString.begin() + to + 1u; it != endIt; ++position, ++it )
+  for( Integration::TextArray::ConstIterator it = mString.Begin() + from, endIt = mString.Begin() + to + 1u; it != endIt; ++position, ++it )
   {
     if( *it == character )
     {
@@ -147,7 +151,7 @@ void Text::FindWhiteSpace( std::size_t from, std::size_t to, Vector<std::size_t>
 {
   std::size_t position = from;
 
-  for( TextArray::const_iterator it = mString.begin() + from, endIt = mString.begin() + to + 1u; it != endIt; ++position, ++it )
+  for( Integration::TextArray::ConstIterator it = mString.Begin() + from, endIt = mString.Begin() + to + 1u; it != endIt; ++position, ++it )
   {
     if( Character::IsWhiteSpace( *it ) )
     {
@@ -160,7 +164,7 @@ void Text::FindNewLine( std::size_t from, std::size_t to, Vector<std::size_t>& p
 {
   std::size_t position = from;
 
-  for( TextArray::const_iterator it = mString.begin() + from, endIt = mString.begin() + to + 1u; it != endIt; ++position, ++it )
+  for( Integration::TextArray::ConstIterator it = mString.Begin() + from, endIt = mString.Begin() + to + 1u; it != endIt; ++position, ++it )
   {
     if( Character::IsNewLine( *it ) )
     {
@@ -173,22 +177,21 @@ void Text::GetSubText( std::size_t from, std::size_t to, Text* subText ) const
 {
   if( to < from )
   {
-    const std::size_t length = mString.size();
-    const std::size_t rfrom = length - ( from + 1u );
-    const std::size_t rto = length - to;
-    subText->mString.insert( subText->mString.end(), mString.rbegin() + rfrom, mString.rbegin() + rto );
+    std::swap( from, to );
+    subText->mString.Insert( subText->mString.End(), mString.Begin() + from, mString.Begin() + to + 1u );
+    std::reverse( subText->mString.Begin(), subText->mString.End() );
   }
   else
   {
-    subText->mString.insert( subText->mString.end(), mString.begin() + from, mString.begin() + to + 1u );
+    subText->mString.Insert( subText->mString.End(), mString.Begin() + from, mString.Begin() + to + 1u );
   }
 }
 
 bool Text::IsWhiteSpace( std::size_t index ) const
 {
-  if( index < mString.size() )
+  if( index < mString.Count() )
   {
-    return Character::IsWhiteSpace( *( mString.begin() + index ) );
+    return Character::IsWhiteSpace( *( mString.Begin() + index ) );
   }
 
   return false;
@@ -196,20 +199,20 @@ bool Text::IsWhiteSpace( std::size_t index ) const
 
 bool Text::IsNewLine( std::size_t index ) const
 {
-  if( index < mString.size() )
+  if( index < mString.Count() )
   {
-    return Character::IsNewLine( *( mString.begin() + index ) );
+    return Character::IsNewLine( *( mString.Begin() + index ) );
   }
 
   return false;
 }
 
-const TextArray& Text::GetTextArray() const
+const Integration::TextArray& Text::GetTextArray() const
 {
   return mString;
 }
 
-const TextArray& GetTextArray( const Dali::Text& text )
+const Integration::TextArray& GetTextArray( const Dali::Text& text )
 {
   if( text.IsEmpty() )
   {
index 475e325..96157cf 100644 (file)
@@ -23,7 +23,7 @@
 
 // INTERNAL INCLUDES
 #include <dali/public-api/text/text.h>
-#include <dali/internal/common/text-array.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -139,21 +139,21 @@ public:
    * Retrieves a reference to the UTF-32 encoded string.
    * @return A reference to the UTF-32 encoded string.
    */
-  const TextArray& GetTextArray() const;
+  const Integration::TextArray& GetTextArray() const;
 
 private:
 
-  TextArray mString; ///< Stores an array of unicodes.
+  Integration::TextArray mString; ///< Stores an array of unicodes.
 };
 
 /**
- * @brief  Helper function to get the TextArray from a Dali::Text.
+ * @brief  Helper function to get the Integration::TextArray from a Dali::Text.
  *
  * @param[in] text A Dali::Text.
  *
- * @return The Text's TextArray.
+ * @return The Text's Integration::TextArray.
  */
- const TextArray& GetTextArray( const Dali::Text& text );
+ const Integration::TextArray& GetTextArray( const Dali::Text& text );
 
 } // namespace Internal
 
index 30f4a2f..e0de39d 100644 (file)
@@ -44,7 +44,7 @@ TextRequestHelper::~TextRequestHelper()
   }
 }
 
-TextVertexBuffer* TextRequestHelper::SetText(const TextArray& text, const TextFormat& format)
+TextVertexBuffer* TextRequestHelper::SetText(const Integration::TextArray& text, const TextFormat& format)
 {
   // current text no longer required.
   TextNotRequired();
@@ -65,7 +65,7 @@ TextVertexBuffer* TextRequestHelper::SetFont( const FontPointer& font, const Tex
   return TextRequired( format );
 }
 
-TextVertexBuffer* TextRequestHelper::SetTextAndFont( const TextArray& text,
+TextVertexBuffer* TextRequestHelper::SetTextAndFont( const Integration::TextArray& text,
                                                      const FontPointer& font,
                                                      const TextFormat& format )
 {
@@ -82,7 +82,7 @@ TextVertexBuffer* TextRequestHelper::SetTextAndFont( const TextArray& text,
 
 void TextRequestHelper::TextNotRequired()
 {
-  if( mFont && !mText.empty() )
+  if( mFont && ( 0u < mText.Count() ) )
   {
     mFont->TextNotRequired( mText, mFormat, mTextureId );
   }
@@ -92,7 +92,7 @@ TextVertexBuffer* TextRequestHelper::TextRequired( const TextFormat& format )
 {
   mFormat = format;
 
-  if( mFont && !mText.empty() )
+  if( mFont && ( 0u < mText.Count() ) )
   {
     // watch out for texture resizes / splits
     AddTextureObserver();
@@ -105,7 +105,7 @@ TextVertexBuffer* TextRequestHelper::TextRequired( const TextFormat& format )
 
     return buffer;
   }
-  else if( mText.empty() )
+  else if( 0u == mText.Count()  )
   {
     // create an empty vertex buffer
     TextVertexBuffer* buffer = new TextVertexBuffer;
@@ -125,7 +125,7 @@ void TextRequestHelper::TextureChanged( unsigned int oldTextureId, unsigned int
 
 bool TextRequestHelper::IsTextLoaded() const
 {
-  if( mTextureId == 0 || (!mFont) || mText.empty() )
+  if( mTextureId == 0 || (!mFont) || ( 0u == mText.Count() ) )
   {
     return false;
   }
index 65b58ac..01572b9 100644 (file)
 
 // INTERNAL INCLUDES
 #include <dali/public-api/object/ref-object.h>
-#include <dali/internal/common/text-array.h>
 #include <dali/internal/event/text/font-declarations.h>
 #include <dali/internal/event/text/text-format.h>
 #include <dali/internal/common/text-vertex-buffer.h>
 #include <dali/internal/event/text/resource/glyph-texture-observer.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -61,7 +61,7 @@ public:
    * @param [in] format text format
    * @return the vertex data required to draw the text
    */
-  TextVertexBuffer* SetText(const TextArray& text, const TextFormat& format );
+  TextVertexBuffer* SetText(const Integration::TextArray& text, const TextFormat& format );
 
   /**
    * Set the font
@@ -78,7 +78,7 @@ public:
    * @param [in] format text format
    * @return the vertex data required to draw the text
    */
-  TextVertexBuffer* SetTextAndFont(const TextArray& text, const FontPointer& font, const TextFormat& format );
+  TextVertexBuffer* SetTextAndFont(const Integration::TextArray& text, const FontPointer& font, const TextFormat& format );
 
   /**
    * Called when the texture id has changed
@@ -113,7 +113,7 @@ private:
   void AddTextureObserver();
 
   unsigned int mTextureId;                ///< the texture id of the glyph atlas being used
-  TextArray mText;                        ///< text string
+  Integration::TextArray mText;           ///< text string
   TextFormat mFormat;                     ///< text format
   FontPointer mFont;                      ///< the font
   bool mTextureObserverInstalled:1;       ///< whether texture observer is installed
index 1888ce9..5fa4e41 100644 (file)
@@ -124,7 +124,7 @@ size_t UTF8Write(const uint32_t code, unsigned char* utf8Data)
   return sequenceLength;
 }
 
-size_t UTF8Tokenize(const unsigned char* utf8Data, const size_t utf8DataLength, TextArray& tokens)
+size_t UTF8Tokenize(const unsigned char* utf8Data, const size_t utf8DataLength, Integration::TextArray& tokens)
 {
   size_t dataLength = utf8DataLength;
 
@@ -145,12 +145,12 @@ size_t UTF8Tokenize(const unsigned char* utf8Data, const size_t utf8DataLength,
     }
 
     code = UTF8Read(utf8Data, sequenceLength);
-    tokens.push_back(code);
+    tokens.PushBack(code);
 
     utf8Data += sequenceLength;
     dataLength -= sequenceLength;
   }
-  return tokens.size();
+  return tokens.Count();
 }
 
 } // namespace Internal
index 4f029f7..2c28181 100644 (file)
@@ -19,7 +19,7 @@
  */
 
 // INTERNAL INCLUDES
-#include <dali/internal/common/text-array.h>
+#include <dali/integration-api/text-array.h>
 
 namespace Dali
 {
@@ -57,7 +57,7 @@ size_t UTF8Write(const uint32_t code, unsigned char* utf8Data);
  * @param[out] tokens         A vector which will receive the converted UTF-32 codes
  * @return The number of UTF-32 codes.
  */
-size_t UTF8Tokenize(const unsigned char* utf8Data, const size_t utf8DataLength, TextArray& tokens);
+size_t UTF8Tokenize(const unsigned char* utf8Data, const size_t utf8DataLength, Integration::TextArray& tokens);
 
 } // namespace Internal
 
index eb4f191..6ba09ed 100644 (file)
@@ -38,7 +38,7 @@ TextActor::TextActor()
 TextActor TextActor::New()
 {
   TextActorParameters parameters;
-  Internal::TextActorPtr internal = Internal::TextActor::New( Internal::TextArray(), parameters );
+  Internal::TextActorPtr internal = Internal::TextActor::New( Integration::TextArray(), parameters );
 
   return TextActor( internal.Get() );
 }