#define DALI_TOOLKIT_TEXT_MODEL_INTERFACE_H
/*
- * Copyright (c) 2017 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.
#include <dali/public-api/math/vector2.h>
// INTERNAL INCLUDES
-#include <dali-toolkit/internal/text/layouts/layout-alignment.h>
+#include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
#include <dali-toolkit/internal/text/line-run.h>
#include <dali-toolkit/internal/text/script-run.h>
+#include <dali-toolkit/internal/text/strikethrough-glyph-run.h>
#include <dali-toolkit/internal/text/text-definitions.h>
+#include <dali-toolkit/public-api/text/text-enumerations.h>
namespace Dali
{
-
namespace Toolkit
{
-
namespace Text
{
-
/**
* @brief Interface class used to retrieve the text's model from the text-controller.
*/
* @brief Virtual destructor.
*/
virtual ~ModelInterface()
- {}
+ {
+ }
/**
* @brief Retrives the control's size.
*
* @return The horizontal alignment.
*/
- virtual Layout::HorizontalAlignment GetHorizontalAlignment() const = 0;
+ virtual HorizontalAlignment::Type GetHorizontalAlignment() const = 0;
/**
* @brief Retrieves the text's vertical alignment.
*
* @return The vertical alignment.
*/
- virtual Layout::VerticalAlignment GetVerticalAlignment() const = 0;
+ virtual VerticalAlignment::Type GetVerticalAlignment() const = 0;
+
+ /**
+ * @brief Retrieves the text's vertical line alignment.
+ *
+ * @return The vertical line alignment.
+ */
+ virtual DevelText::VerticalLineAlignment::Type GetVerticalLineAlignment() const = 0;
+
+ /**
+ * @brief Retrieves ellipsis position for text.
+ *
+ * @return The ellipsis position.
+ */
+ virtual DevelText::EllipsisPosition::Type GetEllipsisPosition() const = 0;
/**
* @brief Whether the text elide property is enabled.
virtual Length GetNumberOfGlyphs() const = 0;
/**
+ * @brief Retrieves the start index of laid-out glyphs.
+ *
+ * @return The start index of laid-out glyphs.
+ */
+ virtual GlyphIndex GetStartIndexOfElidedGlyphs() const = 0;
+
+ /**
+ * @brief Retrieves the end index of laid-out glyphs.
+ *
+ * @return The end index of laid-out glyphs.
+ */
+ virtual GlyphIndex GetEndIndexOfElidedGlyphs() const = 0;
+
+ /**
+ * @brief Retrieves the first middle index of elided glyphs, index before ellipsis of middle.
+ *
+ * @return The first middle index of elided glyphs, index before ellipsis of middle.
+ */
+ virtual GlyphIndex GetFirstMiddleIndexOfElidedGlyphs() const = 0;
+
+ /**
+ * @brief Retrieves the second middle index of elided glyphs, index of ellipsis of middle.
+ *
+ * @return The second middle index of elided glyphs, index of ellipsis of middle.
+ */
+ virtual GlyphIndex GetSecondMiddleIndexOfElidedGlyphs() const = 0;
+
+ /**
* @brief Retrieves the laid-out glyphs.
*
* @return A pointer to the vector with the laid-out glyphs.
virtual const ColorIndex* const GetColorIndices() const = 0;
/**
+ * @brief Retrieves the vector of background colors.
+ *
+ * @return Pointer to the vector of background colors.
+ */
+ virtual const Vector4* const GetBackgroundColors() const = 0;
+
+ /**
+ * @brief Retrieves the vector of indices to the vector of background colors.
+ *
+ * @return Pointer to a vector which stores for each glyph the index to the vector of background colors.
+ */
+ virtual const ColorIndex* const GetBackgroundColorIndices() const = 0;
+
+ /**
+ * @brief checks if there is background colors set using markup.
+ *
+ * @return boolean if there is background colors set using markup .
+ */
+ virtual bool const IsMarkupBackgroundColorSet() const = 0;
+
+ /**
* @brief Retrieves the text's default color.
*
* @return The default color.
virtual const Vector4& GetShadowColor() const = 0;
/**
+ * @brief Retrieve the shadow blur radius.
+ *
+ * @return The shadow blur radius.
+ */
+ virtual const float& GetShadowBlurRadius() const = 0;
+
+ /**
* @brief Retrieves the underline color.
*
* @return The underline color.
virtual float GetUnderlineHeight() const = 0;
/**
+ * @brief Retrieves the underline type override.
+ *
+ * @return Returns the override type for an underline.
+ */
+ virtual Text::Underline::Type GetUnderlineType() const = 0;
+
+ /**
+ * @brief Retrieves the dashed underline width override
+ *
+ * @return Returns the override width for the dashed underline.
+ */
+ virtual float GetDashedUnderlineWidth() const = 0;
+
+ /**
+ * @brief Retrieves the dashed underline gap override
+ *
+ * @return Returns the override gap for the dashed underline.
+ */
+ virtual float GetDashedUnderlineGap() const = 0;
+
+ /**
* @brief Retrieves the number of underline runs.
*
* @return The number of underline runs.
* @param[in] index Index of the first underline run to be copied.
* @param[in] numberOfRuns Number of underline runs to be copied.
*/
- virtual void GetUnderlineRuns( GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns ) const = 0;
+ virtual void GetUnderlineRuns(GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const = 0;
+
+ /**
+ * @brief Retrieve the outline color.
+ *
+ * @return The outline color.
+ */
+ virtual const Vector4& GetOutlineColor() const = 0;
+
+ /**
+ * @brief Retrieves the width of an outline
+ *
+ * @return The width of the outline.
+ */
+ virtual uint16_t GetOutlineWidth() const = 0;
+
+ /**
+ * @brief Retrieves the background color.
+ *
+ * @return The background color.
+ */
+ virtual const Vector4& GetBackgroundColor() const = 0;
+
+ /**
+ * @brief Returns whether background is enabled or not.
+ *
+ * @return The background state.
+ */
+ virtual bool IsBackgroundEnabled() const = 0;
+
+ /**
+ * @brief Returns whether markup-processor is enabled or not.
+ *
+ * @return The markup-processor state.
+ */
+ virtual bool IsMarkupProcessorEnabled() const = 0;
+
+ /**
+ * @brief Returns the hyphens glyph info.
+ *
+ * @return hyphens glyph info.
+ */
+ virtual const GlyphInfo* GetHyphens() const = 0;
+
+ /**
+ * @brief Returns the indices of the hyphen in the text.
+ *
+ * @return the hyphen indices.
+ */
+ virtual const Length* GetHyphenIndices() const = 0;
+
+ /**
+ * @brief Returns number of hyphens to add in text.
+ *
+ * @return number of hyphens.
+ */
+ virtual Length GetHyphensCount() const = 0;
+
+ /**
+ * @brief Retrieves the strikethrough color.
+ *
+ * @return The strikethrough color.
+ */
+ virtual const Vector4& GetStrikethroughColor() const = 0;
+
+ /**
+ * @brief Returns whether strikethrough is enabled or not.
+ *
+ * @return The strikethrough state.
+ */
+ virtual bool IsStrikethroughEnabled() const = 0;
+
+ /**
+ * @brief Retrieves the strikethrough height override
+ *
+ * @return Returns the override height for a strikethrough, 0 indicates that adaptor will determine the height
+ */
+ virtual float GetStrikethroughHeight() const = 0;
+
+ /**
+ * @brief Retrieves the number of strikethrough runs.
+ *
+ * @return The number of strikethrough runs.
+ */
+ virtual Length GetNumberOfStrikethroughRuns() const = 0;
+
+ /**
+ * @brief Retrieves the strikethrough runs.
+ *
+ * @param[out] strikethroughRuns Pointer to a buffer where the strikethrough runs are copied.
+ * @param[in] index Index of the first strikethrough run to be copied.
+ * @param[in] numberOfRuns Number of strikethrough runs to be copied.
+ */
+ virtual void GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns, StrikethroughRunIndex index, Length numberOfRuns) const = 0;
};
} // namespace Text