LMMS
Loading...
Searching...
No Matches
juce_MouseInactivityDetector.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
44 private MouseListener
45{
46public:
52
54 ~MouseInactivityDetector() override;
55
59 void setDelay (int newDelayMilliseconds) noexcept;
60
64 void setMouseMoveTolerance (int pixelsNeededToTrigger) noexcept;
65
66 //==============================================================================
71 {
72 public:
73 virtual ~Listener() = default;
74
77 virtual void mouseBecameActive() = 0;
78
80 virtual void mouseBecameInactive() = 0;
81 };
82
84 void addListener (Listener* listener);
85
87 void removeListener (Listener* listener);
88
89private:
90 //==============================================================================
94 int delayMs = 1500, toleranceDistance = 15;
95 bool isActive = true;
96
97 void timerCallback() override;
98 void wakeUp (const MouseEvent&, bool alwaysWake);
99 void setActive (bool);
100
101 void mouseMove (const MouseEvent& e) override { wakeUp (e, false); }
102 void mouseEnter (const MouseEvent& e) override { wakeUp (e, false); }
103 void mouseExit (const MouseEvent& e) override { wakeUp (e, false); }
104 void mouseDown (const MouseEvent& e) override { wakeUp (e, true); }
105 void mouseDrag (const MouseEvent& e) override { wakeUp (e, true); }
106 void mouseUp (const MouseEvent& e) override { wakeUp (e, true); }
107 void mouseWheelMove (const MouseEvent& e, const MouseWheelDetails&) override { wakeUp (e, true); }
108
110};
111
112} // namespace juce
Definition juce_Component.h:36
Definition juce_ListenerList.h:70
Definition juce_MouseEvent.h:39
Definition juce_MouseInactivityDetector.h:71
Definition juce_MouseInactivityDetector.h:45
ListenerList< Listener > listenerList
Definition juce_MouseInactivityDetector.h:92
MouseInactivityDetector(Component &target)
Definition juce_MouseInactivityDetector.cpp:29
Component & targetComp
Definition juce_MouseInactivityDetector.h:91
void mouseWheelMove(const MouseEvent &e, const MouseWheelDetails &) override
Definition juce_MouseInactivityDetector.h:107
void addListener(Listener *listener)
Definition juce_MouseInactivityDetector.cpp:42
bool isActive
Definition juce_MouseInactivityDetector.h:95
void mouseDrag(const MouseEvent &e) override
Definition juce_MouseInactivityDetector.h:105
void wakeUp(const MouseEvent &, bool alwaysWake)
Definition juce_MouseInactivityDetector.cpp:50
void mouseExit(const MouseEvent &e) override
Definition juce_MouseInactivityDetector.h:103
void setActive(bool)
Definition juce_MouseInactivityDetector.cpp:64
void mouseMove(const MouseEvent &e) override
Definition juce_MouseInactivityDetector.h:101
void setMouseMoveTolerance(int pixelsNeededToTrigger) noexcept
Definition juce_MouseInactivityDetector.cpp:40
void timerCallback() override
Definition juce_MouseInactivityDetector.cpp:45
void removeListener(Listener *listener)
Definition juce_MouseInactivityDetector.cpp:43
int toleranceDistance
Definition juce_MouseInactivityDetector.h:94
void mouseDown(const MouseEvent &e) override
Definition juce_MouseInactivityDetector.h:104
Point< int > lastMousePos
Definition juce_MouseInactivityDetector.h:93
void setDelay(int newDelayMilliseconds) noexcept
Definition juce_MouseInactivityDetector.cpp:39
void mouseUp(const MouseEvent &e) override
Definition juce_MouseInactivityDetector.h:106
void mouseEnter(const MouseEvent &e) override
Definition juce_MouseInactivityDetector.h:102
int delayMs
Definition juce_MouseInactivityDetector.h:94
Definition juce_MouseListener.h:39
Definition juce_Point.h:42
Timer() noexcept
Definition juce_Timer.cpp:316
* e
Definition inflate.c:1404
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Definition juce_MouseEvent.h:392