#define DALI_TOOLKIT_TEXT_MODEL_INTERFACE_H
/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
// INTERNAL INCLUDES
#include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
+#include <dali-toolkit/internal/text/bounded-paragraph-run.h>
+#include <dali-toolkit/internal/text/character-spacing-glyph-run.h>
+#include <dali-toolkit/internal/text/font-description-run.h>
+#include <dali-toolkit/internal/text/font-run.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/internal/text/underlined-glyph-run.h>
#include <dali-toolkit/public-api/text/text-enumerations.h>
namespace Dali
*
* @return A pointer to the vector with the laid-out lines.
*/
- virtual const LineRun* const GetLines() const = 0;
+ virtual const LineRun* GetLines() const = 0;
/**
* @brief Retrieves the number of script runs.
*
* @return A pointer to the vector with the runs of characters with the same script..
*/
- virtual const ScriptRun* const GetScriptRuns() const = 0;
+ virtual const ScriptRun* GetScriptRuns() const = 0;
+
+ /**
+ * @brief Retrieves number of characters.
+ *
+ * @return The number of characters.
+ */
+ virtual Length GetNumberOfCharacters() const = 0;
/**
* @brief Retrieves the number of laid-out glyphs.
*
* @return A pointer to the vector with the laid-out glyphs.
*/
- virtual const GlyphInfo* const GetGlyphs() const = 0;
+ virtual const GlyphInfo* GetGlyphs() const = 0;
/**
* @brief Retrieves the text layout.
*
* @return A pointer to the vector with the positions for each glyph.
*/
- virtual const Vector2* const GetLayout() const = 0;
+ virtual const Vector2* GetLayout() const = 0;
/**
* @brief Retrieves the vector of colors.
*
* @return Pointer to the vector of colors.
*/
- virtual const Vector4* const GetColors() const = 0;
+ virtual const Vector4* GetColors() const = 0;
/**
* @brief Retrieves the vector of indices to the vector of colors.
*
* @return Pointer to a vector which stores for each glyph the index to the vector of colors.
*/
- virtual const ColorIndex* const GetColorIndices() const = 0;
+ virtual const ColorIndex* 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;
+ virtual const Vector4* 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;
+ virtual const ColorIndex* 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;
+ virtual bool IsMarkupBackgroundColorSet() const = 0;
/**
* @brief Retrieves the text's default color.
virtual bool IsUnderlineEnabled() const = 0;
/**
+ * @brief checks if there is underline set using markup.
+ *
+ * @return boolean if there is underline set using markup.
+ */
+ virtual bool IsMarkupUnderlineSet() const = 0;
+
+ /**
* @brief Retrieves the underline height override
*
* @return Returns the override height for an underline, 0 indicates that adaptor will determine the height
* @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(UnderlinedGlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const = 0;
/**
* @brief Retrieve the outline color.
virtual bool IsMarkupProcessorEnabled() const = 0;
/**
+ * @brief Retrieves whether the spanned-text is placed.
+ *
+ * By default is disabled.
+ *
+ * @return @e true if the spanned-text is placed, otherwise returns @e false.
+ */
+ virtual bool IsSpannedTextPlaced() const = 0;
+
+ /**
* @brief Returns the hyphens glyph info.
*
* @return hyphens glyph info.
virtual bool IsStrikethroughEnabled() const = 0;
/**
+ * @brief checks if there is strikethrough set using markup.
+ *
+ * @return boolean if there is strikethrough set using markup.
+ */
+ virtual bool IsMarkupStrikethroughSet() 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 Length GetNumberOfStrikethroughRuns() const = 0;
/**
+ * @brief Retrieves the number of bounded paragraph runs.
+ *
+ * @return The number of bounded paragraph runs.
+ */
+ virtual Length GetNumberOfBoundedParagraphRuns() const = 0;
+
+ /**
+ * @brief Retrieves the reference for bounded paragraph runs.
+ *
+ * @return The reference for bounded paragraph runs.
+ */
+ virtual const Vector<BoundedParagraphRun>& GetBoundedParagraphRuns() const = 0;
+
+ /**
+ * @brief Retrieves the number of character-spacing glyph runs.
+ *
+ * @return The number of character-spacing glyph runs.
+ */
+ virtual Length GetNumberOfCharacterSpacingGlyphRuns() const = 0;
+
+ /**
+ * @brief Retrieves the reference for character-spacing glyph runs.
+ *
+ * @return The reference for character-spacing glyph runs.
+ */
+ virtual const Vector<CharacterSpacingGlyphRun>& GetCharacterSpacingGlyphRuns() const = 0;
+
+ /**
* @brief Retrieves the strikethrough runs.
*
* @param[out] strikethroughRuns Pointer to a buffer where the strikethrough runs are copied.
* @param[in] numberOfRuns Number of strikethrough runs to be copied.
*/
virtual void GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns, StrikethroughRunIndex index, Length numberOfRuns) const = 0;
+
+ /**
+ * @brief Retrieves the character spacing.
+ *
+ * @note A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
+ *
+ * @return The character spacing.
+ */
+ virtual float GetCharacterSpacing() const = 0;
+
+ /**
+ * @brief Retrieves the text buffer.
+ *
+ * @return The text buffer.
+ */
+ virtual const Character* GetTextBuffer() const = 0;
+
+ /**
+ * @brief Retrieves the Glyphs to Characters Array.
+ *
+ * @return The GlyphsToCharacters.
+ */
+ virtual const Vector<CharacterIndex>& GetGlyphsToCharacters() const = 0;
+
+ /**
+ * @brief Retrieves the reference for font runs.
+ *
+ * @return The reference for font runs.
+ */
+ virtual const Vector<FontRun>& GetFontRuns() const = 0;
+
+ /**
+ * @brief Retrieves the reference for font description runs.
+ *
+ * @return The reference for font description runs.
+ */
+ virtual const Vector<FontDescriptionRun>& GetFontDescriptionRuns() const = 0;
};
} // namespace Text