65 peer->globalToLocal (screenPos));
66 auto&
comp = peer->getComponent();
69 if (
comp.contains (relativePos))
70 return comp.getComponentAt (relativePos);
95 #if JUCE_DUMP_MOUSE_EVENTS
96 #define JUCE_MOUSE_EVENT_DBG(desc, screenPos) DBG ("Mouse " << desc << " #" << index \
97 << ": " << ScalingHelpers::screenPosToLocalPos (comp, screenPos).toString() \
98 << " - Comp: " << String::toHexString ((pointer_sized_int) &comp));
100 #define JUCE_MOUSE_EVENT_DBG(desc, screenPos)
215 if (newComponent != current)
220 if (current !=
nullptr)
225 if (
auto oldComp = safeOldComp.
get())
235 current = safeNewComp.
get();
237 if (current !=
nullptr)
241 setButtons (pointerState, time, originalButtonState);
257 const auto& newScreenPos = newPointerState.
position;
308 setPeer (newPeer, pointerState, time);
331 setPeer (peer, pointerState, time);
358 Time time,
const float scaleFactor)
483 mc = current->getLookAndFeel().getMouseCursorFor (*current);
520 &&
peerID == other.peerID;
531 const ModifierKeys modifiers,
bool isTouchSource)
noexcept
538 mouseDowns[0].buttons = modifiers.withOnlyMouseButtons();
541 if (
auto* peer = component.getPeer())
597 {
pimpl->enableUnboundedMouseMovement (isEnabled, keepCursorVisibleUntilOffscreen); }
607 float pressure,
float orientation,
const PenDetails& penDetails)
614 pimpl->handleWheel (peer, pos,
Time (time), wheel);
619 pimpl->handleMagnifyGesture (peer, pos,
Time (time), scaleFactor);
639 #if JUCE_ANDROID || JUCE_IOS
671 if (
type ==
m.getType())
678 jassert (0 <= touchIndex && touchIndex < 100);
681 if (
type ==
m.getType() && touchIndex ==
m.getIndex())
735 bool anyDragging =
false;
743 s->lastPointerState.position =
s->getRawScreenPosition();
744 s->triggerFakeMove();
#define noexcept
Definition DistrhoDefines.h:72
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
Definition juce_Array.h:56
void triggerAsyncUpdate()
Definition juce_AsyncUpdater.cpp:62
void cancelPendingUpdate() noexcept
Definition juce_AsyncUpdater.cpp:74
AsyncUpdater()
Definition juce_AsyncUpdater.cpp:44
Definition juce_Component.h:36
Rectangle< int > getScreenBounds() const
Definition juce_Component.cpp:1134
Rectangle< int > getParentMonitorArea() const
Definition juce_Component.cpp:1126
Definition juce_ComponentPeer.h:44
static ModifierKeys getCurrentModifiersRealtime() noexcept
Definition juce_ComponentPeer.cpp:596
virtual Point< float > localToGlobal(Point< float > relativePosition)=0
static bool isValidPeer(const ComponentPeer *peer) noexcept
Definition juce_ComponentPeer.cpp:70
static Desktop &JUCE_CALLTYPE getInstance()
Definition juce_Desktop.cpp:50
Definition juce_ModifierKeys.h:41
static ModifierKeys currentModifiers
Definition juce_ModifierKeys.h:189
bool isAnyMouseButtonDown() const noexcept
Definition juce_ModifierKeys.h:93
JUCE_NODISCARD ModifierKeys withOnlyMouseButtons() const noexcept
Definition juce_ModifierKeys.h:166
Definition juce_MouseCursor.h:39
void showInWindow(ComponentPeer *) const
Definition juce_MouseCursor.cpp:148
@ NoCursor
Definition juce_MouseCursor.h:47
@ NormalCursor
Definition juce_MouseCursor.h:48
PlatformSpecificHandle * getHandle() const noexcept
Definition juce_MouseCursor.cpp:143
static int getDoubleClickTimeout() noexcept
Definition juce_MouseEvent.cpp:135
Definition juce_OwnedArray.h:51
Definition juce_Point.h:42
Definition juce_PointerState.h:32
JUCE_NODISCARD PointerState withOrientation(float x) const noexcept
Definition juce_PointerState.h:47
JUCE_NODISCARD PointerState withTiltY(float x) const noexcept
Definition juce_PointerState.h:50
JUCE_NODISCARD PointerState withTiltX(float x) const noexcept
Definition juce_PointerState.h:49
JUCE_NODISCARD PointerState withPositionOffset(Point< float > x) const noexcept
Definition juce_PointerState.h:44
Point< float > position
Definition juce_PointerState.h:52
JUCE_NODISCARD PointerState withRotation(float x) const noexcept
Definition juce_PointerState.h:48
JUCE_NODISCARD PointerState withPressure(float x) const noexcept
Definition juce_PointerState.h:46
JUCE_NODISCARD PointerState withPosition(Point< float > x) const noexcept
Definition juce_PointerState.h:45
Point< ValueType > getCentre() const noexcept
Definition juce_Rectangle.h:151
Rectangle< float > toFloat() const noexcept
Definition juce_Rectangle.h:873
Rectangle reduced(ValueType deltaX, ValueType deltaY) const noexcept
Definition juce_Rectangle.h:485
static RelativeTime milliseconds(int milliseconds) noexcept
Definition juce_RelativeTime.cpp:31
Definition juce_Time.h:37
static Time JUCE_CALLTYPE getCurrentTime() noexcept
Definition juce_Time.cpp:233
void stopTimer() noexcept
Definition juce_Timer.cpp:357
int getTimerInterval() const noexcept
Definition juce_Timer.h:116
Timer() noexcept
Definition juce_Timer.cpp:316
void startTimer(int intervalInMilliseconds) noexcept
Definition juce_Timer.cpp:332
Definition juce_WeakReference.h:78
ObjectType * get() const noexcept
Definition juce_WeakReference.h:102
unsigned * m
Definition inflate.c:1559
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
static int JUCE_CDECL comp(const void *a, const void *b)
Definition lsp.c:298
Definition carla_juce.cpp:31
constexpr Type jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
unsigned int uint32
Definition juce_MathsFunctions.h:45
constexpr Type jmax(Type a, Type b)
Definition juce_MathsFunctions.h:94
long long int64
Definition juce_MathsFunctions.h:54
bool isPositiveAndBelow(Type1 valueToTest, Type2 upperLimit) noexcept
Definition juce_MathsFunctions.h:279
constexpr int numElementsInArray(Type(&)[N]) noexcept
Definition juce_MathsFunctions.h:344
Definition juce_MouseEvent.h:392
bool isInertial
Definition juce_MouseEvent.h:422
Definition juce_MouseEvent.h:434
float tiltX
Definition juce_MouseEvent.h:445
float tiltY
Definition juce_MouseEvent.h:451
static PointOrRect scaledScreenPosToUnscaled(float scale, PointOrRect pos) noexcept
Definition juce_Component.cpp:207
static Point< float > screenPosToLocalPos(Component &comp, Point< float > pos)
Definition juce_Component.cpp:279
static PointOrRect unscaledScreenPosToScaled(float scale, PointOrRect pos) noexcept
Definition juce_Component.cpp:201
uch * p
Definition crypt.c:594
#define const
Definition zconf.h:137