X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-view-interface.h;h=56439d22584c08da5aa00c6695181d7383a08824;hb=8608d23a021ba74d1a79ee62a3fda1ef4ece09b1;hp=68d5e97e78ba7e339261bdfa8916ee52e121d2ff;hpb=cd7d41bc8e0a0816da28401207091344fbbe0b2c;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-view-interface.h b/dali-toolkit/internal/text/text-view-interface.h index 68d5e97..56439d2 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,6 +33,8 @@ namespace Toolkit namespace Text { +struct GlyphRun; + /** * @brief Abstract interface to provide the information necessary displaying text. * @@ -58,6 +58,13 @@ public: virtual ~ViewInterface(); /** + * @brief Retrieves the target size of the UI control. + * + * @return The text's size. + */ + virtual const Vector2& GetControlSize() const = 0; + + /** * Retrieves the number of glyphs. * * @return The number of glyphs. @@ -65,28 +72,22 @@ public: virtual Length GetNumberOfGlyphs() const = 0; /** - * @brief Retrieves glyphs in the given buffer. + * @brief Retrieves glyphs and positions in the given buffers. + * + * @note The size of the @p glyphs and @p glyphPositions buffers need to be big enough to copy the @p numberOfGlyphs glyphs and positions. + * @note The returned number of glyphs may be less than @p numberOfGlyphs if a line has ellipsis. * - * The size of the @p glyphs buffer needs to be big enough to copy the @p numberOfGlyphs. * @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[in] glyphIndex Index to the first glyph. * @param[in] numberOfGlyphs Number of glyphs to be copied. - */ - virtual void GetGlyphs( GlyphInfo* glyphs, - GlyphIndex glyphIndex, - Length numberOfGlyphs ) const = 0; - - /** - * @brief Retrieves the glyph positions. * - * @pre The size of the @p positions buffer needs to be big enough to copy the @p numberOfGlyphs positions. - * @param[out] glyphPositions Pointer to a buffer where the glyph positions are copied. - * @param[in] glyphIndex Index to the first glyph position. - * @param[in] numberOfGlyphs The number of positions to be copied. + * @return The number of glyphs. */ - virtual void GetGlyphPositions( Vector2* glyphPositions, - GlyphIndex glyphIndex, - Length numberOfGlyphs ) const = 0; + virtual Length GetGlyphs( GlyphInfo* glyphs, + Vector2* glyphPositions, + GlyphIndex glyphIndex, + Length numberOfGlyphs ) const = 0; /** * @brief Retrieves the text color @@ -130,6 +131,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