#include <dali-toolkit/internal/text/color-run.h>
#include <dali-toolkit/internal/text/line-run.h>
+// DEVEL INCLUDES
+#include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
+
namespace Dali
{
namespace Toolkit
{
namespace Text
{
+struct HyphenInfo
+{
+ Vector<GlyphInfo> glyph;
+ Vector<Vector2> position;
+ Vector<Length> index;
+};
+
class VisualModel;
typedef IntrusivePtr<VisualModel> VisualModelPtr;
*/
bool IsMarkupProcessorEnabled() const;
+ /**
+ * @brief Sets ellipsis position
+ * @param[in] ellipsisPosition The ellipsis position for the text
+ */
+ void SetEllipsisPosition(Toolkit::DevelText::EllipsisPosition::Type ellipsisPosition);
+
+ /**
+ * @brief Retrieves ellipsis position for text.
+ *
+ * @return The ellipsis position.
+ */
+ Toolkit::DevelText::EllipsisPosition::Type GetEllipsisPosition() const;
+
+ /**
+ * @brief Enable or disable the text elide.
+ *
+ * @param[in] enabled Whether to enable the text elide.
+ */
+ void SetTextElideEnabled(bool enabled);
+
+ /**
+ * @brief Whether the text elide property is enabled.
+ *
+ * @return @e true if the text elide property is enabled, @e false otherwise.
+ */
+ bool IsTextElideEnabled() const;
+
+ /**
+ * @brief Sets the start index of laid-out glyphs.
+ *
+ * @param[in] startIndexOfElidedGlyphs The start index of laid-out glyphs.
+ */
+ void SetStartIndexOfElidedGlyphs(GlyphIndex startIndexOfElidedGlyphs);
+
+ /**
+ * @brief Sets the end index of elided glyphs.
+ *
+ * @param[in] endIndexOfElidedGlyphs The end index of elided glyphs.
+ */
+ void SetEndIndexOfElidedGlyphs(GlyphIndex endIndexOfElidedGlyphs);
+
+ /**
+ * @brief Sets the first middle index of elided glyphs, index before ellipsis of middle.
+ *
+ * @param[in] firstMiddleIndexOfElidedGlyphs The first middle index of elided glyphs, index before ellipsis of middle.
+ */
+ void SetFirstMiddleIndexOfElidedGlyphs(GlyphIndex firstMiddleIndexOfElidedGlyphs);
+
+ /**
+ * @brief Sets the second middle index of elided glyphs, index of ellipsis of middle.
+ *
+ * @param[in] secondMiddleIndexOfElidedGlyphs The second middle index of elided glyphs, index of ellipsis of middle.
+ */
+ void SetSecondMiddleIndexOfElidedGlyphs(GlyphIndex secondMiddleIndexOfElidedGlyphs);
+
+ /**
+ * @brief Retrieves the start index of laid-out glyphs.
+ *
+ * @return The start index of laid-out glyphs.
+ */
+ GlyphIndex GetStartIndexOfElidedGlyphs() const;
+
+ /**
+ * @brief Retrieves the end index of laid-out glyphs.
+ *
+ * @return The end index of laid-out glyphs.
+ */
+ GlyphIndex GetEndIndexOfElidedGlyphs() const;
+
+ /**
+ * @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.
+ */
+ GlyphIndex GetFirstMiddleIndexOfElidedGlyphs() const;
+
+ /**
+ * @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.
+ */
+ GlyphIndex GetSecondMiddleIndexOfElidedGlyphs() const;
+
protected:
/**
* @brief A reference counted object may only be deleted by calling Unreference().
// Caches to increase performance in some consecutive operations.
LineIndex mCachedLineIndex; ///< Used to increase performance in consecutive calls to GetLineOfGlyph() or GetLineOfCharacter() with consecutive glyphs or characters.
+ DevelText::EllipsisPosition::Type mEllipsisPosition; ///< Where is the location the text elide
+ GlyphIndex mStartIndexOfElidedGlyphs; ///< The start index of elided glyphs.
+ GlyphIndex mEndIndexOfElidedGlyphs; ///< The end index of elided glyphs.
+ GlyphIndex mFirstMiddleIndexOfElidedGlyphs; ///< The first end index of elided glyphs, index before ellipsis of middle.
+ GlyphIndex mSecondMiddleIndexOfElidedGlyphs; ///< The first end index of elided glyphs, index of ellipsis of middle.
+ bool mTextElideEnabled : 1; ///< Whether the text's elide is enabled.
+
public:
- bool mUnderlineEnabled : 1; ///< Underline enabled flag
- bool mUnderlineColorSet : 1; ///< Has the underline color been explicitly set?
- bool mBackgroundEnabled : 1; ///< Background enabled flag
- bool mMarkupProcessorEnabled : 1; ///< Markup-processor enabled flag
+ bool mUnderlineEnabled : 1; ///< Underline enabled flag
+ bool mUnderlineColorSet : 1; ///< Has the underline color been explicitly set?
+ bool mBackgroundEnabled : 1; ///< Background enabled flag
+ bool mMarkupProcessorEnabled : 1; ///< Markup-processor enabled flag
+ HyphenInfo mHyphen; ///< Contains hyphen glyph info & the character index to draw hyphen after.
};
} // namespace Text