X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.h;h=ddb1051c69b02ae82f07e62c317fac02f3d5dd5e;hb=77af5d8a3230bf16729573df1866be763938ca40;hp=46bf38fd65f3a6adca4a211a1345640ad25ad46a;hpb=93239b0a0c53c6475cc8398b091eb9f80a9c64e1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller.h b/dali-toolkit/internal/text/text-controller.h index 46bf38f..ddb1051 100644 --- a/dali-toolkit/internal/text/text-controller.h +++ b/dali-toolkit/internal/text/text-controller.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -78,8 +79,7 @@ private: LAYOUT = 0x0100, UPDATE_ACTUAL_SIZE = 0x0200, REORDER = 0x0400, - ALIGNMENT = 0x0800, - RENDER = 0x1000, + ALIGN = 0x0800, ALL_OPERATIONS = 0xFFFF }; @@ -173,6 +173,34 @@ public: void GetDefaultFonts( Dali::Vector& fonts, Length numberOfCharacters ); /** + * @brief Set the shadow offset. + * + * @param[in] shadowOffset The shadow offset, 0,0 indicates no shadow. + */ + void SetShadowOffset( const Vector2& shadowOffset ); + + /** + * @brief Retrieve the shadow offset. + * + * @return The shadow offset. + */ + const Vector2& GetShadowOffset() const; + + /** + * @brief Set the shadow color. + * + * @param[in] shadowColor The shadow color. + */ + void SetShadowColor( const Vector4& shadowColor ); + + /** + * @brief Retrieve the shadow color. + * + * @return The shadow color. + */ + const Vector4& GetShadowColor() const; + + /** * @brief Called to enable text input. * * @note Only selectable or editable controls should calls this. @@ -196,6 +224,20 @@ public: bool GetEnableCursorBlink() const; /** + * @brief Query the current scroll position; the UI control is responsible for moving actors to this position. + * + * @return The scroll position. + */ + const Vector2& GetScrollPosition() const; + + /** + * @brief Query the alignment offset. + * + * @return The alignmnet offset. + */ + const Vector2& GetAlignmentOffset() const; + + /** * @copydoc Control::GetNaturalSize() */ Vector3 GetNaturalSize(); @@ -212,14 +254,38 @@ public: * @param[in] size A the size of a bounding box to layout text within. * @return True if the text model or decorations were updated. */ - bool Relayout( const Vector2& size ); + bool Relayout( const Size& size ); /** - * @brief Update the model with new text. + * @brief Process queued events which modify the model. + */ + void ProcessModifyEvents(); + + /** + * @brief Used to process an event queued from SetText() * - * @param[in] operations The layout operations which need to be done. + * @param[in] newText The new text to store in the logical model. + */ + void ReplaceTextEvent( const std::string& newText ); + + /** + * @brief Used to process an event queued from key events etc. + * + * @param[in] text The text to insert into the logical model. + */ + void InsertTextEvent( const std::string& text ); + + /** + * @brief Used to process an event queued from backspace key etc. + */ + void DeleteTextEvent(); + + /** + * @brief Update the model following text replace/insert etc. + * + * @param[in] operationsRequired The layout operations which need to be done. */ - void ReplaceText( OperationsMask operations ); + void UpdateModel( OperationsMask operationsRequired ); /** * @brief Lays-out the text. @@ -230,11 +296,18 @@ public: * @param[in] operations The layout operations which need to be done. * @param[out] layoutSize The size of the laid-out text. */ - bool DoRelayout( const Vector2& size, + bool DoRelayout( const Size& size, OperationsMask operations, Size& layoutSize ); /** + * @brief Calulates the alignment of the whole text inside the bounding box. + * + * @param[in] size The size of the bounding box. + */ + void CalculateTextAlignment( const Size& size ); + + /** * @brief Return the layout engine. * * @return A reference to the layout engine. @@ -248,6 +321,8 @@ public: */ View& GetView(); + // Text-input Event Queuing + /** * @brief Caller by editable UI controls when keyboard focus is gained. */ @@ -274,6 +349,14 @@ public: void TapEvent( unsigned int tapCount, float x, float y ); /** + * @brief Caller by editable UI controls when a pan gesture occurs. + * + * @param[in] state The state of the gesture. + * @param[in] displacement This distance panned since the last pan gesture. + */ + void PanEvent( Gesture::State state, const Vector2& displacement ); + + /** * @copydoc Dali::Toolkit::Text::Decorator::Observer::GrabHandleEvent() */ virtual void GrabHandleEvent( GrabHandleState state, float x, float y );