void GetPlaceholderText( std::string& text ) const;
/**
+ * @brief Sets the maximum number of characters that can be inserted into the TextModel
+ *
+ * @param[in] maxCharacters maximum number of characters to be accepted
+ */
+ void SetMaximumNumberOfCharacters( int maxCharacters );
+
+ /**
+ * @brief Sets the maximum number of characters that can be inserted into the TextModel
+ *
+ * @param[in] maxCharacters maximum number of characters to be accepted
+ */
+ int GetMaximumNumberOfCharacters();
+
+ /**
* @brief Set the default font family.
*
* @param[in] defaultFontFamily The default font family.
* @param[out] fonts The default font family, style and point sizes.
* @param[in] numberOfCharacters The number of characters in the logical model.
*/
- void GetDefaultFonts( Dali::Vector<FontRun>& fonts, Length numberOfCharacters );
+ void GetDefaultFonts( Dali::Vector<FontRun>& fonts, Length numberOfCharacters ) const;
+
+ /**
+ * @brief Set the text color
+ *
+ * @param textColor The text color
+ */
+ void SetTextColor( const Vector4& textColor );
+
+ /**
+ * @brief Retrieve the text color
+ *
+ * @return The text color
+ */
+ const Vector4& GetTextColor() const;
/**
* @brief Set the shadow offset.
*
* @param[in] shadowOffset The shadow offset, 0,0 indicates no shadow.
*/
- void SetShadowOffset( const Vector2& shadowOffset );
+ void SetShadowOffset( const Vector2& shadowOffset );
/**
* @brief Retrieve the shadow offset.
*
* @return The shadow offset.
*/
- const Vector2& GetShadowOffset() const;
+ const Vector2& GetShadowOffset() const;
/**
* @brief Set the shadow color.
*
* @param[in] shadowColor The shadow color.
*/
- void SetShadowColor( const Vector4& shadowColor );
+ void SetShadowColor( const Vector4& shadowColor );
/**
* @brief Retrieve the shadow color.
*
* @return The shadow color.
*/
- const Vector4& GetShadowColor() const;
+ const Vector4& GetShadowColor() const;
+
+ /**
+ * @brief Set the underline color.
+ *
+ * @param[in] color color of underline.
+ */
+ void SetUnderlineColor( const Vector4& color );
+
+ /**
+ * @brief Retrieve the underline color.
+ *
+ * @return The underline color.
+ */
+ const Vector4& GetUnderlineColor() const;
+
+ /**
+ * @brief Set the underline enabled flag.
+ *
+ * @param[in] enabled The underline enabled flag.
+ */
+ void SetUnderlineEnabled( bool enabled );
+
+ /**
+ * @brief Returns whether the text is underlined or not.
+ *
+ * @return The underline state.
+ */
+ bool IsUnderlineEnabled() const;
+
+ /**
+ * @brief Set the override used for underline height, 0 indicates height will be supplied by font metrics
+ *
+ * @param[in] height The height in pixels of the underline
+ */
+ void SetUnderlineHeight( float height );
+
+ /**
+ * @brief Retrieves the override height of an underline, 0 indicates height is supplied by font metrics
+ *
+ * @return The height of the underline, or 0 if height is not overrided.
+ */
+ float GetUnderlineHeight() const;
/**
* @brief Called to enable text input.
void PanEvent( Gesture::State state, const Vector2& displacement );
/**
- * @copydoc Dali::Toolkit::Text::Decorator::Observer::GrabHandleEvent()
+ * @copydoc Dali::Toolkit::Text::Decorator::Observer::HandleEvent()
*/
- virtual void GrabHandleEvent( GrabHandleState state, float x, float y );
+ virtual void HandleEvent( HandleType handle, HandleState state, float x, float y );
protected:
private:
/**
- * @brief Request a relayout using the ControlInterface.
- */
- void RequestRelayout();
-
- /**
* @brief Private constructor.
*/
Controller( ControlInterface& controlInterface );
struct Impl;
Impl* mImpl;
-
- // Avoid allocating this when the user does not specify a font
- struct FontDefaults;
-
- // Avoid allocating this for non-editable controls
- struct TextInput;
};
} // namespace Text