void setScreenPos (Point<float> newScreenPos, Time time, const bool forceUpdate) { if (! isDragging()) setComponentUnderMouse (findComponentAt (newScreenPos), newScreenPos, time); if (newScreenPos != lastScreenPos || forceUpdate) { cancelPendingUpdate(); lastScreenPos = newScreenPos; if (Component* const current = getComponentUnderMouse()) { if (isDragging()) { registerMouseDrag (newScreenPos); sendMouseDrag (*current, newScreenPos + unboundedMouseOffset, time); if (isUnboundedMouseModeOn) handleUnboundedDrag (*current); } else { sendMouseMove (*current, newScreenPos, time); } } revealCursor (false); } }
//============================================================================== void Desktop::timerCallback() { int x, y; getMousePosition (x, y); if (lastMouseX != x || lastMouseY != y) sendMouseMove(); }
void Desktop::timerCallback() { if (lastFakeMouseMove != getMousePosition()) sendMouseMove(); }