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:
parent
7ee6583952
commit
5cd4bf5905
2 changed files with 11 additions and 9 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue