#define DALI_TOOLKIT_TEXT_VIEW_H
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 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.
*
*/
+// EXTERNAL INCLUDES
+#include <dali/devel-api/text-abstraction/font-client.h>
+
// 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>
virtual ~View();
/**
+ * @brief Set the font client.
+ *
+ * @param[in] fontClient The font client used by the View.
+ */
+ void SetFontClient(TextAbstraction::FontClient& fontClient);
+
+ /**
* @brief Set the visual model.
*
* @param[in] visualModel The visual model used by the View.
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;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetColors()
*/
- const Vector4* const GetColors() const override;
+ const Vector4* GetColors() const override;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetColorIndices()
*/
- const ColorIndex* const GetColorIndices() const override;
+ const ColorIndex* GetColorIndices() const override;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetBackgroundColors()
*/
- const Vector4* const GetBackgroundColors() const override;
+ const Vector4* GetBackgroundColors() const override;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetBackgroundColorIndices()
*/
- const ColorIndex* const GetBackgroundColorIndices() const override;
+ const ColorIndex* GetBackgroundColorIndices() const override;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::IsMarkupBackgroundColorSet()
*/
- bool const IsMarkupBackgroundColorSet() const;
+ bool IsMarkupBackgroundColorSet() const;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetTextColor()
bool IsUnderlineEnabled() const override;
/**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::IsMarkupUnderlineSet()
+ */
+ bool 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::GetOutlineOffset()
+ */
+ const Vector2& GetOutlineOffset() const override;
/**
* @copydoc Dali::Toolkit::Text::ViewInterface::GetOutlineColor()
bool IsStrikethroughEnabled() const override;
/**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::IsMarkupStrikethroughSet()
+ */
+ bool 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::GetCharacterSpacing()
+ */
+ 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;
+
+ /**
+ * @copydoc Dali::Toolkit::Text::ViewInterface::IsCutoutEnabled()
+ */
+ bool IsCutoutEnabled() const override;
+
private:
// Undefined
View(const View& handle);