Fix for highlight box and handles. 60/45360/2
authorVictor Cebollada <v.cebollada@samsung.com>
Wed, 5 Aug 2015 07:04:36 +0000 (08:04 +0100)
committerVictor Cebollada <v.cebollada@samsung.com>
Wed, 5 Aug 2015 07:34:24 +0000 (08:34 +0100)
* Fixed the position to take account of the text alignment.

Change-Id: I2e18c3420f6412942124a9da9af3feb1b78ae13d
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
dali-toolkit/internal/text/decorator/text-decorator.cpp
dali-toolkit/internal/text/text-controller-impl.cpp

index 380d97b..bdfc356 100644 (file)
@@ -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 );
index 6552ce8..9d53ae6 100644 (file)
@@ -1000,7 +1000,7 @@ void Controller::Impl::RepositionSelectionHandles( CharacterIndex selectionStart
       mEventData->mDecorator->AddHighlight( xPosition,
                                             offset.y,
                                             xPosition + static_cast<float>( 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<float>( 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;