1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-11 23:54:18 +00:00

Added a method MouseInactivityDetector::setMouseMoveTolerance()

This commit is contained in:
jules 2015-04-27 11:58:52 +01:00
parent 7ee6583952
commit 5cd4bf5905
2 changed files with 11 additions and 9 deletions

View file

@ -23,7 +23,7 @@
*/
MouseInactivityDetector::MouseInactivityDetector (Component& c)
: targetComp (c), delayMs (1500), isActive (true)
: targetComp (c), delayMs (1500), toleranceDistance (15), isActive (true)
{
targetComp.addMouseListener (this, true);
}
@ -33,11 +33,8 @@ MouseInactivityDetector::~MouseInactivityDetector()
targetComp.removeMouseListener (this);
}
void MouseInactivityDetector::setDelay (int newDelayMilliseconds)
{
delayMs = newDelayMilliseconds;
}
void MouseInactivityDetector::setDelay (int newDelay) noexcept { delayMs = newDelay; }
void MouseInactivityDetector::setMouseMoveTolerance (int newDistance) noexcept { toleranceDistance = newDistance; }
void MouseInactivityDetector::addListener (Listener* l) { listenerList.add (l); }
void MouseInactivityDetector::removeListener (Listener* l) { listenerList.remove (l); }
@ -51,7 +48,7 @@ void MouseInactivityDetector::wakeUp (const MouseEvent& e, bool alwaysWake)
{
const Point<int> newPos (e.getEventRelativeTo (&targetComp).getPosition());
if ((! isActive) && (alwaysWake || e.source.isTouch() || newPos.getDistanceFrom (lastMousePos) > 15))
if ((! isActive) && (alwaysWake || e.source.isTouch() || newPos.getDistanceFrom (lastMousePos) > toleranceDistance))
setActive (true);
if (lastMousePos != newPos)

View file

@ -54,7 +54,12 @@ public:
/** Sets the time for which the mouse must be still before the callback
is triggered.
*/
void setDelay (int newDelayMilliseconds);
void setDelay (int newDelayMilliseconds) noexcept;
/** Sets the number of pixels by which the cursor is allowed to drift before it is
considered to be actively moved.
*/
void setMouseMoveTolerance (int pixelsNeededToTrigger) noexcept;
//==============================================================================
/** Classes should implement this to receive callbacks from a MouseInactivityDetector
@ -84,7 +89,7 @@ private:
Component& targetComp;
ListenerList<Listener> listenerList;
Point<int> lastMousePos;
int delayMs;
int delayMs, toleranceDistance;
bool isActive;
void timerCallback() override;