Skip to content

Commit

Permalink
Add a legacy-free QWheelEvent constructor
Browse files Browse the repository at this point in the history
qt4Delta and qt4Orientation have been "deprecated" ever since Qt 5.0
(even though widgets continue to depend on those properties).  This
is mainly for use in Qt Quick right now, but can be used everywhere
later on.

Change-Id: If0b163766c8ad8efa268edaa4f1ac1e8926f9003
Reviewed-by: Tor Arne Vestbø <[email protected]>
Reviewed-by: Jan Arve Sæther <[email protected]>
  • Loading branch information
ec1oud committed Mar 23, 2018
1 parent e8260ed commit c08bf21
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 2 deletions.
37 changes: 37 additions & 0 deletions src/gui/kernel/qevent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -960,6 +960,43 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos,
invertedScrolling(inverted)
{}

/*!
Constructs a wheel event object.
The \a pos provides the location of the mouse cursor
within the window. The position in global coordinates is specified
by \a globalPos.
\a pixelDelta contains the scrolling distance in pixels on screen, while
\a angleDelta contains the wheel rotation distance. \a pixelDelta is
optional and can be null.
The mouse and keyboard states at the time of the event are specified by
\a buttons and \a modifiers.
The scrolling phase of the event is specified by \a phase.
If the wheel event comes from a physical mouse wheel, \a source is set to
Qt::MouseEventNotSynthesized. If it comes from a gesture detected by the
operating system, or from a non-mouse hardware device, such that \a
pixelDelta is directly related to finger movement, \a source is set to
Qt::MouseEventSynthesizedBySystem. If it comes from Qt, source would be set
to Qt::MouseEventSynthesizedByQt.
If the system is configured to invert the delta values delivered with the
event (such as natural scrolling of the touchpad on macOS), \a inverted
should be \c true. Otherwise, \a inverted is \c false
\sa posF(), globalPosF(), angleDelta(), pixelDelta(), phase()
*/
QWheelEvent::QWheelEvent(QPointF pos, QPointF globalPos, QPoint pixelDelta, QPoint angleDelta,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase,
bool inverted, Qt::MouseEventSource source)
: QInputEvent(Wheel, modifiers), p(pos), g(globalPos), pixelD(pixelDelta),
angleD(angleDelta), mouseState(buttons), ph(phase), src(source),
invertedScrolling(inverted)
{}

#endif // QT_CONFIG(wheelevent)

/*!
Expand Down
8 changes: 6 additions & 2 deletions src/gui/kernel/qevent.h
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,10 @@ class Q_GUI_EXPORT QWheelEvent : public QInputEvent
QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta,
int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons,
Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted);

QWheelEvent(QPointF pos, QPointF globalPos, QPoint pixelDelta, QPoint angleDelta,
Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase,
bool inverted, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized);
~QWheelEvent();


Expand Down Expand Up @@ -225,8 +229,8 @@ class Q_GUI_EXPORT QWheelEvent : public QInputEvent
QPointF g;
QPoint pixelD;
QPoint angleD;
int qt4D;
Qt::Orientation qt4O;
int qt4D = 0;
Qt::Orientation qt4O = Qt::Vertical;
Qt::MouseButtons mouseState;
uint ph : 2;
uint src: 2;
Expand Down

0 comments on commit c08bf21

Please sign in to comment.