X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller-impl.h;h=0757bc0488621f94c8596c1e8d65cb6f32eabe03;hb=fc4ebd23458e95ade416baeb1a8cf44bac9bca13;hp=92235b0039f8b630412cfccc7a91587d985b7413;hpb=9c26b8bf8e9f8bc74f809a6ffd2ac2208125bc03;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h index 92235b0..0757bc0 100644 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -351,6 +351,7 @@ struct Controller::Impl mShadowSetByString(false), mOutlineSetByString(false), mFontStyleSetByString(false), + mStrikethroughSetByString(false), mShouldClearFocusOnEscape(true), mLayoutDirection(LayoutDirection::LEFT_TO_RIGHT), mTextFitMinSize(DEFAULT_TEXTFIT_MIN), @@ -368,6 +369,7 @@ struct Controller::Impl mClipboard = Clipboard::Get(); mView.SetVisualModel(mModel->mVisualModel); + mView.SetLogicalModel(mModel->mLogicalModel); // Use this to access FontClient i.e. to get down-scaled Emoji metrics. mMetrics = Metrics::New(mFontClient); @@ -625,6 +627,16 @@ struct Controller::Impl bool SetDefaultLineSize(float lineSize); /** + * @copydoc Controller::SetRelativeLineSize + */ + bool SetRelativeLineSize(float relativeLineSize); + + /** + * @copydoc Controller::GetRelativeLineSize + */ + float GetRelativeLineSize(); + + /** * @copydoc Text::Controller::GetPrimaryCursorPosition() */ CharacterIndex GetPrimaryCursorPosition() const; @@ -790,9 +802,16 @@ struct Controller::Impl void ScrollTextToMatchCursor(); /** - * @brief fill needed relayout parameters when line size is changed & request relayout. + * @brief Create an actor that renders the text background color + * + * @return the created actor or an empty handle if no background color needs to be rendered. + */ + Actor CreateBackgroundActor(); + + /** + * @brief fill needed relayout parameters whenever a property is changed and a re-layout is needed for the entire text. */ - void RelayoutForNewLineSize(); + void RelayoutAllCharacters(); /** * @copydoc Controller::IsInputStyleChangedSignalsQueueEmpty @@ -936,6 +955,12 @@ private: */ void CopyUnderlinedFromLogicalToVisualModels(bool shouldClearPreUnderlineRuns); + /** + * @brief Copy strikethrough-Character-Runs from Logical-Model to strikethrough-Glyph-Runs in Visual-Model + * + */ + void CopyStrikethroughFromLogicalToVisualModels(); + public: ControlInterface* mControlInterface; ///< Reference to the text controller. EditableControlInterface* mEditableControlInterface; ///< Reference to the editable text controller. @@ -973,6 +998,7 @@ public: bool mShadowSetByString : 1; ///< Set when shadow is set by string (legacy) instead of map bool mOutlineSetByString : 1; ///< Set when outline is set by string (legacy) instead of map bool mFontStyleSetByString : 1; ///< Set when font style is set by string (legacy) instead of map + bool mStrikethroughSetByString : 1; ///< Set when strikethrough is set by string (legacy) instead of map bool mShouldClearFocusOnEscape : 1; ///< Whether text control should clear key input focus LayoutDirection::Type mLayoutDirection; ///< Current system language direction