Dali-Text: Keyboard Shortcuts
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / decorator / text-decorator.cpp
index 5eafd84..ad02368 100644 (file)
 #include <dali/integration-api/debug.h>
 #include <dali/public-api/actors/layer.h>
 #include <dali/public-api/adaptor-framework/timer.h>
-#include <dali/public-api/common/stage.h>
-#include <dali/public-api/events/touch-data.h>
+#include <dali/devel-api/common/stage.h>
+#include <dali/public-api/events/touch-event.h>
 #include <dali/public-api/events/pan-gesture.h>
-#include <dali/public-api/images/resource-image.h>
 #include <dali/public-api/object/property-notification.h>
 #include <dali/public-api/rendering/geometry.h>
 #include <dali/public-api/rendering/renderer.h>
@@ -828,7 +827,7 @@ struct Decorator::Impl : public ConnectionTracker
         grabHandle.actor.Add( grabHandle.grabArea );
         grabHandle.actor.SetProperty( Actor::Property::COLOR, mHandleColor );
 
-        grabHandle.grabArea.TouchSignal().Connect( this, &Decorator::Impl::OnGrabHandleTouched );
+        grabHandle.grabArea.TouchedSignal().Connect( this, &Decorator::Impl::OnGrabHandleTouched );
 
         // The grab handle's actor is attached to the tap and long press detectors in order to consume these events.
         // Note that no callbacks are connected to any signal emitted by the tap and long press detectors.
@@ -896,7 +895,7 @@ struct Decorator::Impl : public ConnectionTracker
         primary.grabArea.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER );
         primary.grabArea.SetProperty( Actor::Property::SIZE_MODE_FACTOR, DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE );
 
-        primary.grabArea.TouchSignal().Connect( this, &Decorator::Impl::OnHandleOneTouched );
+        primary.grabArea.TouchedSignal().Connect( this, &Decorator::Impl::OnHandleOneTouched );
 
         // The handle's actor is attached to the tap and long press detectors in order to consume these events.
         // Note that no callbacks are connected to any signal emitted by the tap and long press detectors.
@@ -940,7 +939,7 @@ struct Decorator::Impl : public ConnectionTracker
         secondary.grabArea.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER );
         secondary.grabArea.SetProperty( Actor::Property::SIZE_MODE_FACTOR, DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE );
 
-        secondary.grabArea.TouchSignal().Connect( this, &Decorator::Impl::OnHandleTwoTouched );
+        secondary.grabArea.TouchedSignal().Connect( this, &Decorator::Impl::OnHandleTwoTouched );
 
         // The handle's actor is attached to the tap and long press detectors in order to consume these events.
         // Note that no callbacks are connected to any signal emitted by the tap and long press detectors.
@@ -1230,7 +1229,7 @@ struct Decorator::Impl : public ConnectionTracker
 
         if( ! mQuadVertices )
         {
-          mQuadVertices = PropertyBuffer::New( mQuadVertexFormat );
+          mQuadVertices = VertexBuffer::New( mQuadVertexFormat );
         }
 
         mQuadVertices.SetData( &vertices[ 0 ], vertices.Size() );
@@ -1260,7 +1259,8 @@ struct Decorator::Impl : public ConnectionTracker
 
   void DoPan( HandleImpl& handle, HandleType type, const PanGesture& gesture )
   {
-    if( Gesture::Started == gesture.state )
+    GestureState state = gesture.GetState();
+    if( GestureState::STARTED == state )
     {
       handle.grabDisplacementX = handle.grabDisplacementY = 0.f;
 
@@ -1268,15 +1268,16 @@ struct Decorator::Impl : public ConnectionTracker
       handle.globalPosition.y = handle.position.y;
     }
 
-    handle.grabDisplacementX += gesture.displacement.x;
-    handle.grabDisplacementY += ( handle.verticallyFlipped ? -gesture.displacement.y : gesture.displacement.y );
+    const Vector2& displacement = gesture.GetDisplacement();
+    handle.grabDisplacementX += displacement.x;
+    handle.grabDisplacementY += ( handle.verticallyFlipped ? -displacement.y : displacement.y );
 
     const float x = handle.globalPosition.x + handle.grabDisplacementX;
     const float y = handle.globalPosition.y + handle.grabDisplacementY + 0.5f * handle.lineHeight;
     const float yVerticallyFlippedCorrected = y - ( handle.verticallyFlippedOnTouch ? handle.lineHeight : 0.f );
 
-    if( ( Gesture::Started    == gesture.state ) ||
-        ( Gesture::Continuing == gesture.state ) )
+    if( ( GestureState::STARTED    == state ) ||
+        ( GestureState::CONTINUING == state ) )
     {
       Vector2 targetSize;
       mController.GetTargetSize( targetSize );
@@ -1318,8 +1319,8 @@ struct Decorator::Impl : public ConnectionTracker
 
       mIsHandlePanning = true;
     }
-    else if( ( Gesture::Finished  == gesture.state ) ||
-             ( Gesture::Cancelled == gesture.state ) )
+    else if( ( GestureState::FINISHED  == state ) ||
+             ( GestureState::CANCELLED == state ) )
     {
       if( mScrollTimer &&
           ( mScrollTimer.IsRunning() || mNotifyEndOfScroll ) )
@@ -1364,7 +1365,7 @@ struct Decorator::Impl : public ConnectionTracker
     }
   }
 
-  bool OnGrabHandleTouched( Actor actor, const TouchData& touch )
+  bool OnGrabHandleTouched( Actor actor, const TouchEvent& touch )
   {
     HandleImpl& grabHandle = mHandle[GRAB_HANDLE];
 
@@ -1387,11 +1388,10 @@ struct Decorator::Impl : public ConnectionTracker
       SetHandleImage( GRAB_HANDLE );
     }
 
-    // Consume to avoid pop-ups accidentally closing, when handle is outside of pop-up area
-    return true;
+    return false;
   }
 
-  bool OnHandleOneTouched( Actor actor, const TouchData& touch )
+  bool OnHandleOneTouched( Actor actor, const TouchEvent& touch )
   {
     HandleImpl& primarySelectionHandle = mHandle[LEFT_SELECTION_HANDLE];
 
@@ -1418,11 +1418,10 @@ struct Decorator::Impl : public ConnectionTracker
       SetHandleImage( LEFT_SELECTION_HANDLE );
     }
 
-    // Consume to avoid pop-ups accidentally closing, when handle is outside of pop-up area
-    return true;
+    return false;
   }
 
-  bool OnHandleTwoTouched( Actor actor, const TouchData& touch )
+  bool OnHandleTwoTouched( Actor actor, const TouchEvent& touch )
   {
     HandleImpl& secondarySelectionHandle = mHandle[RIGHT_SELECTION_HANDLE];
 
@@ -1449,8 +1448,7 @@ struct Decorator::Impl : public ConnectionTracker
       SetHandleImage( RIGHT_SELECTION_HANDLE );
     }
 
-    // Consume to avoid pop-ups accidentally closing, when handle is outside of pop-up area
-    return true;
+    return false;
   }
 
   void HandleResetPosition( PropertyNotification& source )
@@ -1521,7 +1519,7 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                     LessThanCondition( mBoundingBox.y + topHeight ) );
 
         // Notifies the change from false to true and from true to false.
-        mHandleVerticalLessThanNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+        mHandleVerticalLessThanNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
         // Connects the signals with the callbacks.
         mHandleVerticalLessThanNotification.NotifySignal().Connect( this, &Decorator::Impl::HandleResetPosition );
@@ -1538,7 +1536,7 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                        GreaterThanCondition( mBoundingBox.w - bottomHeight ) );
 
         // Notifies the change from false to true and from true to false.
-        mHandleVerticalGreaterThanNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+        mHandleVerticalGreaterThanNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
         // Connects the signals with the callbacks.
         mHandleVerticalGreaterThanNotification.NotifySignal().Connect( this, &Decorator::Impl::HandleResetPosition );
@@ -1558,7 +1556,7 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                     LessThanCondition( mBoundingBox.y + topHeight ) );
 
         // Notifies the change from false to true and from true to false.
-        mHandleVerticalLessThanNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+        mHandleVerticalLessThanNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
         // Connects the signals with the callbacks.
         mHandleVerticalLessThanNotification.NotifySignal().Connect( this, &Decorator::Impl::HandleResetPosition );
@@ -1576,7 +1574,7 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                        GreaterThanCondition( mBoundingBox.w - bottomHeight ) );
 
         // Notifies the change from false to true and from true to false.
-        mHandleVerticalGreaterThanNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+        mHandleVerticalGreaterThanNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
         // Connects the signals with the callbacks.
         mHandleVerticalGreaterThanNotification.NotifySignal().Connect( this, &Decorator::Impl::HandleResetPosition );
@@ -1594,7 +1592,7 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                     LessThanCondition( mBoundingBox.y + topHeight ) );
 
         // Notifies the change from false to true and from true to false.
-        mHandleVerticalLessThanNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+        mHandleVerticalLessThanNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
         // Connects the signals with the callbacks.
         mHandleVerticalLessThanNotification.NotifySignal().Connect( this, &Decorator::Impl::HandleResetPosition );
@@ -1608,7 +1606,7 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                        GreaterThanCondition( mBoundingBox.w - bottomHeight ) );
 
         // Notifies the change from false to true and from true to false.
-        mHandleVerticalGreaterThanNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+        mHandleVerticalGreaterThanNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
         // Connects the signals with the callbacks.
         mHandleVerticalGreaterThanNotification.NotifySignal().Connect( this, &Decorator::Impl::HandleResetPosition );
@@ -1640,7 +1638,7 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                     LessThanCondition( mBoundingBox.x + leftWidth ) );
 
       // Notifies the change from false to true and from true to false.
-      mHandleHorizontalLessThanNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+      mHandleHorizontalLessThanNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
       // Connects the signals with the callbacks.
       mHandleHorizontalLessThanNotification.NotifySignal().Connect( this, &Decorator::Impl::HandleResetPosition );
@@ -1653,7 +1651,7 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                        GreaterThanCondition( mBoundingBox.z - rightWidth ) );
 
       // Notifies the change from false to true and from true to false.
-      mHandleHorizontalGreaterThanNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+      mHandleHorizontalGreaterThanNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
       // Connects the signals with the callbacks.
       mHandleHorizontalGreaterThanNotification.NotifySignal().Connect( this, &Decorator::Impl::HandleResetPosition );
@@ -1749,8 +1747,8 @@ struct Decorator::Impl : public ConnectionTracker
                                                                                     GreaterThanCondition( mBoundingBox.w - popupHalfSize.height ) );
 
     // Notifies the change from false to true and from true to false.
-    mPopupTopExceedNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
-    mPopupBottomExceedNotification.SetNotifyMode( PropertyNotification::NotifyOnChanged );
+    mPopupTopExceedNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
+    mPopupBottomExceedNotification.SetNotifyMode( PropertyNotification::NOTIFY_ON_CHANGED );
 
     mPopupTopExceedNotification.NotifySignal().Connect( this, &Decorator::Impl::PopUpLeavesTopBoundary );
     mPopupBottomExceedNotification.NotifySignal().Connect( this, &Decorator::Impl::PopUpLeavesBottomBoundary );
@@ -1907,7 +1905,7 @@ struct Decorator::Impl : public ConnectionTracker
   CursorImpl          mCursor[CURSOR_COUNT];
   HandleImpl          mHandle[HANDLE_TYPE_COUNT];
 
-  PropertyBuffer      mQuadVertices;
+  VertexBuffer        mQuadVertices;
   Geometry            mQuadGeometry;
   QuadContainer       mHighlightQuadList;         ///< Sub-selections that combine to create the complete selection highlight.