mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-05 18:16:23 +03:00
0031102: Visualization, AIS_ViewController - AIS_DragAction_Stop is never emitted on mouse unclick
AIS_ViewController::UpdateMousePosition() now sets myMouseStopDragOnUnclick flag to emit AIS_DragAction_Stop on mouse unclick.
This commit is contained in:
parent
5646c90e87
commit
215dd33149
@ -69,6 +69,7 @@ AIS_ViewController::AIS_ViewController()
|
|||||||
myMousePressed (Aspect_VKeyMouse_NONE),
|
myMousePressed (Aspect_VKeyMouse_NONE),
|
||||||
myMouseModifiers (Aspect_VKeyFlags_NONE),
|
myMouseModifiers (Aspect_VKeyFlags_NONE),
|
||||||
myMouseSingleButton (-1),
|
myMouseSingleButton (-1),
|
||||||
|
myMouseStopDragOnUnclick (false),
|
||||||
//
|
//
|
||||||
myTouchToleranceScale (1.0f),
|
myTouchToleranceScale (1.0f),
|
||||||
myTouchRotationThresholdPx (6.0f),
|
myTouchRotationThresholdPx (6.0f),
|
||||||
@ -611,6 +612,7 @@ bool AIS_ViewController::UpdateMouseButtons (const Graphic3d_Vec2i& thePoint,
|
|||||||
{
|
{
|
||||||
myMouseClickTimer.Stop();
|
myMouseClickTimer.Stop();
|
||||||
myMouseClickCounter = 0;
|
myMouseClickCounter = 0;
|
||||||
|
myMouseStopDragOnUnclick = false;
|
||||||
myUI.Dragging.ToStop = true;
|
myUI.Dragging.ToStop = true;
|
||||||
toUpdateView = true;
|
toUpdateView = true;
|
||||||
}
|
}
|
||||||
@ -619,6 +621,12 @@ bool AIS_ViewController::UpdateMouseButtons (const Graphic3d_Vec2i& thePoint,
|
|||||||
else if (theButtons == Aspect_VKeyMouse_NONE)
|
else if (theButtons == Aspect_VKeyMouse_NONE)
|
||||||
{
|
{
|
||||||
myMouseSingleButton = -1;
|
myMouseSingleButton = -1;
|
||||||
|
if (myMouseStopDragOnUnclick)
|
||||||
|
{
|
||||||
|
myMouseStopDragOnUnclick = false;
|
||||||
|
myUI.Dragging.ToStop = true;
|
||||||
|
toUpdateView = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (myMouseSingleButton == -1)
|
else if (myMouseSingleButton == -1)
|
||||||
{
|
{
|
||||||
@ -769,6 +777,7 @@ bool AIS_ViewController::UpdateMousePosition (const Graphic3d_Vec2i& thePoint,
|
|||||||
myMouseClickTimer.Stop();
|
myMouseClickTimer.Stop();
|
||||||
myMouseClickCounter = 0;
|
myMouseClickCounter = 0;
|
||||||
myMouseSingleButton = -1;
|
myMouseSingleButton = -1;
|
||||||
|
myMouseStopDragOnUnclick = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -647,6 +647,7 @@ protected: //! @name mouse input variables
|
|||||||
Aspect_VKeyMouse myMousePressed; //!< active mouse buttons
|
Aspect_VKeyMouse myMousePressed; //!< active mouse buttons
|
||||||
Aspect_VKeyFlags myMouseModifiers; //!< active key modifiers passed with last mouse event
|
Aspect_VKeyFlags myMouseModifiers; //!< active key modifiers passed with last mouse event
|
||||||
Standard_Integer myMouseSingleButton; //!< index of mouse button pressed alone (>0)
|
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
|
protected: //! @name multi-touch input variables
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user