<class name="QTabletEvent" doc="/**
&lt;p&gt;The &lt;a href=&quot;QTabletEvent.html#QTabletEvent(com.trolltech.qt.core.QEvent.Type, com.trolltech.qt.core.QPoint, com.trolltech.qt.core.QPoint, com.trolltech.qt.core.QPointF, int, int, double, int, int, double, double, int, com.trolltech.qt.core.Qt.KeyboardModifiers, long)&quot;&gt;&lt;tt&gt;QTabletEvent&lt;/tt&gt;&lt;/a&gt; class contains parameters that describe a Tablet event.&lt;/p&gt;
&lt;p&gt;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 &lt;a href=&quot;QTabletEvent.html#x()&quot;&gt;&lt;tt&gt;x&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTabletEvent.html#y()&quot;&gt;&lt;tt&gt;y&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTabletEvent.html#pos()&quot;&gt;&lt;tt&gt;pos&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTabletEvent.html#globalX()&quot;&gt;&lt;tt&gt;globalX&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTabletEvent.html#globalY()&quot;&gt;&lt;tt&gt;globalY&lt;/tt&gt;&lt;/a&gt;, and &lt;a href=&quot;QTabletEvent.html#globalPos()&quot;&gt;&lt;tt&gt;globalPos&lt;/tt&gt;&lt;/a&gt;. 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. &lt;a href=&quot;QTabletEvent.html#QTabletEvent(com.trolltech.qt.core.QEvent.Type, com.trolltech.qt.core.QPoint, com.trolltech.qt.core.QPoint, com.trolltech.qt.core.QPointF, int, int, double, int, int, double, double, int, com.trolltech.qt.core.Qt.KeyboardModifiers, long)&quot;&gt;&lt;tt&gt;QTabletEvent&lt;/tt&gt;&lt;/a&gt; allows you to read the &lt;a href=&quot;QTabletEvent.html#pressure()&quot;&gt;&lt;tt&gt;pressure&lt;/tt&gt;&lt;/a&gt;, the &lt;a href=&quot;QTabletEvent.html#xTilt()&quot;&gt;&lt;tt&gt;xTilt&lt;/tt&gt;&lt;/a&gt;, and &lt;a href=&quot;QTabletEvent.html#yTilt()&quot;&gt;&lt;tt&gt;yTilt&lt;/tt&gt;&lt;/a&gt;, as well as the type of device being used with &lt;a href=&quot;QTabletEvent.html#device()&quot;&gt;&lt;tt&gt;device&lt;/tt&gt;&lt;/a&gt; (see &lt;a href=&quot;QTabletEvent.html#TabletDevice-enum&quot;&gt;&lt;tt&gt;TabletDevice&lt;/tt&gt;&lt;/a&gt;). It can also give you the minimum and maximum values for each device's pressure and high resolution coordinates.&lt;/p&gt;
&lt;p&gt;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 &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QEvent.html#Type-enum&quot;&gt;&lt;tt&gt;TabletEnterProximity&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;%2E%2E/core/%2E%2E/core/QEvent.html#Type-enum&quot;&gt;&lt;tt&gt;TabletLeaveProximity&lt;/tt&gt;&lt;/a&gt; events, these are only sent to &lt;a href=&quot;QApplication.html&quot;&gt;&lt;tt&gt;QApplication&lt;/tt&gt;&lt;/a&gt; and don't check whether or not they are accepted.&lt;/p&gt;
&lt;p&gt;The QWidget::setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;a name=&quot;notes-for-x11-users&quot;&gt;&lt;/a&gt;
&lt;h3&gt;Notes for X11 Users&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
 */">
    <method name="public QTabletEvent(com.trolltech.qt.core.QEvent.Type t, com.trolltech.qt.core.QPoint pos, com.trolltech.qt.core.QPoint globalPos, com.trolltech.qt.core.QPointF hiResGlobalPos, int device, int pointerType, double pressure, int xTilt, int yTilt, double tangentialPressure, double rotation, int z, com.trolltech.qt.core.Qt.KeyboardModifiers keyState, long uniqueID)" doc="/**
&lt;p&gt;Construct a tablet event of the given &lt;tt&gt;t&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;pos&lt;/tt&gt; parameter indicates where the event occurred in the widget; &lt;tt&gt;globalPos&lt;/tt&gt; is the corresponding position in absolute coordinates. The &lt;tt&gt;hiResGlobalPos&lt;/tt&gt; contains a high resolution measurement of the position.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;pressure&lt;/tt&gt; contains the pressure exerted on the &lt;tt&gt;device&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;pointerType&lt;/tt&gt; describes the type of pen that is being used.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;xTilt&lt;/tt&gt; and &lt;tt&gt;yTilt&lt;/tt&gt; contain the device's degree of tilt from the x and y axes respectively.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;keyState&lt;/tt&gt; specifies which keyboard modifiers are pressed (e.g&amp;#x2e;, &lt;b&gt;Ctrl&lt;/b&gt;).&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;uniqueID&lt;/tt&gt; parameter contains the unique ID for the current device.&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;z&lt;/tt&gt; 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.&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;tangentialPressure&lt;/tt&gt; paramater contins the tangential pressure of an air brush. If the device does not support tangential pressure, pass 0 here.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;rotation&lt;/tt&gt; contains the device's rotation in degrees. 4D mice support rotation. If the device does not support rotation, pass 0 here.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#pos()&quot;&gt;&lt;tt&gt;pos&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#globalPos()&quot;&gt;&lt;tt&gt;globalPos&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#device()&quot;&gt;&lt;tt&gt;device&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#pressure()&quot;&gt;&lt;tt&gt;pressure&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#xTilt()&quot;&gt;&lt;tt&gt;xTilt&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#yTilt()&quot;&gt;&lt;tt&gt;yTilt&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#uniqueId()&quot;&gt;&lt;tt&gt;uniqueId&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#rotation()&quot;&gt;&lt;tt&gt;rotation&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#tangentialPressure()&quot;&gt;&lt;tt&gt;tangentialPressure&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#z()&quot;&gt;&lt;tt&gt;z&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.gui.QTabletEvent.TabletDevice device()" doc="/**
&lt;p&gt;Returns the type of device that generated the event.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#TabletDevice-enum&quot;&gt;&lt;tt&gt;TabletDevice&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QPoint globalPos()" doc="/**
&lt;p&gt;Returns the global position of the device &lt;i&gt;at the time of the event&lt;/i&gt;. This is important on asynchronous windows systems like X11; whenever you move your widgets around in response to mouse events, &lt;a href=&quot;QTabletEvent.html#globalPos()&quot;&gt;&lt;tt&gt;globalPos&lt;/tt&gt;&lt;/a&gt; can differ significantly from the current position QCursor::pos().&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#globalX()&quot;&gt;&lt;tt&gt;globalX&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#globalY()&quot;&gt;&lt;tt&gt;globalY&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#hiResGlobalPos()&quot;&gt;&lt;tt&gt;hiResGlobalPos&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int globalX()" doc="/**
&lt;p&gt;Returns the global x position of the mouse pointer at the time of the event.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#globalY()&quot;&gt;&lt;tt&gt;globalY&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#globalPos()&quot;&gt;&lt;tt&gt;globalPos&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#hiResGlobalX()&quot;&gt;&lt;tt&gt;hiResGlobalX&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int globalY()" doc="/**
&lt;p&gt;Returns the global y position of the tablet device at the time of the event.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#globalX()&quot;&gt;&lt;tt&gt;globalX&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#globalPos()&quot;&gt;&lt;tt&gt;globalPos&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#hiResGlobalY()&quot;&gt;&lt;tt&gt;hiResGlobalY&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QPointF hiResGlobalPos()" doc="/**
&lt;p&gt;The high precision coordinates delivered from the tablet expressed. Sub pixeling information is in the fractional part of the &lt;a href=&quot;%2E%2E/core/QPointF.html&quot;&gt;&lt;tt&gt;QPointF&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#globalPos()&quot;&gt;&lt;tt&gt;globalPos&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#hiResGlobalX()&quot;&gt;&lt;tt&gt;hiResGlobalX&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#hiResGlobalY()&quot;&gt;&lt;tt&gt;hiResGlobalY&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final double hiResGlobalX()" doc="/**
&lt;p&gt;The high precision x position of the tablet device.&lt;/p&gt;
 */"/>
    <method name="public final double hiResGlobalY()" doc="/**
&lt;p&gt;The high precision y position of the tablet device.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QTabletEvent.PointerType pointerType()" doc="/**
&lt;p&gt;Returns the type of point that generated the event.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.core.QPoint pos()" doc="/**
&lt;p&gt;Returns the position of the device, relative to the widget that received the event.&lt;/p&gt;
&lt;p&gt;If you move widgets around in response to mouse events, use &lt;a href=&quot;QTabletEvent.html#globalPos()&quot;&gt;&lt;tt&gt;globalPos&lt;/tt&gt;&lt;/a&gt; instead of this function.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#x()&quot;&gt;&lt;tt&gt;x&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#y()&quot;&gt;&lt;tt&gt;y&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#globalPos()&quot;&gt;&lt;tt&gt;globalPos&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final double pressure()" doc="/**
&lt;p&gt;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.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#tangentialPressure()&quot;&gt;&lt;tt&gt;tangentialPressure&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final double rotation()" doc="/**
&lt;p&gt;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&amp;#x2e;&lt;/p&gt;
 */"/>
    <method name="public final double tangentialPressure()" doc="/**
&lt;p&gt;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&amp;#x2e; 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&amp;#x2e;&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#pressure()&quot;&gt;&lt;tt&gt;pressure&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final long uniqueId()" doc="/**
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Support of this feature is dependent on the tablet.&lt;/p&gt;
&lt;p&gt;Values for the same device may vary from OS to OS.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#pointerType()&quot;&gt;&lt;tt&gt;pointerType&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int x()" doc="/**
&lt;p&gt;Returns the x position of the device, relative to the widget that received the event.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#y()&quot;&gt;&lt;tt&gt;y&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#pos()&quot;&gt;&lt;tt&gt;pos&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int xTilt()" doc="/**
&lt;p&gt;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.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;%2E%2E/images/qtabletevent-tilt.png&quot; /&gt;&lt;/p&gt;
@see &lt;a href=&quot;QTabletEvent.html#yTilt()&quot;&gt;&lt;tt&gt;yTilt&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int y()" doc="/**
&lt;p&gt;Returns the y position of the device, relative to the widget that received the event.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#x()&quot;&gt;&lt;tt&gt;x&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTabletEvent.html#pos()&quot;&gt;&lt;tt&gt;pos&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int yTilt()" doc="/**
&lt;p&gt;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.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#xTilt()&quot;&gt;&lt;tt&gt;xTilt&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int z()" doc="/**
&lt;p&gt;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 &lt;b&gt;not&lt;/b&gt; the same as pressure.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#pressure()&quot;&gt;&lt;tt&gt;pressure&lt;/tt&gt;&lt;/a&gt; */"/>
    <enum name="TabletDevice" doc="/**
&lt;p&gt;This enum defines what type of device is generating the event.&lt;/p&gt;
 */">
        <enum-value name="NoDevice" doc="/**
&lt;p&gt;No device, or an unknown device.&lt;/p&gt;
 */"/>
        <enum-value name="Puck" doc="/**
&lt;p&gt;A Puck (a device that is similar to a flat mouse with a transparent circle with cross-hairs).&lt;/p&gt;
 */"/>
        <enum-value name="Stylus" doc="/**
&lt;p&gt;A Stylus.&lt;/p&gt;
 */"/>
        <enum-value name="Airbrush" doc="/**
&lt;p&gt;An airbrush&lt;/p&gt;
 */"/>
        <enum-value name="FourDMouse" doc="/**
&lt;p&gt;A 4D Mouse.&lt;/p&gt;
 */"/>
        <enum-value name="XFreeEraser" doc="/**
Internal. */"/>
        <enum-value name="RotationStylus" doc="/**
&lt;p&gt;A special stylus that also knows about rotation (a 6D stylus).&lt;/p&gt;
 */"/>
</enum>
    <enum name="PointerType" doc="/**
&lt;p&gt;This enum defines what type of point is generating the event.&lt;/p&gt;

@see &lt;a href=&quot;QTabletEvent.html#pointerType()&quot;&gt;&lt;tt&gt;pointerType&lt;/tt&gt;&lt;/a&gt; */">
        <enum-value name="UnknownPointer" doc="/**
&lt;p&gt;An unknown device.&lt;/p&gt;
 */"/>
        <enum-value name="Pen" doc="/**
&lt;p&gt;Tip end of a stylus-like device (the narrow end of the pen).&lt;/p&gt;
 */"/>
        <enum-value name="Cursor" doc="/**
&lt;p&gt;Any puck-like device.&lt;/p&gt;
 */"/>
        <enum-value name="Eraser" doc="/**
&lt;p&gt;Eraser end of a stylus-like device (the broad end of the pen).&lt;/p&gt;
 */"/>
</enum>
    <method name="protected final int mYT()"/>
    <method name="protected final void setMYT(int mYT)"/>
    <method name="protected final com.trolltech.qt.core.QPoint mGPos()"/>
    <method name="protected final void setMGPos(com.trolltech.qt.core.QPoint mGPos)"/>
    <method name="protected final int mXT()"/>
    <method name="protected final void setMXT(int mXT)"/>
    <method name="protected final long mUnique()"/>
    <method name="protected final void setMUnique(long mUnique)"/>
    <method name="protected final double mTangential()"/>
    <method name="protected final void setMTangential(double mTangential)"/>
    <method name="protected final int mPointerType()"/>
    <method name="protected final void setMPointerType(int mPointerType)"/>
    <method name="protected final com.trolltech.qt.core.QPointF mHiResGlobalPos()"/>
    <method name="protected final void setMHiResGlobalPos(com.trolltech.qt.core.QPointF mHiResGlobalPos)"/>
    <method name="protected final com.trolltech.qt.core.QPoint mPos()"/>
    <method name="protected final void setMPos(com.trolltech.qt.core.QPoint mPos)"/>
    <method name="protected final double mPress()"/>
    <method name="protected final void setMPress(double mPress)"/>
    <method name="protected final int mDev()"/>
    <method name="protected final void setMDev(int mDev)"/>
    <method name="protected final double mRot()"/>
    <method name="protected final void setMRot(double mRot)"/>
    <method name="protected final int mZ()"/>
    <method name="protected final void setMZ(int mZ)"/>
</class>
