1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Added a method Desktop::getMouseWheelMoveCounter(), and made the existing getMouseButtonClickCounter() method non-static.

This commit is contained in:
jules 2012-07-15 13:59:13 +01:00
parent d78b10edb3
commit 391e99443e
7 changed files with 29 additions and 23 deletions

View file

@ -71,11 +71,11 @@ void JucerDocument::changed()
void JucerDocument::timerCallback()
{
if ((lastFocusedComp != Component::getCurrentlyFocusedComponent()
|| lastClickCounter != Desktop::getMouseButtonClickCounter())
|| lastClickCounter != Desktop::getInstance().getMouseButtonClickCounter())
&& ! Component::isMouseButtonDownAnywhere())
{
lastFocusedComp = Component::getCurrentlyFocusedComponent();
lastClickCounter = Desktop::getMouseButtonClickCounter();
lastClickCounter = Desktop::getInstance().getMouseButtonClickCounter();
getUndoManager().beginNewTransaction();
}

View file

@ -24,7 +24,7 @@
*/
Desktop::Desktop()
: mouseClickCounter (0),
: mouseClickCounter (0), mouseWheelCounter (0),
kioskModeComponent (nullptr),
allowedOrientations (allOrientations)
{
@ -156,15 +156,11 @@ Point<int> Desktop::getLastMouseDownPosition()
return getInstance().getMainMouseSource().getLastMouseDownPosition();
}
int Desktop::getMouseButtonClickCounter()
{
return getInstance().mouseClickCounter;
}
int Desktop::getMouseButtonClickCounter() const noexcept { return mouseClickCounter; }
int Desktop::getMouseWheelMoveCounter() const noexcept { return mouseWheelCounter; }
void Desktop::incrementMouseClickCounter() noexcept
{
++mouseClickCounter;
}
void Desktop::incrementMouseClickCounter() noexcept { ++mouseClickCounter; }
void Desktop::incrementMouseWheelCounter() noexcept { ++mouseWheelCounter; }
int Desktop::getNumDraggingMouseSources() const noexcept
{

View file

@ -78,7 +78,6 @@ public:
static Point<int> getMousePosition();
/** Makes the mouse pointer jump to a given location.
The co-ordinates are relative to the top-left of the main monitor.
*/
static void setMousePosition (const Point<int>& newPosition);
@ -92,12 +91,17 @@ public:
*/
static Point<int> getLastMouseDownPosition();
/** Returns the number of times the mouse button has been clicked since the
app started.
/** Returns the number of times the mouse button has been clicked since the app started.
Each mouse-down event increments this number by 1.
@see getMouseWheelMoveCounter
*/
static int getMouseButtonClickCounter();
int getMouseButtonClickCounter() const noexcept;
/** Returns the number of times the mouse wheel has been moved since the app started.
Each mouse-wheel event increments this number by 1.
@see getMouseButtonClickCounter
*/
int getMouseWheelMoveCounter() const noexcept;
//==============================================================================
/** This lets you prevent the screensaver from becoming active.
@ -391,8 +395,9 @@ private:
Point<int> lastFakeMouseMove;
void sendMouseMove();
int mouseClickCounter;
int mouseClickCounter, mouseWheelCounter;
void incrementMouseClickCounter() noexcept;
void incrementMouseWheelCounter() noexcept;
ScopedPointer<Timer> dragRepeater;

View file

@ -291,8 +291,9 @@ public:
jassert (peer != nullptr);
lastTime = time;
++mouseEventCounter;
const Point<int> screenPos (peer->localToGlobal (positionWithinPeer));
Desktop::getInstance().incrementMouseWheelCounter();
const Point<int> screenPos (peer->localToGlobal (positionWithinPeer));
setPeer (peer, screenPos, time);
setScreenPos (screenPos, time, false);
triggerFakeMove();

View file

@ -28,6 +28,7 @@ TooltipWindow::TooltipWindow (Component* const parent_,
: Component ("tooltip"),
millisecondsBeforeTipAppears (millisecondsBeforeTipAppears_),
mouseClicks (0),
mouseWheelMoves (0),
lastHideTime (0),
lastComponentUnderMouse (nullptr),
changedCompsSinceShown (true)
@ -145,9 +146,12 @@ void TooltipWindow::timerCallback()
lastComponentUnderMouse = newComp;
lastTipUnderMouse = newTip;
const int clickCount = Desktop::getInstance().getMouseButtonClickCounter();
const bool mouseWasClicked = clickCount > mouseClicks;
Desktop& desktop = Desktop::getInstance();
const int clickCount = desktop.getMouseButtonClickCounter();
const int wheelCount = desktop.getMouseButtonClickCounter();
const bool mouseWasClicked = (clickCount > mouseClicks || wheelCount > mouseWheelMoves);
mouseClicks = clickCount;
mouseWheelMoves = wheelCount;
const Point<int> mousePos (Desktop::getMousePosition());
const bool mouseMovedQuickly = mousePos.getDistanceFrom (lastMousePos) > 12;

View file

@ -98,7 +98,7 @@ private:
//==============================================================================
int millisecondsBeforeTipAppears;
Point<int> lastMousePos;
int mouseClicks;
int mouseClicks, mouseWheelMoves;
unsigned int lastCompChangeTime, lastHideTime;
Component* lastComponentUnderMouse;
bool changedCompsSinceShown;

View file

@ -78,7 +78,7 @@ void SplashScreen::show (const String& title,
repaint();
originalClickCounter = removeOnMouseClick
? Desktop::getMouseButtonClickCounter()
? Desktop::getInstance().getMouseButtonClickCounter()
: std::numeric_limits<int>::max();
earliestTimeToDelete = Time::getCurrentTime() + RelativeTime::milliseconds (minimumTimeToDisplayFor);
@ -99,7 +99,7 @@ void SplashScreen::paint (Graphics& g)
void SplashScreen::timerCallback()
{
if (Time::getCurrentTime() > earliestTimeToDelete
|| Desktop::getMouseButtonClickCounter() > originalClickCounter)
|| Desktop::getInstance().getMouseButtonClickCounter() != originalClickCounter)
{
delete this;
}