X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-view-interface.h;h=eaa191dfbee385d2d794c94fe91b1d1a241eb167;hp=55e4aca86f9cc1e1381a229c69cc6682cb2f63dc;hb=c3f9162ab11786380e2ec9c55f217c2daf7722e8;hpb=061df6115632f504e42ebdf8c4aa8a0d8010b341 diff --git a/dali-toolkit/internal/text/text-view-interface.h b/dali-toolkit/internal/text/text-view-interface.h index 55e4aca..eaa191d 100644 --- a/dali-toolkit/internal/text/text-view-interface.h +++ b/dali-toolkit/internal/text/text-view-interface.h @@ -18,9 +18,6 @@ * */ -// EXTERNAL INCLUDES -#include - // INTERNAL INCLUDES #include @@ -28,6 +25,7 @@ namespace Dali { struct Vector2; +struct Vector4; namespace Toolkit { @@ -35,10 +33,10 @@ namespace Toolkit namespace Text { -struct LineRun; +struct GlyphRun; /** - * @brief Abstract interface to provide the information necessary displaying text. + * @brief Abstract interface to provide the information necessary to display text. * * This includes: * - The font & glyph IDs needed to get bitmaps etc. from TextAbstraction @@ -62,11 +60,19 @@ public: /** * @brief Retrieves the target size of the UI control. * - * @return The text's size. + * @return The control's size. */ virtual const Vector2& GetControlSize() const = 0; /** + * @brief Retrieves the text's layout size. + * + * @return The text's size. Note that this may be larger than the control size, + * in the case where text is scrolling/clipped. + */ + virtual const Vector2& GetLayoutSize() const = 0; + + /** * Retrieves the number of glyphs. * * @return The number of glyphs. @@ -80,7 +86,7 @@ public: * @note The returned number of glyphs may be less than @p numberOfGlyphs if a line has ellipsis. * * @param[out] glyphs Pointer to a buffer where the glyphs are copied. - * @param[out] glyphPositions Pointer to a buffer where the glyph positions are copied. + * @param[out] glyphPositions Pointer to a buffer where the glyph's positions are copied. * @param[in] glyphIndex Index to the first glyph. * @param[in] numberOfGlyphs Number of glyphs to be copied. * @@ -92,6 +98,20 @@ public: Length numberOfGlyphs ) const = 0; /** + * @brief Retrieves the vector of colors. + * + * @return Pointer to the vector of colors. + */ + virtual const Vector4* const GetColors() const = 0; + + /** + * @brief Retrieves the vector of indices to the vector of colors. + * + * @return Pointer to a vector which stores for each glyph the index to the vector of colors. + */ + virtual const ColorIndex* const GetColorIndices() const = 0; + + /** * @brief Retrieves the text color * * @return The text color @@ -133,6 +153,23 @@ public: */ virtual float GetUnderlineHeight() const = 0; + /** + * @brief Retrieves the number of underline runs. + * + * @return The number of underline runs. + */ + virtual Length GetNumberOfUnderlineRuns() const = 0; + + /** + * @brief Retrieves the underline runs. + * + * @param[out] underlineRuns Pointer to a buffer where the underline runs are copied. + * @param[in] index Index of the first underline run to be copied. + * @param[in] numberOfRuns Number of underline runs to be copied. + */ + virtual void GetUnderlineRuns( GlyphRun* underlineRuns, + UnderlineRunIndex index, + Length numberOfRuns ) const = 0; }; } // namespace Text