![]() |
Qt 6.x
The Qt SDK
|
#include <qquickpinchhandler_p.h>
Public Member Functions | |
QQuickPinchHandler (QQuickItem *parent=nullptr) | |
\qmltype PinchHandler \instantiates QQuickPinchHandler \inherits MultiPointHandler \inqmlmodule QtQuick | |
QQuickDragAxis * | xAxis () |
QQuickDragAxis * | yAxis () |
QPointF | activeTranslation () const |
QPointF | persistentTranslation () const |
void | setPersistentTranslation (const QPointF &trans) |
\qmlsignal QtQuick::PinchHandler::translationChanged(QVector2D delta) | |
QQuickDragAxis * | scaleAxis () |
qreal | activeScale () const |
void | setActiveScale (qreal scale) |
\readonly \qmlproperty real QtQuick::PinchHandler::activeScale | |
qreal | persistentScale () const |
void | setPersistentScale (qreal scale) |
\qmlsignal QtQuick::PinchHandler::scaleChanged(qreal delta) | |
QQuickDragAxis * | rotationAxis () |
qreal | activeRotation () const |
void | setActiveRotation (qreal rot) |
\qmlsignal QtQuick::PinchHandler::rotationChanged(qreal delta) | |
qreal | persistentRotation () const |
void | setPersistentRotation (qreal rot) |
\readonly \qmlproperty real QtQuick::PinchHandler::persistentRotation | |
![]() | |
QQuickMultiPointHandler (QQuickItem *parent=nullptr, int minimumPointCount=2, int maximumPointCount=-1) | |
\qmltype MultiPointHandler | |
int | minimumPointCount () const |
\qmlproperty int MultiPointHandler::minimumPointCount | |
void | setMinimumPointCount (int c) |
int | maximumPointCount () const |
\qmlproperty int MultiPointHandler::maximumPointCount | |
void | setMaximumPointCount (int maximumPointCount) |
const QQuickHandlerPoint & | centroid () const |
\readonly \qmlproperty QtQuick::handlerPoint QtQuick::MultiPointHandler::centroid | |
![]() | |
QQuickPointerDeviceHandler (QQuickItem *parent=nullptr) | |
\qmltype PointerDeviceHandler \qmlabstract | |
QInputDevice::DeviceTypes | acceptedDevices () const |
QPointingDevice::PointerTypes | acceptedPointerTypes () const |
Qt::MouseButtons | acceptedButtons () const |
\qmlproperty flags QtQuick::PointerDeviceHandler::acceptedButtons | |
Qt::KeyboardModifiers | acceptedModifiers () const |
![]() | |
QQuickPointerHandler (QQuickItem *parent=nullptr) | |
\qmltype PointerHandler \qmlabstract | |
~QQuickPointerHandler () | |
bool | enabled () const |
\qmlproperty bool QtQuick::PointerHandler::enabled | |
void | setEnabled (bool enabled) |
bool | active () const |
\readonly \qmlproperty bool QtQuick::PointerHandler::active | |
QQuickItem * | target () const |
\qmlproperty Item QtQuick::PointerHandler::target | |
void | setTarget (QQuickItem *target) |
QQuickItem * | parentItem () const |
\qmlproperty Item QtQuick::PointerHandler::parent | |
void | setParentItem (QQuickItem *p) |
void | handlePointerEvent (QPointerEvent *event) |
GrabPermissions | grabPermissions () const |
\qmlproperty flags QtQuick::PointerHandler::grabPermissions | |
void | setGrabPermissions (GrabPermissions grabPermissions) |
qreal | margin () const |
\qmlproperty real PointerHandler::margin | |
void | setMargin (qreal pointDistanceThreshold) |
int | dragThreshold () const |
\qmlproperty int PointerHandler::dragThreshold | |
void | setDragThreshold (int t) |
void | resetDragThreshold () |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
![]() | |
QQmlParserStatus () | |
virtual | ~QQmlParserStatus () |
virtual void | classBegin ()=0 |
Invoked after class creation, but before any properties have been set. | |
virtual void | componentComplete ()=0 |
Invoked after the root component that caused this instantiation has completed construction. | |
Protected Member Functions | |
bool | wantsPointerEvent (QPointerEvent *event) override |
It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check. | |
void | onActiveChanged () override |
\qmlpropertygroup QtQuick::PinchHandler::xAxis \qmlproperty real QtQuick::PinchHandler::xAxis.minimum \qmlproperty real QtQuick::PinchHandler::xAxis.maximum \qmlproperty bool QtQuick::PinchHandler::xAxis.enabled \qmlproperty real QtQuick::PinchHandler::xAxis.activeValue | |
void | handlePointerEventImpl (QPointerEvent *event) override |
This function can be overridden to implement whatever behavior a specific subclass is intended to have: | |
![]() | |
bool | wantsPointerEvent (QPointerEvent *event) override |
It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check. | |
void | handlePointerEventImpl (QPointerEvent *event) override |
This function can be overridden to implement whatever behavior a specific subclass is intended to have: | |
void | onActiveChanged () override |
void | onGrabChanged (QQuickPointerHandler *grabber, QPointingDevice::GrabTransition transition, QPointerEvent *event, QEventPoint &point) override |
Notification that the grab has changed in some way which is relevant to this handler. | |
QList< QQuickHandlerPoint > & | currentPoints () |
QQuickHandlerPoint & | mutableCentroid () |
Returns a modifiable reference to the point that will be returned by the \l centroid property. | |
bool | hasCurrentPoints (QPointerEvent *event) |
QVector< QEventPoint > | eligiblePoints (QPointerEvent *event) |
qreal | averageTouchPointDistance (const QPointF &ref) |
qreal | averageStartingDistance (const QPointF &ref) |
qreal | averageTouchPointAngle (const QPointF &ref) |
qreal | averageStartingAngle (const QPointF &ref) |
QVector< PointData > | angles (const QPointF &ref) const |
void | acceptPoints (const QVector< QEventPoint > &points) |
bool | grabPoints (QPointerEvent *event, const QVector< QEventPoint > &points) |
void | moveTarget (QPointF pos) |
![]() | |
QQuickPointerDeviceHandler (QQuickPointerDeviceHandlerPrivate &dd, QQuickItem *parent=nullptr) | |
bool | wantsPointerEvent (QPointerEvent *event) override |
It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check. | |
![]() | |
QQuickPointerHandler (QQuickPointerHandlerPrivate &dd, QQuickItem *parent) | |
void | classBegin () override |
Overridden only because QQmlParserStatus requires it. | |
void | componentComplete () override |
Overridden from QQmlParserStatus to ensure that parentItem() sets its cursor if this handler's \l cursorShape property has been set. | |
bool | event (QEvent *) override |
QPointerEvent * | currentEvent () |
virtual bool | wantsPointerEvent (QPointerEvent *event) |
It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check. | |
virtual bool | wantsEventPoint (const QPointerEvent *event, const QEventPoint &point) |
Returns true if the given point (as part of event) could be relevant at all to this handler, as a preliminary check. | |
virtual void | handlePointerEventImpl (QPointerEvent *event) |
This function can be overridden to implement whatever behavior a specific subclass is intended to have: | |
void | setActive (bool active) |
virtual void | onTargetChanged (QQuickItem *oldTarget) |
virtual void | onActiveChanged () |
virtual void | onGrabChanged (QQuickPointerHandler *grabber, QPointingDevice::GrabTransition transition, QPointerEvent *event, QEventPoint &point) |
Notification that the grab has changed in some way which is relevant to this handler. | |
virtual bool | canGrab (QPointerEvent *event, const QEventPoint &point) |
Check whether it's OK to take an exclusive grab of the point. | |
virtual bool | approveGrabTransition (QPointerEvent *event, const QEventPoint &point, QObject *proposedGrabber) |
Check this handler's rules to see if \l proposedGrabber will be allowed to take the exclusive grab. | |
void | setPassiveGrab (QPointerEvent *event, const QEventPoint &point, bool grab=true) |
Acquire or give up a passive grab of the given point, according to the grab state. | |
bool | setExclusiveGrab (QPointerEvent *ev, const QEventPoint &point, bool grab=true) |
Acquire or give up the exclusive grab of the given point, according to the grab state, and subject to the rules: canGrab(), and the rule not to relinquish another handler's grab. | |
void | cancelAllGrabs (QPointerEvent *event, QEventPoint &point) |
Cancel any existing grab of the given point. | |
QPointF | eventPos (const QEventPoint &point) const |
bool | parentContains (const QEventPoint &point) const |
Returns true if margin() > 0 and point is within the margin beyond QQuickItem::boundingRect(), or else returns QQuickItem::contains() QEventPoint::position() effectively (because parentContains(scenePosition) calls QQuickItem::mapFromScene()). | |
bool | parentContains (const QPointF &scenePosition) const |
Returns true if scenePosition is within the margin() beyond QQuickItem::boundingRect() (if margin > 0), or parentItem() contains scenePosition according to QQuickItem::contains(). | |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
Properties | |
QQuickDragAxis * | scaleAxis |
qreal | activeScale |
qreal | persistentScale |
QQuickDragAxis * | rotationAxis |
qreal | activeRotation |
qreal | persistentRotation |
QQuickDragAxis * | xAxis |
QQuickDragAxis * | yAxis |
QPointF | activeTranslation |
FINALQPointF | persistentTranslation |
![]() | |
int | minimumPointCount |
int | maximumPointCount |
QQuickHandlerPoint | centroid |
![]() | |
QInputDevice::DeviceTypes | acceptedDevices |
QPointingDevice::PointerTypes | acceptedPointerTypes |
Qt::MouseButtons | acceptedButtons |
Qt::KeyboardModifiers | acceptedModifiers |
![]() | |
bool | enabled |
bool | active |
QQuickItem * | target |
QQuickItem * | parent |
GrabPermissions | grabPermissions |
qreal | margin |
int | dragThreshold |
![]() | |
QString | objectName |
the name of this object | |
Additional Inherited Members | |
![]() | |
enum | GrabPermission { TakeOverForbidden = 0x0 , CanTakeOverFromHandlersOfSameType = 0x01 , CanTakeOverFromHandlersOfDifferentType = 0x02 , CanTakeOverFromItems = 0x04 , CanTakeOverFromAnything = 0x0F , ApprovesTakeOverByHandlersOfSameType = 0x10 , ApprovesTakeOverByHandlersOfDifferentType = 0x20 , ApprovesTakeOverByItems = 0x40 , ApprovesCancellation = 0x80 , ApprovesTakeOverByAnything = 0xF0 } |
![]() | |
void | setAcceptedDevices (QInputDevice::DeviceTypes acceptedDevices) |
\qmlproperty flags PointerDeviceHandler::acceptedDevices | |
void | setAcceptedPointerTypes (QPointingDevice::PointerTypes acceptedPointerTypes) |
\qmlproperty flags PointerDeviceHandler::acceptedPointerTypes | |
void | setAcceptedButtons (Qt::MouseButtons buttons) |
void | setAcceptedModifiers (Qt::KeyboardModifiers acceptedModifiers) |
\qmlproperty flags PointerDeviceHandler::acceptedModifiers | |
![]() | |
void | deleteLater () |
\threadsafe | |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
![]() | |
static qreal | averageAngleDelta (const QVector< PointData > &old, const QVector< PointData > &newAngles) |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
Definition at line 29 of file qquickpinchhandler_p.h.
|
explicit |
\qmltype PinchHandler \instantiates QQuickPinchHandler \inherits MultiPointHandler \inqmlmodule QtQuick
Handler for pinch gestures.
PinchHandler is a handler that interprets a multi-finger gesture to interactively rotate, zoom, and drag an Item. Like other Input Handlers, by default it is fully functional, and manipulates its \l target, which is the Item within which it is declared.
It has properties to restrict the range of dragging, rotation, and zoom.
If it is declared within one Item but is assigned a different \l target, it handles events within the bounds of the outer Item but manipulates the target
Item instead:
A third way to use it is to set \l target to null
and react to property changes in some other way:
false
.Definition at line 62 of file qquickpinchhandler.cpp.
References QQuickPointerDeviceHandler::acceptedButtons, and Qt::NoButton.
|
inline |
Definition at line 95 of file qquickpinchhandler_p.h.
|
inline |
Definition at line 82 of file qquickpinchhandler_p.h.
|
inline |
Definition at line 70 of file qquickpinchhandler_p.h.
|
overrideprotectedvirtual |
This function can be overridden to implement whatever behavior a specific subclass is intended to have:
true
Reimplemented from QQuickMultiPointHandler.
Definition at line 499 of file qquickpinchhandler.cpp.
References QQuickMultiPointHandler::acceptPoints(), QQuickPointerHandler::active, activeScale, activeTranslation, QQuickDragAxis::activeValue, QQuickItemPrivate::adjustedPosForTransform(), QQuickMultiPointHandler::angles(), QQuickMultiPointHandler::averageAngleDelta(), QQuickMultiPointHandler::averageTouchPointDistance(), Qt::BeginNativeGesture, QQuickMultiPointHandler::centroid, QQuickMultiPointHandler::currentPoints(), d, dist(), QQuickPointerHandler::dragThreshold, emit, QQuickDragAxis::enabled, QQuickPointerHandler::enabled, Qt::EndNativeGesture, QQuickItemPrivate::get(), QQuickMultiPointHandler::grabPoints(), QQuickMultiPointHandler::handlePointerEventImpl(), Qt::hex(), QVector2D::length(), QVector2D::lengthSquared(), QQuickDragAxis::maximum, QQuickMultiPointHandler::maximumPointCount, QQuickDragAxis::minimum, QQuickMultiPointHandler::minimumPointCount, QQuickMultiPointHandler::mutableCentroid(), QEvent::NativeGesture, QQuickPointerHandler::parentItem(), persistentTranslation, QQuickDragAxis::persistentValue(), pos, QEventPoint::Pressed, Q_ASSERT, Q_UNLIKELY, qAbs(), qBound(), qCDebug, QQuickHandlerPoint::reset(), Qt::RotateNativeGesture, QQuickHandlerPoint::scenePosition, QQuickHandlerPoint::scenePressPosition, QQuickPointerHandler::setActive(), setActiveRotation(), setActiveScale(), QQuickPointerHandler::setPassiveGrab(), QVector2D::setX(), QVector2D::setY(), QList< T >::size(), QQuickPointerHandler::target, translationChanged(), updated(), QQuickDragAxis::updateValue(), QPointF::x(), QVector2D::x(), xAxis, QPointF::y(), QVector2D::y(), yAxis, and Qt::ZoomNativeGesture.
|
signal |
|
signal |
|
signal |
|
signal |
|
overrideprotectedvirtual |
\qmlpropertygroup QtQuick::PinchHandler::xAxis \qmlproperty real QtQuick::PinchHandler::xAxis.minimum \qmlproperty real QtQuick::PinchHandler::xAxis.maximum \qmlproperty bool QtQuick::PinchHandler::xAxis.enabled \qmlproperty real QtQuick::PinchHandler::xAxis.activeValue
xAxis
controls the constraints for horizontal translation of the \l target item.
minimum
is the minimum acceptable x coordinate of the translation. maximum
is the maximum acceptable x coordinate of the translation. If enabled
is true, horizontal dragging is allowed.
The activeValueChanged
signal is emitted when activeValue
changes, to provide the increment by which it changed. This is intended for incrementally adjusting one property via multiple handlers.
activeValueChanged
in special cases.\qmlpropertygroup QtQuick::PinchHandler::yAxis \qmlproperty real QtQuick::PinchHandler::yAxis.minimum \qmlproperty real QtQuick::PinchHandler::yAxis.maximum \qmlproperty bool QtQuick::PinchHandler::yAxis.enabled \qmlproperty real QtQuick::PinchHandler::yAxis.activeValue
yAxis
controls the constraints for vertical translation of the \l target item.
minimum
is the minimum acceptable y coordinate of the translation. maximum
is the maximum acceptable y coordinate of the translation. If enabled
is true, vertical dragging is allowed.
The activeValueChanged
signal is emitted when activeValue
changes, to provide the increment by which it changed. This is intended for incrementally adjusting one property via multiple handlers.
activeValueChanged
in special cases.\qmlpropertygroup QtQuick::PinchHandler::scaleAxis \qmlproperty real QtQuick::PinchHandler::scaleAxis.minimum \qmlproperty real QtQuick::PinchHandler::scaleAxis.maximum \qmlproperty bool QtQuick::PinchHandler::scaleAxis.enabled \qmlproperty real QtQuick::PinchHandler::scaleAxis.activeValue
scaleAxis
controls the constraints for setting the \l {QtQuick::Item::scale}{scale} of the \l target item according to the distance between the touchpoints.
minimum
is the minimum acceptable scale. maximum
is the maximum acceptable scale. If enabled
is true, scaling is allowed. activeValue
is the same as \l {QtQuick::PinchHandler::activeScale}.
The activeValueChanged
signal is emitted when activeValue
changes, to provide the multiplier for the incremental change. This is intended for incrementally adjusting one property via multiple handlers.
activeValueChanged
in special cases.\qmlpropertygroup QtQuick::PinchHandler::rotationAxis \qmlproperty real QtQuick::PinchHandler::rotationAxis.minimum \qmlproperty real QtQuick::PinchHandler::rotationAxis.maximum \qmlproperty bool QtQuick::PinchHandler::rotationAxis.enabled \qmlproperty real QtQuick::PinchHandler::rotationAxis.activeValue
rotationAxis
controls the constraints for setting the \l {QtQuick::Item::rotation}{rotation} of the \l target item according to the rotation of the group of touchpoints.
minimum
is the minimum acceptable rotation. maximum
is the maximum acceptable rotation. If enabled
is true, rotation is allowed. activeValue
is the same as \l {QtQuick::PinchHandler::activeRotation}.
The activeValueChanged
signal is emitted when activeValue
changes, to provide the increment by which it changed. This is intended for incrementally adjusting one property via multiple handlers.
activeValueChanged
in special cases.\readonly \qmlproperty bool QtQuick::PinchHandler::active
This property is true
when all the constraints (epecially \l {MultiPointHandler::minimumPointCount}{minimumPointCount} and \l {MultiPointHandler::maximumPointCount}{maximumPointCount}) are satisfied and the \l target, if any, is being manipulated.
Reimplemented from QQuickMultiPointHandler.
Definition at line 477 of file qquickpinchhandler.cpp.
References QQuickPointerHandler::active, QQuickMultiPointHandler::angles(), QQuickMultiPointHandler::averageTouchPointDistance(), QQuickMultiPointHandler::centroid, QQuickMultiPointHandler::onActiveChanged(), QQuickDragAxis::onActiveChanged(), QQuickItem::position(), qCDebug, and QQuickPointerHandler::target.
|
inline |
Definition at line 97 of file qquickpinchhandler_p.h.
|
inline |
Definition at line 84 of file qquickpinchhandler_p.h.
|
inline |
Definition at line 71 of file qquickpinchhandler_p.h.
|
inline |
Definition at line 87 of file qquickpinchhandler_p.h.
Referenced by setActiveRotation(), and setPersistentRotation().
|
inline |
Definition at line 74 of file qquickpinchhandler_p.h.
Referenced by setActiveScale(), and setPersistentScale().
\qmlsignal QtQuick::PinchHandler::rotationChanged(qreal delta)
The rotationChanged
signal is emitted when \l activeRotation (and therefore \l persistentRotation) changes. The delta value gives the additive change in rotation. For example, if the user moves fingers to change the pinch distance so that activeRotation
changes from 10 to 30 degrees, rotationChanged(20)
will be emitted. You can use that to incrementally change the rotation of an item:
delta
is 0
.\readonly \qmlproperty QVector2D QtQuick::PinchHandler::rotation
\readonly \qmlproperty real QtQuick::PinchHandler::activeRotation
The rotation of the pinch gesture in degrees, with positive values clockwise. It is 0
when the gesture begins. If \l target is not null, this will be automatically added to its \l {Item::rotation}{rotation}. Otherwise, bindings can be used to do arbitrary things with this value.
Definition at line 240 of file qquickpinchhandler.cpp.
References activeRotation, QQuickDragAxis::activeValue, emit, rotationChanged(), and QQuickDragAxis::updateValue().
Referenced by handlePointerEventImpl().
\readonly \qmlproperty real QtQuick::PinchHandler::activeScale
The scale factor while the pinch gesture is being performed. It is 1.0 when the gesture begins, increases as the touchpoints are spread apart, and decreases as the touchpoints are brought together. If \l target is not null, its \l {Item::scale}{scale} will be automatically multiplied by this value. Otherwise, bindings can be used to do arbitrary things with this value.
Definition at line 117 of file qquickpinchhandler.cpp.
References activeScale, QQuickDragAxis::activeValue, emit, scaleChanged(), and QQuickDragAxis::updateValue().
Referenced by handlePointerEventImpl().
\readonly \qmlproperty real QtQuick::PinchHandler::persistentRotation
The rotation to be applied to the \l target if it is not null. Otherwise, bindings can be used to do arbitrary things with this value. While the pinch gesture is being performed, \l activeRotation is continuously added; after the gesture ends, it stays the same; and when the next pinch gesture begins, it begins to be modified by activeRotation again.
It's possible to set this property, as a way of synchronizing the basis rotation with a rotation that was set in some other way, for example by another handler. If you set this property directly, activeRotation
does not change, and rotationChanged(0)
is emitted.
Definition at line 266 of file qquickpinchhandler.cpp.
References QQuickDragAxis::activeValue, emit, persistentRotation, rotationChanged(), and QQuickDragAxis::updateValue().
\qmlsignal QtQuick::PinchHandler::scaleChanged(qreal delta)
The scaleChanged
signal is emitted when \l activeScale (and therefore \l persistentScale) changes. The delta value gives the multiplicative change in scale. For example, if the user moves fingers to change the pinch distance so that activeScale
changes from 2 to 2.5, scaleChanged
(1.25) will be emitted. You can use that to incrementally change the scale of an item:
delta
is 1
.\readonly \qmlproperty QVector2D QtQuick::PinchHandler::scale
\readonly \qmlproperty real QtQuick::PinchHandler::persistentScale
The scale factor that will automatically be set on the \l target if it is not null. Otherwise, bindings can be used to do arbitrary things with this value. While the pinch gesture is being performed, it is continuously multiplied by \l activeScale; after the gesture ends, it stays the same; and when the next pinch gesture begins, it begins to be multiplied by activeScale again.
It's possible to set this property, as a way of synchronizing the basis scale with a scale that was set in some other way, for example by another handler. If you set this property directly, activeScale
does not change, and scaleChanged(1)
is emitted.
Definition at line 164 of file qquickpinchhandler.cpp.
References QQuickDragAxis::activeValue, emit, persistentScale, scaleChanged(), and QQuickDragAxis::updateValue().
\qmlsignal QtQuick::PinchHandler::translationChanged(QVector2D delta)
The translationChanged
signal is emitted when \l activeTranslation (and therefore \l persistentTranslation) changes. The delta vector gives the change in translation. You can use that to incrementally change the position of an item:
delta
is {0
, 0}.\readonly \qmlproperty QVector2D QtQuick::PinchHandler::translation
\readonly \qmlproperty QPointF QtQuick::PinchHandler::activeTranslation
The translation of the cluster of points while the pinch gesture is being performed. It is {0
, 0} when the gesture begins, and increases as the \l {eventPoint}{eventPoint(s)} are dragged downward and to the right. After the gesture ends, it stays the same; and when the next pinch gesture begins, it is reset to {0
, 0} again.
(0, 0).\qmlproperty QPointF QtQuick::PinchHandler::persistentTranslation
The translation to be applied to the \l target if it is not null
. Otherwise, bindings can be used to do arbitrary things with this value. While the pinch gesture is being performed, \l activeTranslation is continuously added to it; after the gesture ends, it stays the same.
It's possible to set this property, as a way of synchronizing the basis translation with a translation that was set in some other way, for example by another handler. If you set this property directly, activeTranslation
does not change, and translationChanged
({0, 0}) is emitted.
(0, 0). Definition at line 325 of file qquickpinchhandler.cpp.
References QQuickDragAxis::activeValue, emit, persistentTranslation, translationChanged(), QQuickDragAxis::updateValue(), QPointF::x(), and QPointF::y().
Referenced by handlePointerEventImpl(), and setPersistentTranslation().
|
signal |
|
overrideprotectedvirtual |
It is the responsibility of this function to decide whether the event could be relevant at all to this handler, as a preliminary check.
Returns true
if this handler would like handlePointerEventImpl() to be called. If it returns false
, the handler will be deactivated: setActive(false)
will be called, and any remaining exclusive grab will be relinquished, as a fail-safe.
If you override this function, you should call the immediate parent class implementation (and return false
if it returns false
); that in turn calls its parent class implementation, and so on. QQuickSinglePointHandler::wantsPointerEvent() and QQuickMultiPointHandler::wantsPointerEvent() call wantsEventPoint(), which is also virtual. You usually can get the behavior you want by subclassing the appropriate handler type, overriding QQuickSinglePointHandler::handleEventPoint() or handlePointerEventImpl(), and perhaps overriding wantsEventPoint() if needed.
Reimplemented from QQuickMultiPointHandler.
Definition at line 335 of file qquickpinchhandler.cpp.
References Qt::BeginNativeGesture, Qt::EndNativeGesture, QQuickMultiPointHandler::maximumPointCount, QQuickMultiPointHandler::minimumPointCount, QEvent::NativeGesture, QQuickPointerHandler::parentContains(), Qt::RotateNativeGesture, QQuickMultiPointHandler::wantsPointerEvent(), and Qt::ZoomNativeGesture.
|
inline |
Definition at line 65 of file qquickpinchhandler_p.h.
|
inline |
Definition at line 66 of file qquickpinchhandler_p.h.
|
read |
Definition at line 129 of file qquickpinchhandler_p.h.
Referenced by setActiveRotation().
|
read |
Definition at line 129 of file qquickpinchhandler_p.h.
Referenced by handlePointerEventImpl(), and setActiveScale().
|
read |
Definition at line 129 of file qquickpinchhandler_p.h.
Referenced by handlePointerEventImpl().
|
readwrite |
Definition at line 129 of file qquickpinchhandler_p.h.
Referenced by setPersistentRotation().
|
readwrite |
Definition at line 129 of file qquickpinchhandler_p.h.
Referenced by setPersistentScale().
|
readwrite |
Definition at line 56 of file qquickpinchhandler_p.h.
Referenced by handlePointerEventImpl(), and setPersistentTranslation().
|
read |
Definition at line 129 of file qquickpinchhandler_p.h.
|
read |
Definition at line 129 of file qquickpinchhandler_p.h.
|
read |
Definition at line 129 of file qquickpinchhandler_p.h.
Referenced by handlePointerEventImpl().
|
read |
Definition at line 129 of file qquickpinchhandler_p.h.
Referenced by handlePointerEventImpl().