Bidirectional support interface
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / text / visual-model.cpp
index a8b0f79..b75005d 100644 (file)
 // CLASS HEADER
 #include <dali-toolkit/public-api/text/visual-model.h>
 
+// INTERNAL INCLUDES
+#include <dali/public-api/common/dali-vector.h>
+#include <dali/public-api/math/vector2.h>
+#include <dali-toolkit/public-api/text/line-run.h>
+
 // EXTERNAL INCLUDES
-#include <string.h>
+#include <memory.h>
 #include <vector>
-#include <dali/public-api/math/vector2.h>
 
 namespace Dali
 {
@@ -32,12 +36,17 @@ namespace Toolkit
 namespace Text
 {
 
+const GlyphInfo GLYPH_INFO; // VCC to be removed.
+
 struct VisualModel::Impl
 {
   Vector<GlyphInfo>      mGlyphs;
   Vector<CharacterIndex> mGlyphsToCharacters;
   Vector<Length>         mCharactersPerGlyph;
   std::vector<Vector2>   mGlyphPositions;
+
+  Size                   mNaturalSize;
+  Size                   mActualSize;
 };
 
 VisualModelPtr VisualModel::New()
@@ -68,14 +77,19 @@ Length VisualModel::GetNumberOfGlyphs() const
   return mImpl->mGlyphs.Count();
 }
 
-void VisualModel::GetGlyphs( GlyphIndex glyphIndex,
-                             GlyphInfo* glyphs,
+void VisualModel::GetGlyphs( GlyphInfo* glyphs,
+                             GlyphIndex glyphIndex,
                              Length numberOfGlyphs ) const
 {
   Vector<GlyphInfo>& modelGlyphs = mImpl->mGlyphs;
   memcpy( glyphs, &modelGlyphs[glyphIndex], numberOfGlyphs*sizeof(GlyphInfo) );
 }
 
+const GlyphInfo& VisualModel::GetGlyphInfo( GlyphIndex glyphIndex ) const
+{
+  return GLYPH_INFO;
+}
+
 CharacterIndex VisualModel::GetCharacterIndex( GlyphIndex glyphIndex ) const
 {
   return mImpl->mGlyphsToCharacters[glyphIndex];
@@ -102,6 +116,24 @@ GlyphIndex VisualModel::GetGlyphIndex( CharacterIndex characterIndex ) const
   return index;
 }
 
+void VisualModel::GetCharacterToGlyphMap( GlyphIndex* characterToGlyphMap,
+                                          CharacterIndex characterIndex,
+                                          Length numberOfCharacters ) const
+{
+}
+
+void VisualModel::GetCharactersPerGlyphMap( Length* charactersPerGlyph,
+                                            GlyphIndex glyphIndex,
+                                            Length numberOfGlyphs ) const
+{
+}
+
+void VisualModel::GetGlyphToCharacterMap( CharacterIndex* glyphToCharacter,
+                                          GlyphIndex glyphIndex,
+                                          Length numberOfGlyphs ) const
+{
+}
+
 void VisualModel::SetGlyphPositions( const Vector2* glyphPositions,
                                      Length numberOfGlyphs )
 {
@@ -110,14 +142,67 @@ void VisualModel::SetGlyphPositions( const Vector2* glyphPositions,
   memcpy( &modelPositions[0], glyphPositions, numberOfGlyphs*sizeof(Vector2) );
 }
 
-void VisualModel::GetGlyphPositions( GlyphIndex glyphIndex,
-                                     Vector2* glyphPositions,
+void VisualModel::GetGlyphPositions( Vector2* glyphPositions,
+                                     GlyphIndex glyphIndex,
                                      Length numberOfGlyphs ) const
 {
   std::vector<Vector2>& modelPositions = mImpl->mGlyphPositions;
   memcpy( glyphPositions, &modelPositions[0], numberOfGlyphs*sizeof(Vector2) );
 }
 
+const Vector2& VisualModel::GetGlyphPosition( GlyphIndex glyphIndex ) const
+{
+  return Vector2::ZERO;
+}
+
+void VisualModel::SetLines( const LineRun* const lines,
+                            Length numberOfLines )
+{
+}
+
+Length VisualModel::GetNumberOfLines() const
+{
+  return 0u;
+}
+
+void VisualModel::GetLines( LineRun* lines,
+                            LineIndex lineIndex,
+                            Length numberOfLines ) const
+{
+}
+
+Length VisualModel::GetNumberOfLines( GlyphIndex glyphIndex,
+                                      Length numberOfGlyphs ) const
+{
+  return 0u;
+}
+
+void VisualModel::GetLinesOfGlyphRange( LineRun* lines,
+                                        GlyphIndex glyphIndex,
+                                        Length numberOfGlyphs ) const
+{
+}
+
+void VisualModel::SetNaturalSize( const Vector2& size  )
+{
+  mImpl->mNaturalSize = size;
+}
+
+const Vector2& VisualModel::GetNaturalSize() const
+{
+  return mImpl->mNaturalSize;
+}
+
+void VisualModel::SetActualSize( const Vector2& size )
+{
+  mImpl->mActualSize = size;
+}
+
+const Vector2& VisualModel::GetActualSize() const
+{
+  return mImpl->mActualSize;
+}
+
 VisualModel::~VisualModel()
 {
   delete mImpl;