X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fdrag-drop-detector%2Fdrag-and-drop-detector-impl.cpp;h=dcb52faf948017017c69b0475d4c18cb560e0df1;hp=c26e4aef9c4c77392646b0f5753f6f983b04e146;hb=79267e9786ebcba2b4d79e2f8f75d9b01610e29d;hpb=6e8f8dee9c5f4e9d78e1060dfd642f57ff8f754e diff --git a/dali-toolkit/internal/drag-drop-detector/drag-and-drop-detector-impl.cpp b/dali-toolkit/internal/drag-drop-detector/drag-and-drop-detector-impl.cpp index c26e4ae..dcb52fa 100755 --- a/dali-toolkit/internal/drag-drop-detector/drag-and-drop-detector-impl.cpp +++ b/dali-toolkit/internal/drag-drop-detector/drag-and-drop-detector-impl.cpp @@ -126,26 +126,6 @@ void DragAndDropDetector::OnPan(Dali::Actor actor, const PanGesture& gesture) if(gesture.state == Gesture::Started) { mDragLocalPosition = gesture.position; - } - if(gesture.state == Gesture::Continuing) - { - Vector2 screenPosition = gesture.screenPosition; - control.GetParent().ScreenToLocal(mLocalPosition.x, mLocalPosition.y, screenPosition.x, screenPosition.y); - mShadowControl.SetPosition(mLocalPosition.x - mDragLocalPosition.x, mLocalPosition.y - mDragLocalPosition.y); - } - if(gesture.state == Gesture::Finished) - { - mDragControl.GetParent().Remove(mShadowControl); - EmitEndedSignal(control); - } -} - -bool DragAndDropDetector::OnDrag(Dali::Actor actor, const Dali::TouchData& data) -{ - Dali::Toolkit::Control control = Dali::Toolkit::Control::DownCast(actor); - PointState::Type type = data.GetState(0); - if(type == PointState::DOWN) - { mPointDown = true; mDragControl = control; mFirstEnter.clear(); @@ -164,9 +144,26 @@ bool DragAndDropDetector::OnDrag(Dali::Actor actor, const Dali::TouchData& data) mShadowControl.SetParentOrigin(control.GetCurrentParentOrigin()); mShadowControl.SetAnchorPoint(control.GetCurrentAnchorPoint()); control.GetParent().Add(mShadowControl); - SetPosition(data.GetScreenPosition(0)); + SetPosition(gesture.screenPosition); EmitStartedSignal(control); } + if(gesture.state == Gesture::Continuing) + { + Vector2 screenPosition = gesture.screenPosition; + control.GetParent().ScreenToLocal(mLocalPosition.x, mLocalPosition.y, screenPosition.x, screenPosition.y); + mShadowControl.SetPosition(mLocalPosition.x - mDragLocalPosition.x, mLocalPosition.y - mDragLocalPosition.y); + } + if(gesture.state == Gesture::Finished) + { + mDragControl.GetParent().Remove(mShadowControl); + EmitEndedSignal(control); + } +} + +bool DragAndDropDetector::OnDrag(Dali::Actor actor, const Dali::TouchData& data) +{ + Dali::Toolkit::Control control = Dali::Toolkit::Control::DownCast(actor); + PointState::Type type = data.GetState(0); if(type == PointState::MOTION) {