X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Ftext%2Ftext-controller.h;h=25ad18996219f99167e9d271284c2b7647e89b9d;hb=8363c13a95006c0cbfe3074e9b601bdaef9537f5;hp=42ef0d6835d16ab36375a13907fc07267689d6fa;hpb=306d2f61a1b64179e801fa8a0bb2bd7b4e9dd682;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/public-api/text/text-controller.h b/dali-toolkit/public-api/text/text-controller.h index 42ef0d6..25ad189 100644 --- a/dali-toolkit/public-api/text/text-controller.h +++ b/dali-toolkit/public-api/text/text-controller.h @@ -18,12 +18,15 @@ * */ +// INTERNAL INCLUDES +#include + // EXTERNAL INCLUDES #include +#include +#include #include - -// INTERNAL INCLUDES -#include +#include namespace Dali { @@ -47,6 +50,28 @@ typedef IntrusivePtr ControllerPtr; */ class Controller : public RefObject { +private: + + /** + * @brief Text related operations to be done in the relayout process. + */ + enum OperationsMask + { + NO_OPERATION = 0x0, + CONVERT_TO_UTF32 = 0x1, + GET_SCRIPTS = 0x2, + VALIDATE_FONTS = 0x4, + GET_LINE_BREAKS = 0x8, + GET_WORD_BREAKS = 0x10, + SHAPE_TEXT = 0x20, + GET_GLYPH_METRICS = 0x40, + LAYOUT = 0x80, + REORDER = 0x100, + ALIGNEMENT = 0x200, + RENDER = 0x400, + ALL_OPERATIONS = 0xFFF + }; + public: /** @@ -74,6 +99,21 @@ public: bool Relayout( const Vector2& size ); /** + * + */ + bool DoRelayout( const Vector2& size, OperationsMask operations ); + + /** + * @copydoc Control::GetNaturalSize() + */ + Vector3 GetNaturalSize(); + + /** + * @copydoc Control::GetHeightForWidth() + */ + float GetHeightForWidth( float width ); + + /** * @brief Return the layout engine. * * @return A reference to the layout engine. @@ -116,7 +156,10 @@ private: struct Impl; Impl* mImpl; + + Size mControlSize; }; + } // namespace Text } // namespace Toolkit