-#ifndef __DALI_TOOLKIT_TEXT_VISUAL_MODEL_IMPL_H__
-#define __DALI_TOOLKIT_TEXT_VISUAL_MODEL_IMPL_H__
+#ifndef DALI_TOOLKIT_TEXT_VISUAL_MODEL_IMPL_H
+#define DALI_TOOLKIT_TEXT_VISUAL_MODEL_IMPL_H
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
const Vector4& GetShadowColor() const;
/**
+ * @brief Set the shadow blur radius.
+ *
+ * @param[in] shadowBlurRadius The shadow blur radius, 0,0 indicates no blur.
+ */
+ void SetShadowBlurRadius( const float& shadowBlurRadius );
+
+ /**
+ * @brief Retrieve the shadow blur radius.
+ *
+ * @return The shadow blur radius.
+ */
+ const float& GetShadowBlurRadius() const;
+
+ /**
* @brief Sets the text's underline color.
*
* @param[in] color The text's underline color.
*/
float GetUnderlineHeight() const;
+ /**
+ * @brief Retrieves the number of underline runs.
+ *
+ * @return The number of underline runs.
+ */
+ Length GetNumberOfUnderlineRuns() const;
+
+ /**
+ * @brief Set the outline color.
+ *
+ * @param[in] color color of outline.
+ */
+ void SetOutlineColor( const Vector4& color );
+
+ /**
+ * @brief Retrieve the outline color.
+ *
+ * @return The outline color.
+ */
+ const Vector4& GetOutlineColor() const;
+
+ /**
+ * @brief Set the outline width
+ *
+ * @param[in] width The width in pixels of the outline, 0 indicates no outline
+ */
+ void SetOutlineWidth( uint16_t width );
+
+ /**
+ * @brief Retrieves the width of an outline
+ *
+ * @return The width of the outline.
+ */
+ uint16_t GetOutlineWidth() const;
+
+ /**
+ * @brief Sets the text's background color.
+ *
+ * @param[in] color The text's background color.
+ */
+ void SetBackgroundColor( const Vector4& color );
+
+ /**
+ * @brief Retrieves the text's background color.
+ *
+ * @return The text's background color.
+ */
+ const Vector4& GetBackgroundColor() const;
+
+ /**
+ * @brief Sets whether the text has a background or not.
+ *
+ * @param[in] enabled true if the text has a background.
+ */
+ void SetBackgroundEnabled( bool enabled );
+
+ /**
+ * @brief Returns whether the text has a background or not.
+ *
+ * @return whether the text has a background or not.
+ */
+ bool IsBackgroundEnabled() const;
+
protected:
/**
Vector<GlyphRun> mUnderlineRuns; ///< Runs of glyphs that are underlined.
Vector<Vector4> mColors; ///< Colors of the glyphs.
Vector<ColorIndex> mColorIndices; ///< Indices to the vector of colors for each glyphs.
+ Vector<Vector4> mBackgroundColors; ///< Background colors of the glyphs.
+ Vector<ColorIndex> mBackgroundColorIndices; ///< Indices to the vector of background colors for each glyphs.
- Vector2 mControlSize; ///< The size of the UI control the decorator is adding it's decorations to.
Vector4 mTextColor; ///< The text color
Vector4 mShadowColor; ///< Color of drop shadow
Vector4 mUnderlineColor; ///< Color of underline
+ Vector4 mOutlineColor; ///< Color of outline
+ Vector4 mBackgroundColor; ///< Color of text background
+ Size mControlSize; ///< The size of the UI control.
Vector2 mShadowOffset; ///< Offset for drop shadow, 0 indicates no shadow
float mUnderlineHeight; ///< Fixed height for underline to override font metrics.
+ float mShadowBlurRadius; ///< Blur radius of shadow, 0 indicates no blur.
+ uint16_t mOutlineWidth; ///< Width of outline.
private:
bool mUnderlineEnabled:1; ///< Underline enabled flag
bool mUnderlineColorSet:1; ///< Has the underline color been explicitly set?
-
+ bool mBackgroundEnabled:1; ///< Background enabled flag
};
} // namespace Text
} // namespace Dali
-#endif // __DALI_TOOLKIT_TEXT_VISUAL_MODEL_IMPL_H__
+#endif // DALI_TOOLKIT_TEXT_VISUAL_MODEL_IMPL_H