diff --git a/modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h b/modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h index 1e8275eb12..e8c1b7d6fd 100644 --- a/modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h +++ b/modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h @@ -50,8 +50,8 @@ public: if (Component* const comp = Desktop::getInstance().findComponentAt (screenPos.roundToInt())) if (ComponentPeer* const peer = comp->getPeer()) if (! peer->isFocused()) - peer->handleMouseEvent (0, peer->globalToLocal (screenPos), mods, - MouseInputSource::invalidPressure, Time::currentTimeMillis()); + peer->handleMouseEvent (MouseInputSource::InputSourceType::mouse, peer->globalToLocal (screenPos), mods, + MouseInputSource::invalidPressure, MouseInputSource::invalidOrientation, Time::currentTimeMillis()); } } diff --git a/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp b/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp index 50f20be625..2afc999210 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp +++ b/modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp @@ -574,7 +574,9 @@ MouseInputSource& MouseInputSource::operator= (const MouseInputSource& other) no } MouseInputSource::InputSourceType MouseInputSource::getType() const noexcept { return pimpl->inputType; } +bool MouseInputSource::isMouse() const noexcept { return (getType() == MouseInputSource::InputSourceType::mouse); } bool MouseInputSource::isTouch() const noexcept { return (getType() == MouseInputSource::InputSourceType::touch); } +bool MouseInputSource::isPen() const noexcept { return (getType() == MouseInputSource::InputSourceType::pen); } bool MouseInputSource::canHover() const noexcept { return ! isTouch(); } bool MouseInputSource::hasMouseWheel() const noexcept { return ! isTouch(); } int MouseInputSource::getIndex() const noexcept { return pimpl->index; } diff --git a/modules/juce_gui_basics/mouse/juce_MouseInputSource.h b/modules/juce_gui_basics/mouse/juce_MouseInputSource.h index a6210ba551..e89abef084 100644 --- a/modules/juce_gui_basics/mouse/juce_MouseInputSource.h +++ b/modules/juce_gui_basics/mouse/juce_MouseInputSource.h @@ -48,7 +48,7 @@ class JUCE_API MouseInputSource { public: - /** Possible mouse input sources */ + /** Possible mouse input sources. */ enum InputSourceType { mouse, @@ -66,11 +66,18 @@ public: bool operator!= (const MouseInputSource& other) const noexcept { return pimpl != other.pimpl; } //============================================================================== - /** Returns the type of input source that this object represents */ + /** Returns the type of input source that this object represents. */ MouseInputSource::InputSourceType getType() const noexcept; + /** Returns true if this object represents a normal desk-based mouse device. */ + bool isMouse() const noexcept; + + /** Returns true if this object represents a source of touch events. */ bool isTouch() const noexcept; + /** Returns true if this object represents a pen device. */ + bool isPen() const noexcept; + /** Returns true if this source has an on-screen pointer that can hover over items without clicking them. */