X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fmulti-language-support.h;h=7423820666e2f1af211578592fcd3f6952cf1bf5;hb=75fe6c4a2f784bd52ccf8eb16049317825338a6e;hp=b70f6722e8d0c496e190fde3e25d6a0105dd5a90;hpb=3e17d9f63dedb5d669409301f8d9a3d8c393f979;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/multi-language-support.h b/dali-toolkit/internal/text/multi-language-support.h index b70f672..7423820 100644 --- a/dali-toolkit/internal/text/multi-language-support.h +++ b/dali-toolkit/internal/text/multi-language-support.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_TEXT_MULTI_LANGUAGE_SUPPORT_H__ -#define __DALI_TOOLKIT_TEXT_MULTI_LANGUAGE_SUPPORT_H__ +#ifndef DALI_TOOLKIT_TEXT_MULTI_LANGUAGE_SUPPORT_H +#define DALI_TOOLKIT_TEXT_MULTI_LANGUAGE_SUPPORT_H /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -23,26 +23,21 @@ #include // INTERNAL INCLUDES +#include #include #include namespace Dali { - namespace Toolkit { - namespace Text { - namespace Internal DALI_INTERNAL { - class MultilanguageSupport; -} // Internal - -class LogicalModel; +} // namespace DALI_INTERNAL /** * @brief Sets the character's scripts to the model and validates the fonts set by the user or assigns default ones. @@ -50,7 +45,6 @@ class LogicalModel; class MultilanguageSupport : public BaseHandle { public: - /** * @brief Create an uninitialized MultilanguageSupport handle. */ @@ -68,7 +62,7 @@ public: * * @param[in] implementation A pointer to the internal multi-language support object. */ - explicit DALI_INTERNAL MultilanguageSupport( Internal::MultilanguageSupport* implementation ); + explicit DALI_INTERNAL MultilanguageSupport(Internal::MultilanguageSupport* implementation); /** * @brief Retrieve a handle to the MultilanguageSupport instance. @@ -91,36 +85,18 @@ public: * script of the first character of the paragraph with a defined script. * * @param[in] text Vector of UTF-32 characters. - * @param[in] lineBreakInfo Vector with the line break info. + * @param[in] startIndex The character from where the script info is set. + * @param[in] numberOfCharacters The number of characters to set the script. * @param[out] scripts Vector containing the script runs for the whole text. */ - void SetScripts( const Vector& text, - const Vector& lineBreakInfo, - Vector& scripts ); - - /** - * Replaces the scrips of the given range of characters. - * - * @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 ReplaceScripts( LogicalModel& model, - CharacterIndex characterIndex, - Length numberOfCharactersToRemove, - Length numberOfCharactersToInsert ); + void SetScripts(const Vector& text, + CharacterIndex startIndex, + Length numberOfCharacters, + Vector& scripts); /** * @brief Validates the character's font of the whole text. * - * It may update fonts set by application developers. - * * This method ensures all characters are going to be rendered using an appropriate font. Provided a valid font * exists in the platform. * @@ -131,33 +107,21 @@ public: * * @param[in] text Vector of UTF-32 characters. * @param[in] scripts Vector containing the script runs for the whole text. - * @param[in,out] fonts Initially contains the fonts set by the application developers. Returns the validated fonts. - */ - void ValidateFonts( const Vector& text, - const Vector& scripts, - Vector& fonts ); - - /** - * Validates the character's font of the given range of characters. - * - * It may update fonts set by the mark-up processor. - * It sets default fonts based on the script to those characters without a font set. - * - * @pre The @p model needs to have a text set. - * @pre The @p model needs to have the scripts 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. + * @param[in] fontDescriptions The fonts set through the mark-up string or the input style set through the property system. + * @param[in] defaultFontDescription The default font's description set through the property system. + * @param[in] defaultFontPointSize The default font's point size set through the property system. + * @param[in] startIndex The character from where the font info is set. + * @param[in] numberOfCharacters The number of characters to set the font. + * @param[out] fonts The validated fonts. */ - void ValidateFonts( LogicalModel& model, - CharacterIndex characterIndex, - Length numberOfCharactersToRemove, - Length numberOfCharactersToInsert ); + void ValidateFonts(const Vector& text, + const Vector& scripts, + const Vector& fontDescriptions, + const TextAbstraction::FontDescription& defaultFontDescription, + TextAbstraction::PointSize26Dot6 defaultFontPointSize, + CharacterIndex startIndex, + Length numberOfCharacters, + Vector& fonts); }; } // namespace Text @@ -166,4 +130,4 @@ public: } // namespace Dali -#endif // __DALI_TOOLKIT_TEXT_MULTI_LANGUAGE_SUPPORT_H__ +#endif // DALI_TOOLKIT_TEXT_MULTI_LANGUAGE_SUPPORT_H