diff --git a/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp b/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp index 7fac55204c..79abd5361e 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp +++ b/modules/juce_gui_basics/mouse/juce_MouseEvent.cpp @@ -47,12 +47,12 @@ MouseEvent::MouseEvent (MouseInputSource inputSource, pressure (force), orientation (o), rotation (r), tiltX (tX), tiltY (tY), + mouseDownPosition (downPos), eventComponent (eventComp), originalComponent (originator), eventTime (time), mouseDownTime (downTime), source (inputSource), - mouseDownPos (downPos), numberOfClicks ((uint8) numClicks), wasMovedSinceMouseDown ((uint8) (mouseWasDragged ? 1 : 0)) { @@ -70,21 +70,21 @@ MouseEvent MouseEvent::getEventRelativeTo (Component* const otherComponent) cons return MouseEvent (source, otherComponent->getLocalPoint (eventComponent, position), mods, pressure, orientation, rotation, tiltX, tiltY, otherComponent, originalComponent, eventTime, - otherComponent->getLocalPoint (eventComponent, mouseDownPos), + otherComponent->getLocalPoint (eventComponent, mouseDownPosition), mouseDownTime, numberOfClicks, wasMovedSinceMouseDown != 0); } MouseEvent MouseEvent::withNewPosition (Point newPosition) const noexcept { return MouseEvent (source, newPosition, mods, pressure, orientation, rotation, tiltX, tiltY, - eventComponent, originalComponent, eventTime, mouseDownPos, mouseDownTime, + eventComponent, originalComponent, eventTime, mouseDownPosition, mouseDownTime, numberOfClicks, wasMovedSinceMouseDown != 0); } MouseEvent MouseEvent::withNewPosition (Point newPosition) const noexcept { return MouseEvent (source, newPosition.toFloat(), mods, pressure, orientation, rotation, - tiltX, tiltY, eventComponent, originalComponent, eventTime, mouseDownPos, + tiltX, tiltY, eventComponent, originalComponent, eventTime, mouseDownPosition, mouseDownTime, numberOfClicks, wasMovedSinceMouseDown != 0); } @@ -111,14 +111,14 @@ int MouseEvent::getLengthOfMousePress() const noexcept Point MouseEvent::getPosition() const noexcept { return Point (x, y); } Point MouseEvent::getScreenPosition() const { return eventComponent->localPointToGlobal (getPosition()); } -Point MouseEvent::getMouseDownPosition() const noexcept { return mouseDownPos.roundToInt(); } -Point MouseEvent::getMouseDownScreenPosition() const { return eventComponent->localPointToGlobal (mouseDownPos).roundToInt(); } +Point MouseEvent::getMouseDownPosition() const noexcept { return mouseDownPosition.roundToInt(); } +Point MouseEvent::getMouseDownScreenPosition() const { return eventComponent->localPointToGlobal (mouseDownPosition).roundToInt(); } -Point MouseEvent::getOffsetFromDragStart() const noexcept { return (position - mouseDownPos).roundToInt(); } -int MouseEvent::getDistanceFromDragStart() const noexcept { return roundToInt (mouseDownPos.getDistanceFrom (position)); } +Point MouseEvent::getOffsetFromDragStart() const noexcept { return (position - mouseDownPosition).roundToInt(); } +int MouseEvent::getDistanceFromDragStart() const noexcept { return roundToInt (mouseDownPosition.getDistanceFrom (position)); } -int MouseEvent::getMouseDownX() const noexcept { return roundToInt (mouseDownPos.x); } -int MouseEvent::getMouseDownY() const noexcept { return roundToInt (mouseDownPos.y); } +int MouseEvent::getMouseDownX() const noexcept { return roundToInt (mouseDownPosition.x); } +int MouseEvent::getMouseDownY() const noexcept { return roundToInt (mouseDownPosition.y); } int MouseEvent::getDistanceFromDragStartX() const noexcept { return getOffsetFromDragStart().x; } int MouseEvent::getDistanceFromDragStartY() const noexcept { return getOffsetFromDragStart().y; } diff --git a/modules/juce_gui_basics/mouse/juce_MouseEvent.h b/modules/juce_gui_basics/mouse/juce_MouseEvent.h index 8fe3220f9e..d47a30c8da 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseEvent.h +++ b/modules/juce_gui_basics/mouse/juce_MouseEvent.h @@ -149,6 +149,12 @@ public: */ const float tiltY; + /** The coordinates of the last place that a mouse button was pressed. + The coordinates are relative to the component specified in MouseEvent::component. + @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasDraggedSinceMouseDown + */ + const Point mouseDownPosition; + /** The component that this event applies to. This is usually the component that the mouse was over at the time, but for mouse-drag @@ -197,7 +203,8 @@ public: /** Returns the coordinates of the last place that a mouse was pressed. The coordinates are relative to the component specified in MouseEvent::component. - @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasDraggedSinceMouseDown + For a floating point version of this value, see mouseDownPosition. + @see mouseDownPosition, getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasDraggedSinceMouseDown */ Point getMouseDownPosition() const noexcept; @@ -367,7 +374,6 @@ public: private: //============================================================================== - const Point mouseDownPos; const uint8 numberOfClicks, wasMovedSinceMouseDown; MouseEvent& operator= (const MouseEvent&);