X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.h;h=f93de218fd1c2289d1812289324993c038a36492;hb=26efc210fc636e51a4d3df9ae7fbcc1d2a8bac40;hp=592b19d8527590a7ecf07aa30af24e3b1fea7fa7;hpb=d82494a77e405d5924cf1af3fe55b2d9b9577e3f;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 old mode 100755 new mode 100644 index 592b19d..f93de21 --- a/dali-toolkit/internal/text/text-controller.h +++ b/dali-toolkit/internal/text/text-controller.h @@ -143,6 +143,18 @@ public: // Enumerated types. }; }; + struct TextFitInfo + { + enum Property + { + TEXT_FIT_ENABLE, + TEXT_FIT_MIN_SIZE, + TEXT_FIT_MAX_SIZE, + TEXT_FIT_STEP_SIZE, + TEXT_FIT_FONT_SIZE_TYPE + }; + }; + public: // Constructor. /** @@ -371,6 +383,79 @@ public: // Configure the text controller. bool IsTextElideEnabled() const; /** + * @brief Enable or disable the text fit. + * + * @param[in] enabled Whether to enable the text fit. + */ + void SetTextFitEnabled(bool enabled); + + /** + * @brief Whether the text fit is enabled or not. + * + * @return True if the text fit is enabled + */ + bool IsTextFitEnabled() const; + + /** + * @brief Sets minimum size valid for text fit. + * + * @param[in] minimum size value. + * @param[in] type The font size type is point size or pixel size + */ + void SetTextFitMinSize( float pointSize, FontSizeType type ); + + /** + * @brief Retrieves the minimum point size valid for text fit. + * + * @return The minimum point size valid for text fit + */ + float GetTextFitMinSize() const; + + /** + * @brief Sets maximum size valid for text fit. + * + * @param[in] maximum size value. + * @param[in] type The font size type is point size or pixel size + */ + void SetTextFitMaxSize( float pointSize, FontSizeType type ); + + /** + * @brief Retrieves the maximum point size valid for text fit. + * + * @return The maximum point size valid for text fit + */ + float GetTextFitMaxSize() const; + + /** + * @brief Sets step size for font increase valid for text fit. + * + * @param[in] step size value. + * @param[in] type The font size type is point size or pixel size + */ + void SetTextFitStepSize( float step, FontSizeType type ); + + /** + * @brief Retrieves the step point size valid for text fit. + * + * @return The step point size valid for text fit + */ + float GetTextFitStepSize() const; + + /** + * @brief Sets content size valid for text fit. + * + * @param[in] Content size value. + */ + void SetTextFitContentSize(Vector2 size); + + /** + * @brief Retrieves the content size valid for text fit. + * + * @return The content size valid for text fit + */ + Vector2 GetTextFitContentSize() const; + + /** * @brief Enable or disable the placeholder text elide. * @param enabled Whether to enable the placeholder text elide. */ @@ -421,6 +506,20 @@ public: // Configure the text controller. bool IsGrabHandleEnabled() const; /** + * @brief Enable or disable the grab handles for text selection. + * + * @param[in] enabled Whether to enable the grab handles + */ + void SetGrabHandlePopupEnabled( bool enabled ); + + /** + * @brief Returns whether the grab handles are enabled. + * + * @return True if the grab handles are enabled + */ + bool IsGrabHandlePopupEnabled() const; + + /** * @brief Sets input type to password * * @note The string is displayed hidden character @@ -551,6 +650,38 @@ public: // Update. */ void UpdateAfterFontChange( const std::string& newDefaultFont ); + /** + * @brief The method acquires currently selected text + * @param selectedText variable to place selected text in + */ + void RetrieveSelection( std::string& selectedText ) const; + + /** + * @brief The method sets selection in given range + * @param start index of first character + * @param end index of first character after selection + */ + void SetSelection( int start, int end ); + + /** + * @brief This method retrieve indexes of current selection + * + * @return a pair, where first element is left index of selection and second is the right one + */ + std::pair< int, int > GetSelectionIndexes() const; + + /** + * Place string in system clipboard + * @param source std::string + */ + void CopyStringToClipboard( const std::string& source ); + + /** + * Place currently selected text in system clipboard + * @param deleteAfterSending flag pointing if text should be deleted after sending to clipboard + */ + void SendSelectionToClipboard( bool deleteAfterSending ); + public: // Default style & Input style /** @@ -1157,6 +1288,18 @@ public: // Queries & retrieves. float GetHeightForWidth( float width ); /** + * @brief Calculates the point size for text for given layout() + */ + void FitPointSizeforLayout( Size layoutSize ); + + /** + * @brief Checks if the point size fits within the layout size. + * + * @return Whether the point size fits within the layout size. + */ + bool CheckForTextFit( float pointSize, Size& layoutSize ); + + /** * @brief Retrieves the text's number of lines for a given width. * @param[in] width The width of the text's area. * @ return The number of lines. @@ -1261,6 +1404,11 @@ public: // Queries & retrieves. */ void SetLayoutDirection( Dali::LayoutDirection::Type layoutDirection ); + /** + * @brief Retrieves if showing real text or not. + * @return The value of showing real text. + */ + bool IsShowingRealText() const; public: // Relayout. @@ -1341,6 +1489,17 @@ public: // Text-input Event Queuing. void LongPressEvent( Gesture::State state, float x, float y ); /** + * @brief Creates a selection event. + * + * It could be called from the TapEvent (double tap) or when the text selection popup's sellect all button is pressed. + * + * @param[in] x The x position relative to the top-left of the parent control. + * @param[in] y The y position relative to the top-left of the parent control. + * @param[in] selectAll Whether the whole text is selected. + */ + void SelectEvent( float x, float y, bool selectAll ); + + /** * @brief Event received from input method context * * @param[in] inputMethodContext The input method context. @@ -1361,6 +1520,19 @@ public: // Text-input Event Queuing. */ bool ShouldClearFocusOnEscape() const; + /** + * @brief Used to reset the cursor position after setting a new text. + * + * @param[in] cursorIndex Where to place the cursor. + */ + void ResetCursorPosition( CharacterIndex cursorIndex ); + + /** + * @brief The method acquires current position of cursor + * @return unsigned value with cursor position + */ + CharacterIndex GetCursorPosition(); + protected: // Inherit from Text::Decorator::ControllerInterface. /** @@ -1475,17 +1647,6 @@ private: // Events. void TextDeletedEvent(); /** - * @brief Creates a selection event. - * - * It could be called from the TapEvent (double tap) or when the text selection popup's sellect all button is pressed. - * - * @param[in] x The x position relative to the top-left of the parent control. - * @param[in] y The y position relative to the top-left of the parent control. - * @param[in] selectAll Whether the whole text is selected. - */ - void SelectEvent( float x, float y, bool selectAll ); - - /** * @brief Helper to KeyEvent() to handle the backspace or delete key case. * * @param[in] keyCode The keycode for the key pressed @@ -1516,13 +1677,6 @@ private: // Helpers. void ClearStyleData(); /** - * @brief Used to reset the cursor position after setting a new text. - * - * @param[in] cursorIndex Where to place the cursor. - */ - void ResetCursorPosition( CharacterIndex cursorIndex ); - - /** * @brief Used to reset the scroll position after setting a new text. */ void ResetScrollPosition();