myMousePressed (Aspect_VKeyMouse_NONE),
myMouseModifiers (Aspect_VKeyFlags_NONE),
myMouseSingleButton (-1),
+ myMouseStopDragOnUnclick (false),
//
myTouchToleranceScale (1.0f),
myTouchRotationThresholdPx (6.0f),
{
myMouseClickTimer.Stop();
myMouseClickCounter = 0;
+ myMouseStopDragOnUnclick = false;
myUI.Dragging.ToStop = true;
toUpdateView = true;
}
else if (theButtons == Aspect_VKeyMouse_NONE)
{
myMouseSingleButton = -1;
+ if (myMouseStopDragOnUnclick)
+ {
+ myMouseStopDragOnUnclick = false;
+ myUI.Dragging.ToStop = true;
+ toUpdateView = true;
+ }
}
else if (myMouseSingleButton == -1)
{
myMouseClickTimer.Stop();
myMouseClickCounter = 0;
myMouseSingleButton = -1;
+ myMouseStopDragOnUnclick = true;
}
}
Aspect_VKeyMouse myMousePressed; //!< active mouse buttons
Aspect_VKeyFlags myMouseModifiers; //!< active key modifiers passed with last mouse event
Standard_Integer myMouseSingleButton; //!< index of mouse button pressed alone (>0)
+ Standard_Boolean myMouseStopDragOnUnclick; //!< queue stop dragging even with at next mouse unclick
protected: //! @name multi-touch input variables