Bidirectional support interface 59/33859/8
authorVictor Cebollada <v.cebollada@samsung.com>
Thu, 15 Jan 2015 16:32:01 +0000 (16:32 +0000)
committerVictor Cebollada <v.cebollada@samsung.com>
Wed, 4 Mar 2015 08:10:10 +0000 (08:10 +0000)
Change-Id: I75e34e13432c242c79ef1327668f782ccc9d675e
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
dali-toolkit/public-api/text/bidirectional-support.cpp
dali-toolkit/public-api/text/bidirectional-support.h

index ebff453..02645f4 100644 (file)
@@ -33,12 +33,26 @@ void SetBidirectionalInfo( const Vector<Character>& text,
 {
 }
 
+void ReplaceBidirectionalInfo( LogicalModel& model,
+                               CharacterIndex characterIndex,
+                               Length numberOfCharactersToRemove,
+                               Length numberOfCharactersToInsert )
+{
+}
+
 void ReorderLines( const Vector<BidirectionalParagraphInfoRun>& bidirectionalInfo,
                    const Vector<CharacterRun>& lineRuns,
                    Vector<BidirectionalLineInfoRun>& lineInfoRuns )
 {
 }
 
+void ReorderLines( LogicalModel& logicalModel,
+                   const VisualModel& visualModel,
+                   CharacterIndex characterIndex,
+                   Length numberOfCharactersToRemove,
+                   Length numberOfCharactersToInsert )
+{
+}
 
 } // namespace Text
 
index 178c319..e45fc06 100644 (file)
@@ -47,6 +47,25 @@ void SetBidirectionalInfo( const Vector<Character>& text,
                            Vector<BidirectionalParagraphInfoRun>& bidirectionalInfo );
 
 /**
+ * Replaces the bidirectional info from the logical model.
+ *
+ * @pre The @p model needs to have a text set.
+ * @pre The @p model needs to have the line break info set.
+ *
+ * If the @p numberOfCharactersToRemove is zero, this operation is like an insert.
+ * If the @p numberOfCharactersToInsert is zero, this operation is like a remove.
+ *
+ * @param[in,out] model The text's logical model.
+ * @param[in] characterIndex Index to the first character.
+ * @param[in] numberOfCharactersToRemove The number of characters removed from the text.
+ * @param[in] numberOfCharactersToInsert The number of characters inserted in the text.
+ */
+void ReplaceBidirectionalInfo( LogicalModel& model,
+                               CharacterIndex characterIndex,
+                               Length numberOfCharactersToRemove,
+                               Length numberOfCharactersToInsert );
+
+/**
  * Sets the visual to logical and logical to visual map tables.
  *
  * Any map tables previously set are removed.
@@ -63,6 +82,28 @@ void ReorderLines( const Vector<BidirectionalParagraphInfoRun>& bidirectionalInf
                    const Vector<CharacterRun>& lineRuns,
                    Vector<BidirectionalLineInfoRun>& lineInfoRuns );
 
+/**
+ * Replaces the visual to logical and logical to visual map tables.
+ *
+ * @pre The @p logicalModel needs to have a text set.
+ * @pre The @p logicalModel needs to have the line break info set.
+ * @pre The @p visualModel needs to have the laid-out lines info set.
+ *
+ * If the @p numberOfCharactersToRemove is zero, this operation is like an insert.
+ * If the @p numberOfCharactersToInsert is zero, this operation is like a remove.
+ *
+ * @param[in,out] logicalModel The text's logical model.
+ * @param[in] visualModel The text's visual model.
+ * @param[in] characterIndex Index to the first character.
+ * @param[in] numberOfCharactersToRemove The number of characters removed from the text.
+ * @param[in] numberOfCharactersToInsert The number of characters inserted in the text.
+ */
+void ReorderLines( LogicalModel& logicalModel,
+                   const VisualModel& visualModel,
+                   CharacterIndex characterIndex,
+                   Length numberOfCharactersToRemove,
+                   Length numberOfCharactersToInsert );
+
 } // namespace Text
 
 } // namespace Toolkit