X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Ftext%2Ftext-visual.h;h=765b9bfa2bf46906e02991b822ad8975a1fcf6dc;hb=71f0932efe2c993f7866949767019d170ced9938;hp=31353b92d444a2ba78a15a52fe18ee75cabf6539;hpb=e736965a2c6ab2dd3dab41645c856e85387266cb;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/text/text-visual.h b/dali-toolkit/internal/visuals/text/text-visual.h index 31353b9..765b9bf 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.h +++ b/dali-toolkit/internal/visuals/text/text-visual.h @@ -20,6 +20,7 @@ // EXTERNAL INCLUDES #include +#include // INTERNAL INCLUDES #include @@ -113,6 +114,15 @@ public: GetVisualObject( visual ).mRendererUpdateNeeded = true; }; + /** + * @brief Instantly updates the renderer + * @param[in] visual The text visual. + */ + static void UpdateRenderer( Toolkit::Visual::Base visual ) + { + GetVisualObject( visual ).UpdateRenderer(); + }; + public: // from Visual::Base /** @@ -192,11 +202,22 @@ private: void RemoveTextureSet(); /** + * Get the texture of the text for rendering. + * @param[in] size The texture size. + * @param[in] hasMultipleTextColors Whether the text contains multiple colors. + * @param[in] containsEmoji Whether the text contains emoji. + * @param[in] styleEnabled Whether the text contains any styles (e.g. shadow, underline, etc.). + */ + TextureSet GetTextTexture( const Vector2& size, bool hasMultipleTextColors, bool containsEmoji, bool styleEnabled ); + + /** * Get the text rendering shader. * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object - * @param[in] isRgbaTexture Whether the texture is in RGBA format. + * @param[in] hasMultipleTextColors Whether the text contains multiple colors. + * @param[in] containsEmoji Whether the text contains emoji. + * @param[in] styleEnabled Whether the text contains any styles (e.g. shadow, underline, etc.). */ - Shader GetTextShader( VisualFactoryCache& factoryCache, bool isRgbaTexture ); + Shader GetTextShader( VisualFactoryCache& factoryCache, bool hasMultipleTextColors, bool containsEmoji, bool styleEnabled ); /** * @brief Retrieve the text's controller. @@ -209,6 +230,24 @@ private: }; private: + + /** + * Used as an alternative to boolean so that it is obvious whether the text contains single or multiple text colors, and emoji and styles. + */ + struct TextType + { + enum Type + { + SINGLE_COLOR_TEXT = 0, ///< The text contains single color only. + MULTI_COLOR_TEXT = 1, ///< The text contains multiple colors. + NO_EMOJI = 0, ///< The text contains no emoji. + HAS_EMOJI = 1, ///< The text contains emoji. + NO_STYLES = 0, ///< The text contains contains no styles. + HAS_SYLES = 1 ///< The text contains contains styles. + }; + }; + +private: Text::ControllerPtr mController; ///< The text's controller. Text::TypesetterPtr mTypesetter; ///< The text's typesetter. WeakHandle mControl; ///< The control where the renderer is added.