X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fcontroller%2Ftext-controller.h;h=b8ff325264a6ad0e9ee15dfa213ee3078c772941;hb=HEAD;hp=7612b2d1214287994123c2cc8366f03b51386ef6;hpb=d391345fc61ca3a2fc05d86c8e1dce0550ff360c;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/controller/text-controller.h b/dali-toolkit/internal/text/controller/text-controller.h index 7612b2d..20ad0f0 100644 --- a/dali-toolkit/internal/text/controller/text-controller.h +++ b/dali-toolkit/internal/text/controller/text-controller.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_TEXT_CONTROLLER_H /* - * Copyright (c) 2023 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. @@ -22,6 +22,7 @@ #include #include #include +#include #include // INTERNAL INCLUDES @@ -70,7 +71,12 @@ typedef IntrusivePtr ControllerPtr; * * The text selection popup button callbacks are as well handled via the TextSelectionPopupCallbackInterface interface. */ -class Controller : public RefObject, public Decorator::ControllerInterface, public TextSelectionPopupCallbackInterface, public HiddenText::Observer, public ConnectionTracker +class Controller : public RefObject, + public Decorator::ControllerInterface, + public TextSelectionPopupCallbackInterface, + public HiddenText::Observer, + public ConnectionTracker, + public Integration::Processor { public: // Enumerated types. /** @@ -1274,6 +1280,20 @@ public: // Default style & Input style float GetDashedUnderlineGap() const; /** + * @brief Set the outline offset. + * + * @param[in] outlineOffset The outline offset. + */ + void SetOutlineOffset(const Vector2& outlineOffset); + + /** + * @brief Retrieve the outline offset. + * + * @return The outline offset. + */ + const Vector2& GetOutlineOffset() const; + + /** * @brief Set the outline color. * * @param[in] color color of outline. @@ -1302,6 +1322,20 @@ public: // Default style & Input style uint16_t GetOutlineWidth() const; /** + * @brief Set the outline blur radius. + * + * @param[in] outlineBlurRadius The outline blur radius, 0,0 indicates no blur. + */ + void SetOutlineBlurRadius(const float& outlineBlurRadius); + + /** + * @brief Retrieve the outline blur radius. + * + * @return The outline blur radius. + */ + const float& GetOutlineBlurRadius() const; + + /** * @brief Set the background color. * * @param[in] color color of background. @@ -1498,8 +1532,9 @@ public: // Default style & Input style * @brief Sets the input font's point size. * * @param[in] size The input font's point size. + * @param[in] defaultFontSizeUpdated True If the default font size is updated and sets the input point size, false otherwise. */ - void SetInputFontPointSize(float size); + void SetInputFontPointSize(float size, bool defaultFontSizeUpdated = false); /** * @brief Retrieves the input font's point size. @@ -1634,6 +1669,41 @@ public: // Default style & Input style */ const float GetCharacterSpacing() const; + /** + * @brief Sets the visual transform offset. + * + * @param[in] offset The offset. + */ + void SetVisualTransformOffset(Vector2 offset); + + /** + * @brief Sets whether background color with cutout is enabled. + * + * @param[in] enable True if enabled. + */ + void SetBackgroundWithCutoutEnabled(bool enable); + + /** + * @brief Whether background color with cutout is enabled. + * + * @return True if enabled. + */ + bool IsBackgroundWithCutoutEnabled() const; + + /** + * @brief Sets whether background color with cutout. + * + * @param[in] color The color to set. + */ + void SetBackgroundColorWithCutout(const Vector4& color); + + /** + * @brief Retrieves background color with cutout. + * + * @return The color. + */ + const Vector4 GetBackgroundColorWithCutout() const; + public: // Queries & retrieves. /** * @brief Return the layout engine. @@ -1786,6 +1856,42 @@ public: // Queries & retrieves. void SetIgnoreSpacesAfterText(bool ignore); /** + * @brief Retrieves removeFrontInset value from model + * @return The value of removeFrontInset + */ + bool IsRemoveFrontInset() const; + + /** + * @brief Sets removeFrontInset value to model + * @param[in] remove The value of removeFrontInset for the text + */ + void SetRemoveFrontInset(bool remove); + + /** + * @brief Retrieves removeBackInset value from model + * @return The value of removeBackInset + */ + bool IsRemoveBackInset() const; + + /** + * @brief Sets removeBackInset value to model + * @param[in] remove The value of removeBackInset for the text + */ + void SetRemoveBackInset(bool remove); + + /** + * @brief Retrieves cutout value to model + * @return The value of cutout for the text + */ + bool IsTextCutout() const; + + /** + * @brief Sets cutout value to model + * @param[in] cutout The value of cutout for the text + */ + void SetTextCutout(bool cutout); + + /** * @brief Sets SetMatchLayoutDirection value to model * @param[in] match The value of matchLayoutDirection for the text */ @@ -1875,6 +1981,11 @@ public: // Queries & retrieves. void ChangedLayoutDirection(); /** + * @brief Clear font and style data. + */ + void ResetFontAndStyleData(); + + /** * @brief Retrieves if showing real text or not. * @return The value of showing real text. */ @@ -1904,12 +2015,22 @@ public: // Input style change signals. bool IsInputStyleChangedSignalsQueueEmpty(); /** - * @brief Process all pending input style changed signals. + * @brief Request process all pending input style changed signals. * - * Calls the Text::ControlInterface::InputStyleChanged() method which is overriden by the + * Request to calls the Text::ControlInterface::InputStyleChanged() method which is overriden by the * text controls. Text controls may send signals to state the input style has changed. + * + * The signal will be execute next idle time, or skip if we fail to add idler. + */ + void RequestProcessInputStyleChangedSignals(); + +private: + /** + * @brief Callbacks called on idle. + * + * If there are notifications of change of input style on the queue, Toolkit::TextField::InputStyleChangedSignal() are emitted. */ - void ProcessInputStyleChangedSignals(); + void OnIdleSignal(); public: // Text-input Event Queuing. /** @@ -2156,6 +2277,20 @@ protected: // Inherit from HiddenText. */ void DisplayTimeExpired() override; +protected: // Inherit from Integration::Processor + /** + * @copydoc Dali::Integration::Processor::Process() + */ + void Process(bool postProcess) override; + + /** + * @copydoc Dali::Integration::Processor::GetProcessorName() + */ + std::string_view GetProcessorName() const override + { + return "Text::Controller"; + } + private: // Private contructors & copy operator. /** * @brief Private constructor.