From a4aa42975730d13ff47b1a1dbf47549ebd81ff68 Mon Sep 17 00:00:00 2001 From: Victor Cebollada Date: Wed, 5 Aug 2015 08:04:36 +0100 Subject: [PATCH] Fix for highlight box and handles. * Fixed the position to take account of the text alignment. Change-Id: I2e18c3420f6412942124a9da9af3feb1b78ae13d Signed-off-by: Victor Cebollada --- dali-toolkit/internal/text/decorator/text-decorator.cpp | 6 +++--- dali-toolkit/internal/text/text-controller-impl.cpp | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dali-toolkit/internal/text/decorator/text-decorator.cpp b/dali-toolkit/internal/text/decorator/text-decorator.cpp index 380d97b..bdfc356 100644 --- a/dali-toolkit/internal/text/decorator/text-decorator.cpp +++ b/dali-toolkit/internal/text/decorator/text-decorator.cpp @@ -322,7 +322,7 @@ struct Decorator::Impl : public ConnectionTracker CreateGrabHandle(); grabHandle.actor.SetPosition( position.x, - grabHandle.lineHeight ); // TODO : Fix for multiline. + position.y + grabHandle.lineHeight ); // TODO : Fix for multiline. } grabHandle.actor.SetVisible( isVisible ); } @@ -351,13 +351,13 @@ struct Decorator::Impl : public ConnectionTracker if( isPrimaryVisible ) { primary.actor.SetPosition( primaryPosition.x, - primary.lineHeight ); // TODO : Fix for multiline. + primaryPosition.y + primary.lineHeight ); // TODO : Fix for multiline. } if( isSecondaryVisible ) { secondary.actor.SetPosition( secondaryPosition.x, - secondary.lineHeight ); // TODO : Fix for multiline. + secondaryPosition.y + secondary.lineHeight ); // TODO : Fix for multiline. } } primary.actor.SetVisible( isPrimaryVisible ); diff --git a/dali-toolkit/internal/text/text-controller-impl.cpp b/dali-toolkit/internal/text/text-controller-impl.cpp index 6552ce8..9d53ae6 100644 --- a/dali-toolkit/internal/text/text-controller-impl.cpp +++ b/dali-toolkit/internal/text/text-controller-impl.cpp @@ -1000,7 +1000,7 @@ void Controller::Impl::RepositionSelectionHandles( CharacterIndex selectionStart mEventData->mDecorator->AddHighlight( xPosition, offset.y, xPosition + static_cast( numberOfCharacters ) * glyphAdvance, - height ); + offset.y + height ); splitStartGlyph = false; continue; @@ -1025,14 +1025,17 @@ void Controller::Impl::RepositionSelectionHandles( CharacterIndex selectionStart mEventData->mDecorator->AddHighlight( xPosition, offset.y, xPosition + static_cast( interGlyphIndex ) * glyphAdvance, - height ); + offset.y + height ); splitEndGlyph = false; continue; } const float xPosition = position.x - glyph.xBearing + offset.x; - mEventData->mDecorator->AddHighlight( xPosition, offset.y, xPosition + glyph.advance, height ); + mEventData->mDecorator->AddHighlight( xPosition, + offset.y, + xPosition + glyph.advance, + offset.y + height ); } CursorInfo primaryCursorInfo; -- 2.7.4