X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fdecorator%2Ftext-decorator.cpp;h=6ae1821eec6bc3e1f8821dbcde604ea1cf2249a7;hp=c324edc203ef6880c4dce9b9a2cc4ca45309e73d;hb=48ce7053cae43576126273091e0a865e5a87aea6;hpb=98d4ab61c23c9c7494f5936f7807b9c17075315f diff --git a/dali-toolkit/internal/text/decorator/text-decorator.cpp b/dali-toolkit/internal/text/decorator/text-decorator.cpp index c324edc..6ae1821 100644 --- a/dali-toolkit/internal/text/decorator/text-decorator.cpp +++ b/dali-toolkit/internal/text/decorator/text-decorator.cpp @@ -208,7 +208,7 @@ struct Decorator::Impl : public ConnectionTracker * Relayout of the decorations owned by the decorator. * @param[in] size The Size of the UI control the decorator is adding it's decorations to. */ - void Relayout( const Vector2& size, const Vector2& scrollPosition ) + void Relayout( const Vector2& size ) { // TODO - Remove this if nothing is active CreateActiveLayer(); @@ -217,14 +217,14 @@ struct Decorator::Impl : public ConnectionTracker CreateCursors(); if( mPrimaryCursor ) { - mPrimaryCursor.SetPosition( mCursor[PRIMARY_CURSOR].position.x + scrollPosition.x, - mCursor[PRIMARY_CURSOR].position.y + scrollPosition.y ); + mPrimaryCursor.SetPosition( mCursor[PRIMARY_CURSOR].position.x, + mCursor[PRIMARY_CURSOR].position.y ); mPrimaryCursor.SetSize( Size( 1.0f, mCursor[PRIMARY_CURSOR].cursorHeight ) ); } if( mSecondaryCursor ) { - mSecondaryCursor.SetPosition( mCursor[SECONDARY_CURSOR].position.x + scrollPosition.x, - mCursor[SECONDARY_CURSOR].position.y + scrollPosition.y ); + mSecondaryCursor.SetPosition( mCursor[SECONDARY_CURSOR].position.x, + mCursor[SECONDARY_CURSOR].position.y ); mSecondaryCursor.SetSize( Size( 1.0f, mCursor[SECONDARY_CURSOR].cursorHeight ) ); } @@ -235,8 +235,8 @@ struct Decorator::Impl : public ConnectionTracker CreateGrabHandle(); - mGrabHandle.SetPosition( mCursor[PRIMARY_CURSOR].position.x + scrollPosition.x, - mCursor[PRIMARY_CURSOR].position.y + mCursor[PRIMARY_CURSOR].lineHeight + scrollPosition.y ); + mGrabHandle.SetPosition( mCursor[PRIMARY_CURSOR].position.x, + mCursor[PRIMARY_CURSOR].position.y + mCursor[PRIMARY_CURSOR].lineHeight ); } else if( mGrabHandle ) { @@ -251,12 +251,12 @@ struct Decorator::Impl : public ConnectionTracker CreateSelectionHandles(); SelectionHandleImpl& primary = mSelectionHandle[ PRIMARY_SELECTION_HANDLE ]; - primary.actor.SetPosition( primary.position.x + scrollPosition.x, - primary.position.y + primary.lineHeight + scrollPosition.y ); + primary.actor.SetPosition( primary.position.x, + primary.position.y + primary.lineHeight ); SelectionHandleImpl& secondary = mSelectionHandle[ SECONDARY_SELECTION_HANDLE ]; - secondary.actor.SetPosition( secondary.position.x + scrollPosition.x, - secondary.position.y + secondary.lineHeight + scrollPosition.y ); + secondary.actor.SetPosition( secondary.position.x, + secondary.position.y + secondary.lineHeight ); CreateHighlight(); UpdateHighlight(); @@ -290,6 +290,16 @@ struct Decorator::Impl : public ConnectionTracker } } + void UpdatePositions( const Vector2& scrollOffset ) + { + mCursor[PRIMARY_CURSOR].position += scrollOffset; + mCursor[SECONDARY_CURSOR].position += scrollOffset; + mSelectionHandle[ PRIMARY_SELECTION_HANDLE ].position += scrollOffset; + mSelectionHandle[ SECONDARY_SELECTION_HANDLE ].position += scrollOffset; + + // TODO Highlight box?? + } + void PopUpRelayoutComplete( Actor actor ) { // Size negotiation for CopyPastePopup complete so can get the size and constrain position within bounding box. @@ -837,9 +847,14 @@ const Rect& Decorator::GetBoundingBox() const return mImpl->mBoundingBox; } -void Decorator::Relayout( const Vector2& size, const Vector2& scrollPosition ) +void Decorator::Relayout( const Vector2& size ) +{ + mImpl->Relayout( size ); +} + +void Decorator::UpdatePositions( const Vector2& scrollOffset ) { - mImpl->Relayout( size, scrollPosition ); + mImpl->UpdatePositions( scrollOffset ); } /** Cursor **/