CopperSpice API  1.7.2
QTouchDevice Class Reference

Describes the device from which touch events originate. More...

Public Typedefs

using Capabilities = QFlags< CapabilityFlag >
 

Public Types

enum  CapabilityFlag
 
enum  DeviceType
 

Public Methods

 QTouchDevice ()
 
 ~QTouchDevice ()
 
Capabilities capabilities () const
 
int maximumTouchPoints () const
 
QString name () const
 
void setCapabilities (Capabilities caps)
 
void setMaximumTouchPoints (int max)
 
void setName (const QString &name)
 
void setType (DeviceType devType)
 
DeviceType type () const
 

Static Public Methods

static QList< const QTouchDevice * > devices ()
 

Detailed Description

The QTouchDevice class describes the device from which touch events originate.

Each QTouchEvent contains a QTouchDevice pointer to allow accessing device-specific properties like type and capabilities. It is the responsibility of the platform or generic plug-ins to register the available touch devices via QWindowSystemInterface before generating any touch events. Applications do not need to instantiate this class, they should just access the global instances pointed to by QTouchEvent::device().

Member Typedef Documentation

Member Enumeration Documentation

This enum is used with QTouchDevice::capabilities() to indicate what kind of information the touch device or its driver can provide.

Constant Value Description
QTouchDevice::Position 0x0001 Indicates position information is available, meaning that the pos() family of functions in the touch points return valid points
QTouchDevice::Area 0x0002 Indicates touch area information is available, meaning that the rect() family of functions in the touch points return valid rectangles
QTouchDevice::Pressure 0x0004 Indicates pressure information is available, meaning that pressure() returns a valid value
QTouchDevice::Velocity 0x0008 Indicates velocity information is available, meaning that velocity() returns a valid vector
QTouchDevice::RawPositions 0x0010 Indicates the list returned by QTouchEvent::TouchPoint::rawScreenPositions() may contain one or more positions for each touch point, this is relevant when the touch input gets filtered or corrected on driver level
QTouchDevice::NormalizedPosition 0x0020 Indicates the normalized position is available, meaning that normalizedPos() returns a valid value
QTouchDevice::MouseEmulation 0x0040 Indicates the device synthesizes mouse events

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

This enum represents the type of device that generated a QTouchEvent.

Constant Value Description
QTouchDevice::TouchScreen 0 In this type of device, the touch surface and display are integrated. This means the surface and display typically have the same size, such that there is a direct relationship between the touch points' physical positions and the coordinate reported by QTouchEvent::TouchPoint. As a result the user can interact directly with multiple QWidgets and QGraphicsItems at the same time.
QTouchDevice::TouchPad 1 In this type of device, the touch surface is separate from the display. There is not a direct relationship between the physical touch location and the on-screen coordinates. Instead, they are calculated relative to the current mouse position, and the user must use the touch-pad to move this reference point. Unlike touch-screens, CopperSpice allows users to only interact with a single QWidget or QGraphicsItem at a time.

Constructor & Destructor Documentation

QTouchDevice::QTouchDevice ( )

Creates a new touch device instance. By default the name is empty, the only capability is Position and type is TouchScreen.

QTouchDevice::~QTouchDevice ( )

Destroys a touch device instance.

Method Documentation

Capabilities QTouchDevice::capabilities ( ) const

Returns the touch device capabilities.

See also
setCapabilities()
QList< const QTouchDevice * > QTouchDevice::devices ( )
static

Returns a list of all registered devices.

The returned list cannot be used to add new devices. Use QWindowSystemInterface::registerTouchDevice() instead. int QTouchDevice::maximumTouchPoints() const

Returns the maximum number of simultaneous touch points (fingers) that can be detected.

See also
setMaximumTouchPoints()
int QTouchDevice::maximumTouchPoints ( ) const

Returns the maximum number of simultaneous touch points (fingers) that can be detected.

See also
setMaximumTouchPoints()
QString QTouchDevice::name ( ) const

Returns the touch device name.

This string may often be empty. It is however useful for systems that have more than one touch input device because there it can be used to differentiate between the devices (i.e. to tell from which device a QTouchEvent originates from).

See also
setName()
void QTouchDevice::setCapabilities ( Capabilities  caps)

Sets the capabilities caps supported by the device and its driver.

See also
capabilities()
void QTouchDevice::setMaximumTouchPoints ( int  max)

Sets the maximum number of simultaneous touchpoints max supported by the device and its driver.

See also
maximumTouchPoints()
void QTouchDevice::setName ( const QString name)

Sets the name (a unique identifier) for the device. In most systems it is enough to leave this unset and keep the default empty name. This identifier becomes important when having multiple touch devices and a need to differentiate between them.

See also
name()
void QTouchDevice::setType ( DeviceType  devType)

Sets the device type devType.

See also
type()
DeviceType QTouchDevice::type ( ) const

Returns the touch device type.

See also
setType()