#define DALI_TOOLKIT_TEXT_VIEW_H
/*
- * Copyright (c) 2021 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.
*/
// INTERNAL INCLUDES
+#include <dali-toolkit/internal/text/bounded-paragraph-run.h>
+#include <dali-toolkit/internal/text/logical-model-impl.h>
#include <dali-toolkit/internal/text/text-view-interface.h>
#include <dali-toolkit/internal/text/visual-model-impl.h>
void SetVisualModel(VisualModelPtr visualModel);
/**
+ * @brief Set the logical model.
+ *
+ * @param[in] logicalModel The logical model used by the View.
+ */
+ void SetLogicalModel(LogicalModelPtr logicalModel);
+
+ /**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetControlSize()
*/
const Vector2& GetControlSize() const override;
bool IsUnderlineEnabled() const override;
/**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::IsMarkupUnderlineSet()
+ */
+ bool const IsMarkupUnderlineSet() const;
+
+ /**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetHyphens()
*/
const GlyphInfo* GetHyphens() const override;
float GetUnderlineHeight() const override;
/**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetUnderlineType()
+ */
+ Text::Underline::Type GetUnderlineType() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetDashedUnderlineWidth()
+ */
+ float GetDashedUnderlineWidth() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetDashedUnderlineGap()
+ */
+ float GetDashedUnderlineGap() const override;
+
+ /**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetNumberOfUnderlineRuns()
*/
Length GetNumberOfUnderlineRuns() const override;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetUnderlineRuns()
*/
- virtual void GetUnderlineRuns(GlyphRun* underlineRuns,
- UnderlineRunIndex index,
- Length numberOfRuns) const;
+ virtual void GetUnderlineRuns(UnderlinedGlyphRun* underlineRuns,
+ UnderlineRunIndex index,
+ Length numberOfRuns) const;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetOutlineColor()
*/
uint16_t GetOutlineWidth() const override;
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetEllipsisPosition()
+ */
+ DevelText::EllipsisPosition::Type GetEllipsisPosition() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::IsTextElideEnabled()
+ */
+ bool IsTextElideEnabled() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetStartIndexOfElidedGlyphs()
+ */
+ GlyphIndex GetStartIndexOfElidedGlyphs() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetEndIndexOfElidedGlyphs()
+ */
+ GlyphIndex GetEndIndexOfElidedGlyphs() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetFirstMiddleIndexOfElidedGlyphs()
+ */
+ GlyphIndex GetFirstMiddleIndexOfElidedGlyphs() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetSecondMiddleIndexOfElidedGlyphs()
+ */
+ GlyphIndex GetSecondMiddleIndexOfElidedGlyphs() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetStrikethroughColor()
+ */
+ const Vector4& GetStrikethroughColor() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::IsStrikethroughEnabled()
+ */
+ bool IsStrikethroughEnabled() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::IsMarkupStrikethroughSet()
+ */
+ bool const IsMarkupStrikethroughSet() const;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetStrikethroughHeight()
+ */
+ float GetStrikethroughHeight() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetNumberOfStrikethroughRuns()
+ */
+ Length GetNumberOfStrikethroughRuns() const;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetStrikethroughRuns()
+ */
+ void GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns,
+ StrikethroughRunIndex index,
+ Length numberOfRuns) const;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetNumberOfBoundedParagraphRuns()
+ */
+ virtual Length GetNumberOfBoundedParagraphRuns() const;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetBoundedParagraphRuns()
+ */
+ virtual const Vector<BoundedParagraphRun>& GetBoundedParagraphRuns() const;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetNumberOfCharacterSpacingGlyphRuns()
+ */
+ Length GetNumberOfCharacterSpacingGlyphRuns() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetCharacterSpacingGlyphRuns()
+ */
+ const Vector<CharacterSpacingGlyphRun>& GetCharacterSpacingGlyphRuns() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetCharacterSpacing()
+ */
+ const float GetCharacterSpacing() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetTextBuffer()
+ */
+ const Character* GetTextBuffer() const override;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::GetGlyphsToCharacters()
+ */
+ const Vector<CharacterIndex>& GetGlyphsToCharacters() const override;
+
private:
// Undefined
View(const View& handle);