com.trolltech.qt.gui
Class QTabletEvent

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.core.QEvent
                  extended by com.trolltech.qt.gui.QInputEvent
                      extended by com.trolltech.qt.gui.QTabletEvent
All Implemented Interfaces:
QtJambiInterface

public class QTabletEvent
extends QInputEvent

The QTabletEvent class contains parameters that describe a Tablet event. Tablet Events are generated from a Wacom tablet. Most of the time you will want to deal with events from the tablet as if they were events from a mouse; for example, you would retrieve the cursor position with x(), y(), pos(), globalX(), globalY(), and globalPos(). In some situations you may wish to retrieve the extra information provided by the tablet device driver; for example, you might want to do subpixeling with higher resolution coordinates or you may want to adjust color brightness based on pressure. QTabletEvent allows you to read the pressure(), the xTilt(), and yTilt(), as well as the type of device being used with device() (see TabletDevice ). It can also give you the minimum and maximum values for each device's pressure and high resolution coordinates.

A tablet event contains a special accept flag that indicates whether the receiver wants the event. You should call QTabletEvent::accept() if you handle the tablet event; otherwise it will be sent to the parent widget. The exception are TabletEnterProximity and TabletLeaveProximity events, these are only sent to QApplication and don't check whether or not they are accepted.

The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.

The event handler QWidget::tabletEvent() receives all three types of tablet events. Qt will first send a tabletEvent then, if it is not accepted, it will send a mouse event. This allows applications that don't utilize tablets to use a tablet like a mouse, while also enabling those who want to use both tablets and mouses differently.

Notes for X11 Users

Qt uses the following hard-coded names to identify tablet devices from the xorg.conf file on X11 (apart from IRIX): 'stylus', 'pen', and 'eraser'. If the devices have other names, they will not be picked up Qt.


Nested Class Summary
static class QTabletEvent.PointerType
          This enum defines what type of point is generating the event.
static class QTabletEvent.TabletDevice
          This enum defines what type of device is generating the event.
 
Nested classes/interfaces inherited from class com.trolltech.qt.core.QEvent
QEvent.Type
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.PrivateSignal0, QSignalEmitter.PrivateSignal1, QSignalEmitter.PrivateSignal2, QSignalEmitter.PrivateSignal3, QSignalEmitter.PrivateSignal4, QSignalEmitter.PrivateSignal5, QSignalEmitter.PrivateSignal6, QSignalEmitter.PrivateSignal7, QSignalEmitter.PrivateSignal8, QSignalEmitter.PrivateSignal9, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9
 
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal
 
Field Summary
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
QTabletEvent(QEvent.Type t, QPoint pos, QPoint globalPos, QPointF hiResGlobalPos, int device, int pointerType, double pressure, int xTilt, int yTilt, double tangentialPressure, double rotation, int z, Qt.KeyboardModifiers keyState, long uniqueID)
          Construct a tablet event of the given type.
 
Method Summary
 QTabletEvent.TabletDevice device()
          Returns the type of device that generated the event.
 QPoint globalPos()
          Returns the global position of the device at the time of the event.
 int globalX()
          Returns the global x position of the mouse pointer at the time of the event.
 int globalY()
          Returns the global y position of the tablet device at the time of the event.
 QPointF hiResGlobalPos()
          The high precision coordinates delivered from the tablet expressed.
 double hiResGlobalX()
          The high precision x position of the tablet device.
 double hiResGlobalY()
          The high precision y position of the tablet device.
protected  QPointF mHiResGlobalPos()
           
protected  long mUnique()
           
 QTabletEvent.PointerType pointerType()
          Returns the type of point that generated the event.
 QPoint pos()
          Returns the position of the device, relative to the widget that received the event.
 double pressure()
          Returns the pressure for the device.
 double rotation()
          Returns the rotation of the current device in degress.
protected  void setMHiResGlobalPos(QPointF mHiResGlobalPos)
           
protected  void setMUnique(long mUnique)
           
 double tangentialPressure()
          Returns the tangential pressure for the device.
 java.lang.String toString()
          Returns a string representation of the this QTabletEvent.
 long uniqueId()
          Returns a unique ID for the current device, making it possible to differentiate between multiple devices being used at the same time on the tablet.
 int x()
          Returns the x position of the device, relative to the widget that received the event.
 int xTilt()
          Returns the angle between the device (a pen, for example) and the perpendicular in the direction of the x axis.
 int y()
          Returns the y position of the device, relative to the widget that received the event.
 int yTilt()
          Returns the angle between the device (a pen, for example) and the perpendicular in the direction of the y axis.
 int z()
          Returns the z position of the device.
 
Methods inherited from class com.trolltech.qt.gui.QInputEvent
modifiers, modState, setModState, setModState
 
Methods inherited from class com.trolltech.qt.core.QEvent
accept, ignore, isAccepted, registerEventType, registerEventType, setAccepted, setT, spontaneous, t, type
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread
 
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
__qt_signalInitialization
 
Methods inherited from class java.lang.Object
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Constructor Detail

QTabletEvent

public QTabletEvent(QEvent.Type t,
                    QPoint pos,
                    QPoint globalPos,
                    QPointF hiResGlobalPos,
                    int device,
                    int pointerType,
                    double pressure,
                    int xTilt,
                    int yTilt,
                    double tangentialPressure,
                    double rotation,
                    int z,
                    Qt.KeyboardModifiers keyState,
                    long uniqueID)
Construct a tablet event of the given type.

The pos parameter indicates where the event occurred in the widget; globalPos is the corresponding position in absolute coordinates. The hiResGlobalPos contains a high resolution measurement of the position.

pressure contains the pressure exerted on the device.

pointerType describes the type of pen that is being used.

xTilt and yTilt contain the device's degree of tilt from the x and y axes respectively.

keyState specifies which keyboard modifiers are pressed (e.g., Ctrl).

The uniqueID parameter contains the unique ID for the current device.

The z parameter contains the coordinate of the device on the tablet, this is usually given by a wheel on 4D mouse. If the device does not support a Z-axis, pass zero here.

The tangentialPressure paramater contins the tangential pressure of an air brush. If the device does not support tangential pressure, pass 0 here.

rotation contains the device's rotation in degrees. 4D mice support rotation. If the device does not support rotation, pass 0 here.

See also:
pos(), globalPos(), device(), pressure(), xTilt(), yTilt(), uniqueId(), rotation(), tangentialPressure(), and z().

Method Detail

device

public final QTabletEvent.TabletDevice device()
Returns the type of device that generated the event.

See also:
TabletDevice .


globalPos

public final QPoint globalPos()
Returns the global position of the device at the time of the event. This is important on asynchronous windows systems like X11; whenever you move your widgets around in response to mouse events, globalPos() can differ significantly from the current position QCursor::pos().

See also:
globalX(), globalY(), and hiResGlobalPos().


globalX

public final int globalX()
Returns the global x position of the mouse pointer at the time of the event.

See also:
globalY(), globalPos(), and hiResGlobalX().


globalY

public final int globalY()
Returns the global y position of the tablet device at the time of the event.

See also:
globalX(), globalPos(), and hiResGlobalY().


hiResGlobalPos

public final QPointF hiResGlobalPos()
The high precision coordinates delivered from the tablet expressed. Sub pixeling information is in the fractional part of the QPointF.

See also:
globalPos(), hiResGlobalX(), and hiResGlobalY().


hiResGlobalX

public final double hiResGlobalX()
The high precision x position of the tablet device.


hiResGlobalY

public final double hiResGlobalY()
The high precision y position of the tablet device.


pointerType

public final QTabletEvent.PointerType pointerType()
Returns the type of point that generated the event.


pos

public final QPoint pos()
Returns the position of the device, relative to the widget that received the event.

If you move widgets around in response to mouse events, use globalPos() instead of this function.

See also:
x(), y(), and globalPos().


pressure

public final double pressure()
Returns the pressure for the device. 0.0 indicates that the stylus is not on the tablet, 1.0 indicates the maximum amount of pressure for the stylus.

See also:
tangentialPressure().


rotation

public final double rotation()
Returns the rotation of the current device in degress. This is usually given by a 4D Mouse. If the device doesn't support rotation this value is always 0.0.


tangentialPressure

public final double tangentialPressure()
Returns the tangential pressure for the device. This is typically given by a finger wheel on an airbrush tool. The range is from -1.0 to 1.0. 0.0 indicates a neutral position. Current airbrushes can only move in the positive direction from the neutrual position. If the device does not support tangential pressure, this value is always 0.0.

See also:
pressure().


uniqueId

public final long uniqueId()
Returns a unique ID for the current device, making it possible to differentiate between multiple devices being used at the same time on the tablet.

Support of this feature is dependent on the tablet.

Values for the same device may vary from OS to OS.

Later versions of the Wacom driver for Linux will now report the ID information. If you have a tablet that supports unique ID and are not getting the information on Linux, consider upgrading your driver.

As of Qt 4.2, the unique ID is the same regardless of the orientation of the pen. Earlier versions would report a different value when using the eraser-end versus the pen-end of the stylus on some OS's.

See also:
pointerType().


x

public final int x()
Returns the x position of the device, relative to the widget that received the event.

See also:
y(), and pos().


xTilt

public final int xTilt()
Returns the angle between the device (a pen, for example) and the perpendicular in the direction of the x axis. Positive values are towards the tablet's physical right. The angle is in the range -60 to +60 degrees.

See also:
yTilt().


y

public final int y()
Returns the y position of the device, relative to the widget that received the event.

See also:
x(), and pos().


yTilt

public final int yTilt()
Returns the angle between the device (a pen, for example) and the perpendicular in the direction of the y axis. Positive values are towards the bottom of the tablet. The angle is within the range -60 to +60 degrees.

See also:
xTilt().


z

public final int z()
Returns the z position of the device. Typically this is represented by a wheel on a 4D Mouse. If the device does not support a Z-axis, this value is always zero. This is not the same as pressure.

See also:
pressure().


setMUnique

protected final void setMUnique(long mUnique)

mUnique

protected final long mUnique()

setMHiResGlobalPos

protected final void setMHiResGlobalPos(QPointF mHiResGlobalPos)

mHiResGlobalPos

protected final QPointF mHiResGlobalPos()

toString

public java.lang.String toString()
Returns a string representation of the this QTabletEvent.

Overrides:
toString in class QInputEvent