- Qt 6.9
- Qt GUI
- C++ Classes
- QEventPoint
- Qt 6.9.3 Reference Documentation

# QEventPoint Class

The QEventPoint class provides information about a point in a QPointerEvent. More...

Header: | `#include <QEventPoint>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Gui)` `target_link_libraries(mytarget PRIVATE Qt6::Gui)`
qmake: | `QT += gui`
Since: | Qt 6.0

- List of all members, including inherited members
- Deprecated members

## Public Types

enum | State { Unknown, Stationary, Pressed, Updated, Released }
flags | States

## Properties

- accepted : bool
- device : const QPointingDevice*
- ellipseDiameters : const QSizeF
- globalGrabPosition : const QPointF
- globalLastPosition : const QPointF
- globalPosition : const QPointF
- globalPressPosition : const QPointF
- grabPosition : const QPointF
- id : const int
- lastPosition : const QPointF
- lastTimestamp : const ulong
- position : const QPointF
- pressPosition : const QPointF

- pressTimestamp : const ulong
- pressure : const qreal
- rotation : const qreal
- sceneGrabPosition : const QPointF
- sceneLastPosition : const QPointF
- scenePosition : const QPointF
- scenePressPosition : const QPointF
- state : const State
- timeHeld : const qreal
- timestamp : const ulong
- uniqueId : const QPointingDeviceUniqueId
- velocity : const QVector2D

## Public Functions

| QEventPoint(int pointId, QEventPoint::State state, const QPointF &scenePosition, const QPointF &globalPosition)
| QEventPoint(const QEventPoint &other)
| QEventPoint(QEventPoint &&other)
| ~QEventPoint()
const QPointingDevice * | device() const
QSizeF | ellipseDiameters() const
QPointF | globalGrabPosition() const
QPointF | globalLastPosition() const
QPointF | globalPosition() const
QPointF | globalPressPosition() const
QPointF | grabPosition() const
int | id() const
bool | isAccepted() const
QPointF | lastPosition() const
ulong | lastTimestamp() const
QPointF | normalizedPosition() const
QPointF | position() const
QPointF | pressPosition() const
ulong | pressTimestamp() const
qreal | pressure() const
qreal | rotation() const
QPointF | sceneGrabPosition() const
QPointF | sceneLastPosition() const
QPointF | scenePosition() const
QPointF | scenePressPosition() const
void | setAccepted(bool accepted = true)
QEventPoint::State | state() const
qreal | timeHeld() const
ulong | timestamp() const
QPointingDeviceUniqueId | uniqueId() const
QVector2D | velocity() const
bool | operator!=(const QEventPoint &other) const
QEventPoint & | operator=(QEventPoint &&other)
QEventPoint & | operator=(const QEventPoint &other)
bool | operator==(const QEventPoint &other) const

## Detailed Description

## Member Type Documentation

### enum QEventPoint::State
flags QEventPoint::States

Specifies the state of this event point.

Constant | Value | Description
--- | --- | ---
`QEventPoint::Unknown` | `Qt::TouchPointUnknownState` | Unknown state.
`QEventPoint::Stationary` | `Qt::TouchPointStationary` | The event point did not move.
`QEventPoint::Pressed` | `Qt::TouchPointPressed` | The touch point or button is pressed.
`QEventPoint::Updated` | `Qt::TouchPointMoved` | The event point was updated.
`QEventPoint::Released` | `Qt::TouchPointReleased` | The touch point or button was released.

The States type is a typedef for QFlags<State>. It stores an OR combination of State values.

## Property Documentation

### accepted : bool

This property holds the accepted state of the event point.

In widget-based applications, this property is not used, as it's only meaningful for a widget to accept or reject a complete QInputEvent.

In Qt Quick however, it's normal for an Item or Event Handler to accept only the individual points in a QTouchEvent that are actually participating in a gesture, while other points can be delivered to other items or handlers. For the sake of consistency, that applies to any QPointerEvent; and delivery is done only when all points in a QPointerEvent have been accepted.

Access functions:

bool | isAccepted() const
void | setAccepted(bool accepted = true)

See also QEvent::accepted.

### `[read-only]` device : const QPointingDevice*

This property holds the pointing device from which this event point originates.

Access functions:

const QPointingDevice * | device() const

### `[read-only]` ellipseDiameters : const QSizeF

This property holds the width and height of the bounding ellipse of the touch point.

The return value is in logical pixels. Most touchscreens do not detect the shape of the contact point, and no mice or tablet devices can detect it, so a null size is the most common value. On some touchscreens the diameters may be nonzero and always equal (the ellipse is approximated as a circle).

Access functions:

QSizeF | ellipseDiameters() const

### `[read-only]` globalGrabPosition : const QPointF

This property holds the global position at which this point was grabbed.

The global position is relative to the screen or virtual desktop.

Access functions:

QPointF | globalGrabPosition() const

See also globalPosition, grabPosition, and sceneGrabPosition.

### `[read-only]` globalLastPosition : const QPointF

This property holds the global position of this point from the previous press or move event.

The global position is relative to the screen or virtual desktop.

Access functions:

QPointF | globalLastPosition() const

See also globalPosition, lastPosition, and sceneLastPosition.

### `[read-only]` globalPosition : const QPointF

This property holds the global position of this point.

The global position is relative to the screen or virtual desktop.

Access functions:

QPointF | globalPosition() const

See also globalPressPosition, position, and scenePosition.

### `[read-only]` globalPressPosition : const QPointF

This property holds the global position at which this point was pressed.

The global position is relative to the screen or virtual desktop.

Access functions:

QPointF | globalPressPosition() const

See also globalPosition, pressPosition, and scenePressPosition.

### `[read-only]` grabPosition : const QPointF

This property holds the position at which this point was grabbed.

The position is relative to the widget or item that received the event.

Access functions:

QPointF | grabPosition() const

See also position.

### `[read-only]` id : const int

This property holds the ID number of this event point.

Note: Do not assume that ID numbers start at zero or that they are sequential. Such an assumption is often false due to the way the underlying drivers work.

Access functions:

int | id() const

### `[read-only]` lastPosition : const QPointF

This property holds the position of this point from the previous press or move event.

The position is relative to the widget or item that received the event.

Access functions:

QPointF | lastPosition() const

See also position and pressPosition.

### `[read-only]` lastTimestamp : const ulong

This property holds the time from the previous QPointerEvent that contained this point.

Access functions:

ulong | lastTimestamp() const

See also globalLastPosition.

### `[read-only]` position : const QPointF

This property holds the position of this point.

The position is relative to the widget or item that received the event.

Access functions:

QPointF | position() const

### `[read-only]` pressPosition : const QPointF

This property holds the position at which this point was pressed.

The position is relative to the widget or item that received the event.

Access functions:

QPointF | pressPosition() const

See also position.

### `[read-only]` pressTimestamp : const ulong

This property holds the most recent time at which this point was pressed.

Access functions:

ulong | pressTimestamp() const

See also timestamp.

### `[read-only]` pressure : const qreal

This property holds the pressure of this point.

The return value is in the range `0.0` to `1.0`.

Access functions:

qreal | pressure() const

### `[read-only]` rotation : const qreal

This property holds the angular orientation of this point.

The return value is in degrees, where zero (the default) indicates the finger, token or stylus is pointing upwards, a negative angle means it's rotated to the left, and a positive angle means it's rotated to the right. Most touchscreens do not detect rotation, so zero is the most common value.

Access functions:

qreal | rotation() const

### `[read-only]` sceneGrabPosition : const QPointF

This property holds the scene position at which this point was grabbed.

The scene position is the position relative to QQuickWindow if handled in QQuickItem::event(), in QGraphicsScene coordinates if handled by an override of QGraphicsItem::touchEvent(), or the window position in widget applications.

Access functions:

QPointF | sceneGrabPosition() const

See also scenePosition, grabPosition, and globalGrabPosition.

### `[read-only]` sceneLastPosition : const QPointF

This property holds the scene position of this point from the previous press or move event.

The scene position is the position relative to QQuickWindow if handled in QQuickItem::event(), in QGraphicsScene coordinates if handled by an override of QGraphicsItem::touchEvent(), or the window position in widget applications.

Access functions:

QPointF | sceneLastPosition() const

See also scenePosition and scenePressPosition.

### `[read-only]` scenePosition : const QPointF

This property holds the scene position of this point.

The scene position is the position relative to QQuickWindow if handled in QQuickItem::event(), in QGraphicsScene coordinates if handled by an override of QGraphicsItem::touchEvent(), or the window position in widget applications.

Access functions:

QPointF | scenePosition() const

See also scenePressPosition, position, and globalPosition.

### `[read-only]` scenePressPosition : const QPointF

This property holds the scene position at which this point was pressed.

The scene position is the position relative to QQuickWindow if handled in QQuickItem::event(), in QGraphicsScene coordinates if handled by an override of QGraphicsItem::touchEvent(), or the window position in widget applications.

Access functions:

QPointF | scenePressPosition() const

See also scenePosition, pressPosition, and globalPressPosition.

### `[read-only]` state : const State

This property holds the current state of the event point.

Access functions:

QEventPoint::State | state() const

### `[read-only]` timeHeld : const qreal

This property holds the duration, in seconds, since this point was pressed and not released.

Access functions:

qreal | timeHeld() const

See also pressTimestamp and timestamp.

### `[read-only]` timestamp : const ulong

This property holds the most recent time at which this point was included in a QPointerEvent.

Access functions:

ulong | timestamp() const

See also QPointerEvent::timestamp().

### `[read-only]` uniqueId : const QPointingDeviceUniqueId

This property holds the unique ID of this point or token, if any.

It is often invalid (see isValid()), because touchscreens cannot uniquely identify fingers.

When it comes from a QTabletEvent, it identifies the serial number of the stylus in use.

It may identify a specific token (fiducial object) when the TUIO driver is in use with a touchscreen that supports them.

Access functions:

QPointingDeviceUniqueId | uniqueId() const

### `[read-only]` velocity : const QVector2D

This property holds a velocity vector, in units of pixels per second, in the coordinate. system of the screen or desktop.

Note: If the device's capabilities include QInputDevice::Velocity, it means velocity comes from the operating system (perhaps the touch hardware or driver provides it). But usually the `Velocity` capability is not set, indicating that the velocity is calculated by Qt, using a simple Kalman filter to provide a smoothed average velocity rather than an instantaneous value. Effectively it tells how fast and in what direction the user has been dragging this point over the last few events, with the most recent event having the strongest influence.

Access functions:

QVector2D | velocity() const

See also QInputDevice::capabilities() and QInputEvent::device().

## Member Function Documentation

### QEventPoint::QEventPoint(int pointId, QEventPoint::State state, const QPointF &scenePosition, const QPointF &globalPosition)

Constructs an event point with the given pointId, state, scenePosition and globalPosition.

### `[noexcept]` QEventPoint::QEventPoint(const QEventPoint &other)

Constructs an event point by making a shallow copy of other.

### `[noexcept]` QEventPoint::QEventPoint(QEventPoint &&other)

Constructs an event point by moving other.

### `[noexcept]` QEventPoint::~QEventPoint()

Destroys the event point.

### QPointF QEventPoint::normalizedPosition() const

Returns the normalized position of this point.

The coordinates are calculated by transforming globalPosition() into the space of QInputDevice::availableVirtualGeometry(), i.e. `(0, 0)` is the top-left corner and `(1, 1)` is the bottom-right corner.

See also globalPosition.

### `[noexcept]` bool QEventPoint::operator!=(const QEventPoint &other) const

Returns `true` if this event point is not equal to other, otherwise return `false`.

### `[noexcept]` QEventPoint &QEventPoint::operator=(QEventPoint &&other)

Move-assigns other to this event point instance.

### `[noexcept]` QEventPoint &QEventPoint::operator=(const QEventPoint &other)

Assigns other to this event point and returns a reference to this event point.

### `[noexcept]` bool QEventPoint::operator==(const QEventPoint &other) const

Returns `true` if this event point is equal to other, otherwise return `false`.