From 74823f7eeaab6369be99032467f30465503de51d Mon Sep 17 00:00:00 2001 From: Victor Cebollada Date: Thu, 15 Jan 2015 17:11:22 +0000 Subject: [PATCH] Text segmentation interface Change-Id: Ic886d7192f6552f8a16c4722cf516c2082c3d0ac Signed-off-by: Victor Cebollada --- dali-toolkit/public-api/text/segmentation.cpp | 14 ++++++++++ dali-toolkit/public-api/text/segmentation.h | 38 +++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/dali-toolkit/public-api/text/segmentation.cpp b/dali-toolkit/public-api/text/segmentation.cpp index db4e7ae..91a2e5d 100644 --- a/dali-toolkit/public-api/text/segmentation.cpp +++ b/dali-toolkit/public-api/text/segmentation.cpp @@ -48,6 +48,13 @@ void SetLineBreakInfo( const Vector& text, lineBreakInfo.Begin() ); } +void ReplaceLineBreakInfo( LogicalModel& model, + CharacterIndex characterIndex, + Length numberOfCharactersToRemove, + Length numberOfCharactersToInsert ) +{ +} + void SetWordBreakInfo( const Vector& text, Vector& wordBreakInfo ) { @@ -66,6 +73,13 @@ void SetWordBreakInfo( const Vector& text, wordBreakInfo.Begin() ); } +void ReplaceWordBreakInfo( LogicalModel& model, + CharacterIndex characterIndex, + Length numberOfCharactersToRemove, + Length numberOfCharactersToInsert ) +{ +} + } // namespace Text } // namespace Toolkit diff --git a/dali-toolkit/public-api/text/segmentation.h b/dali-toolkit/public-api/text/segmentation.h index fa95ff9..1c0c489 100644 --- a/dali-toolkit/public-api/text/segmentation.h +++ b/dali-toolkit/public-api/text/segmentation.h @@ -31,6 +31,8 @@ namespace Toolkit namespace Text { +class LogicalModel; + /** * Sets line break info. * @@ -47,6 +49,24 @@ void SetLineBreakInfo( const Vector& text, Vector& lineBreakInfo ); /** + * Replaces line break info. + * + * @pre The @p model needs to have a text 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 ReplaceLineBreakInfo( LogicalModel& model, + CharacterIndex characterIndex, + Length numberOfCharactersToRemove, + Length numberOfCharactersToInsert ); + +/** * Sets word break info. * * - 0 is a WORD_BREAK. Text can be broken into a new word. @@ -58,6 +78,24 @@ void SetLineBreakInfo( const Vector& text, void SetWordBreakInfo( const Vector& text, Vector& wordBreakInfo ); +/** + * Replaces word break info. + * + * @pre The @p model needs to have a text 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 ReplaceWordBreakInfo( LogicalModel& model, + CharacterIndex characterIndex, + Length numberOfCharactersToRemove, + Length numberOfCharactersToInsert ); + } // namespace Text } // namespace Toolkit -- 2.7.4