X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Fdali-toolkit-test-utils%2Ftoolkit-text-utils.h;h=b064bfa3877055cd325bf340dc0426f40fc917fe;hb=HEAD;hp=8ba73068fadf0bfc815a02b8ca5bb8020544a8fd;hpb=4ea37f8863638b8ed605b7135797ce4597e00210;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/toolkit-text-utils.h b/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/toolkit-text-utils.h index 8ba7306..b064bfa 100644 --- a/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/toolkit-text-utils.h +++ b/automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/toolkit-text-utils.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_TEXT_UTILS_H__ -#define __DALI_TOOLKIT_TEXT_UTILS_H__ +#ifndef DALI_TOOLKIT_TEXT_UTILS_H +#define DALI_TOOLKIT_TEXT_UTILS_H /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -19,32 +19,27 @@ */ // INTERNAL INCLUDES -#include #include -#include -#include +#include +#include namespace Dali { - namespace Toolkit { - namespace Text { - /** * @brief Some layout options. */ struct LayoutOptions { LayoutOptions() - : reorder( true ), - align( true ) - {} + : align{true} + { + } - bool reorder : 1; ///< Whether to reorder the bidirectional lines. - bool align : 1; ///< Whether to align the lines. + bool align : 1; ///< Whether to align the lines. }; /** @@ -56,41 +51,79 @@ struct LayoutOptions * @param[in] fontDescriptions The fonts to be used. * @param[in] options Layout options. * @param[out] layoutSize The laid-out size. - * @param[out] logicalModel Pointer to a logical text model instance. - * @param[out] visualModel Pointer to a visual text model instance. + * @param[out] textModel Pointer to a text model instance. * @param[out] metrics Pointer to a wrapper around FontClient used to get metrics. * @param[in] markupProcessorEnabled Enable markup processor to use markup text. + * @param[in] wrapMode Line wrap mode. + * @param[in] ellipsisEnabled Whether the ellipsis layout option is enabled. + * @param[in] ellipsisPosition Where is the location the text elide. + * @param[in] lineSpacing The height of the line in points. + * @param[in] characterSpacing The spacing between the characters. */ -void CreateTextModel( const std::string& text, - const Size& textArea, - const Vector& fontDescriptions, - const LayoutOptions& options, - Size& layoutSize, - LogicalModelPtr& logicalModel, - VisualModelPtr& visualModel, - MetricsPtr& metrics, - bool markupProcessorEnabled ); +void CreateTextModel(const std::string& text, + const Size& textArea, + const Vector& fontDescriptions, + const LayoutOptions& options, + Size& layoutSize, + ModelPtr& textModel, + MetricsPtr& metrics, + bool markupProcessorEnabled, + LineWrap::Mode wrapMode, + bool ellipsisEnabled, + DevelText::EllipsisPosition::Type ellipsisPosition, + float lineSpacing, + float characterSpacing); /** * @brief Configures the text @p controller similarly to the one configured by the text-label. * * @param[in,out] The text controller to configure. */ -void ConfigureTextLabel( ControllerPtr controller ); +void ConfigureTextLabel(ControllerPtr controller); /** * @brief Configures the text @p controller similarly to the one configured by the text-field. * * @param[in,out] The text controller to configure. */ -void ConfigureTextField( ControllerPtr controller ); +void ConfigureTextField(ControllerPtr controller); /** * @brief Configures the text @p controller similarly to the one configured by the text-editor. * * @param[in,out] The text controller to configure. */ -void ConfigureTextEditor( ControllerPtr controller ); +void ConfigureTextEditor(ControllerPtr controller); + +/** + * @brief Creates one FontDescriptionRun then add it to FontDescription list. + * + * @param[in] characterRun The initial character index and the number of characters of the run. + * @param[in] fontFamilyName The font's family name. + * @param[in] weight The font's weight. + * @param[in] width The font's width. + * @param[in] slant The font's slant. + * @param[in] size Whether the font's family is defined. + * @param[in] familyDefined Whether the font's weight is defined. + * @param[in] weightDefined Whether the font's width is defined. + * @param[in] widthDefined Whether the ellipsis layout option is enabled. + * @param[in] slantDefined Whether the font's slant is defined. + * @param[in] sizeDefined Whether the font's size is defined. + +* @return vector contains one FontDescriptionRun. + */ +Vector CreateSingleFontDescription( + const CharacterRun& characterRun, + const std::string fontFamilyName, + const FontWeight weight, + const FontWidth width, + const FontSlant slant, + const PointSize26Dot6 size, + const bool familyDefined, + const bool weightDefined, + const bool widthDefined, + const bool slantDefined, + const bool sizeDefined); } // namespace Text @@ -98,4 +131,4 @@ void ConfigureTextEditor( ControllerPtr controller ); } // namespace Dali -#endif // __DALI_TOOLKIT_TEXT_UTILS_H__ +#endif // DALI_TOOLKIT_TEXT_UTILS_H