<class name="QPaintDevice" doc="/**
&lt;p&gt;The &lt;a href=&quot;QPaintDevice.html#QPaintDevice()&quot;&gt;&lt;tt&gt;QPaintDevice&lt;/tt&gt;&lt;/a&gt; class is the base class of objects that can be painted.&lt;/p&gt;
&lt;p&gt;A paint device is an abstraction of a two-dimensional space that can be drawn using a &lt;a href=&quot;QPainter.html&quot;&gt;&lt;tt&gt;QPainter&lt;/tt&gt;&lt;/a&gt;. Its default coordinate system has its origin located at the top-left position. X increases to the right and Y increases downwards. The unit is one pixel.&lt;/p&gt;
&lt;p&gt;The drawing capabilities of &lt;a href=&quot;QPaintDevice.html#QPaintDevice()&quot;&gt;&lt;tt&gt;QPaintDevice&lt;/tt&gt;&lt;/a&gt; are currently implemented by the &lt;a href=&quot;QWidget.html&quot;&gt;&lt;tt&gt;QWidget&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QImage.html&quot;&gt;&lt;tt&gt;QImage&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QPixmap.html&quot;&gt;&lt;tt&gt;QPixmap&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;%2E%2E/opengl/QGLPixelBuffer.html&quot;&gt;&lt;tt&gt;QGLPixelBuffer&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QPicture.html&quot;&gt;&lt;tt&gt;QPicture&lt;/tt&gt;&lt;/a&gt;, and &lt;a href=&quot;QPrinter.html&quot;&gt;&lt;tt&gt;QPrinter&lt;/tt&gt;&lt;/a&gt; subclasses.&lt;/p&gt;
&lt;p&gt;To implement support for a new backend, you must derive from &lt;a href=&quot;QPaintDevice.html#QPaintDevice()&quot;&gt;&lt;tt&gt;QPaintDevice&lt;/tt&gt;&lt;/a&gt; and reimplement the virtual &lt;a href=&quot;QPaintDevice.html#paintEngine()&quot;&gt;&lt;tt&gt;paintEngine&lt;/tt&gt;&lt;/a&gt; function to tell &lt;a href=&quot;QPainter.html&quot;&gt;&lt;tt&gt;QPainter&lt;/tt&gt;&lt;/a&gt; which paint engine should be used to draw on this particular device. Note that you also must create a corresponding paint engine to be able to draw on the device, i.e derive from &lt;a href=&quot;QPaintEngine.html&quot;&gt;&lt;tt&gt;QPaintEngine&lt;/tt&gt;&lt;/a&gt; and reimplement its virtual functions.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Qt requires that a &lt;a href=&quot;QApplication.html&quot;&gt;&lt;tt&gt;QApplication&lt;/tt&gt;&lt;/a&gt; object exists before any paint devices can be created. Paint devices access window system resources, and these resources are not initialized before an application object is created.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QPaintDevice.html#QPaintDevice()&quot;&gt;&lt;tt&gt;QPaintDevice&lt;/tt&gt;&lt;/a&gt; class provides several functions returning the various device metrics: The &lt;a href=&quot;QPaintDevice.html#depth()&quot;&gt;&lt;tt&gt;depth&lt;/tt&gt;&lt;/a&gt; function returns its bit depth (number of bit planes). The &lt;a href=&quot;QPaintDevice.html#height()&quot;&gt;&lt;tt&gt;height&lt;/tt&gt;&lt;/a&gt; function returns its height in default coordinate system units (e.g&amp;#x2e; pixels for &lt;a href=&quot;QPixmap.html&quot;&gt;&lt;tt&gt;QPixmap&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QWidget.html&quot;&gt;&lt;tt&gt;QWidget&lt;/tt&gt;&lt;/a&gt;) while &lt;a href=&quot;QPaintDevice.html#heightMM()&quot;&gt;&lt;tt&gt;heightMM&lt;/tt&gt;&lt;/a&gt; returns the height of the device in millimeters. Similiarily, the &lt;a href=&quot;QPaintDevice.html#width()&quot;&gt;&lt;tt&gt;width&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QPaintDevice.html#widthMM()&quot;&gt;&lt;tt&gt;widthMM&lt;/tt&gt;&lt;/a&gt; functions return the width of the device in default coordinate system units and in millimeters, respectively. Alternatively, the protected &lt;a href=&quot;QPaintDevice.html#metric(com.trolltech.qt.gui.QPaintDevice.PaintDeviceMetric)&quot;&gt;&lt;tt&gt;metric&lt;/tt&gt;&lt;/a&gt; function can be used to retrieve the metric information by specifying the desired &lt;a href=&quot;QPaintDevice.html#PaintDeviceMetric-enum&quot;&gt;&lt;tt&gt;PaintDeviceMetric&lt;/tt&gt;&lt;/a&gt; as argument.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QPaintDevice.html#logicalDpiX()&quot;&gt;&lt;tt&gt;logicalDpiX&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QPaintDevice.html#logicalDpiY()&quot;&gt;&lt;tt&gt;logicalDpiY&lt;/tt&gt;&lt;/a&gt; functions return the horizontal and vertical resolution of the device in dots per inch. The &lt;a href=&quot;QPaintDevice.html#physicalDpiX()&quot;&gt;&lt;tt&gt;physicalDpiX&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QPaintDevice.html#physicalDpiY()&quot;&gt;&lt;tt&gt;physicalDpiY&lt;/tt&gt;&lt;/a&gt; functions also return the resolution of the device in dots per inch, but note that if the logical and vertical resolution differ, the corresponding &lt;a href=&quot;QPaintEngine.html&quot;&gt;&lt;tt&gt;QPaintEngine&lt;/tt&gt;&lt;/a&gt; must handle the mapping. Finally, the &lt;a href=&quot;QPaintDevice.html#numColors()&quot;&gt;&lt;tt&gt;numColors&lt;/tt&gt;&lt;/a&gt; function returns the number of different colors available for the paint device.&lt;/p&gt;

@see &lt;a href=&quot;QPaintEngine.html&quot;&gt;&lt;tt&gt;QPaintEngine&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QPainter.html&quot;&gt;&lt;tt&gt;QPainter&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;%2E%2E/coordsys.html&quot;&gt;The Coordinate System&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;%2E%2E/paintsystem.html&quot;&gt;The Paint System&lt;/tt&gt;&lt;/a&gt; */">
    <method name="public QPaintDevice()" doc="/**
&lt;p&gt;Constructs a paint device. This constructor can be invoked only from subclasses of &lt;a href=&quot;QPaintDevice.html#QPaintDevice()&quot;&gt;&lt;tt&gt;QPaintDevice&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
    <method name="public final int depth()" doc="/**
&lt;p&gt;Returns the bit depth (number of bit planes) of the paint device.&lt;/p&gt;
 */"/>
    <method name="public final int height()" doc="/**
&lt;p&gt;Returns the height of the paint device in default coordinate system units (e.g&amp;#x2e; pixels for &lt;a href=&quot;QPixmap.html&quot;&gt;&lt;tt&gt;QPixmap&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QWidget.html&quot;&gt;&lt;tt&gt;QWidget&lt;/tt&gt;&lt;/a&gt;).&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#heightMM()&quot;&gt;&lt;tt&gt;heightMM&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int heightMM()" doc="/**
&lt;p&gt;Returns the height of the paint device in millimeters.&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#height()&quot;&gt;&lt;tt&gt;height&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int logicalDpiX()" doc="/**
&lt;p&gt;Returns the horizontal resolution of the device in dots per inch, which is used when computing font sizes. For X11, this is usually the same as could be computed from &lt;a href=&quot;QPaintDevice.html#widthMM()&quot;&gt;&lt;tt&gt;widthMM&lt;/tt&gt;&lt;/a&gt;, but it varies on Windows.&lt;/p&gt;
&lt;p&gt;Note that if the &lt;a href=&quot;QPaintDevice.html#logicalDpiX()&quot;&gt;&lt;tt&gt;logicalDpiX&lt;/tt&gt;&lt;/a&gt; doesn't equal the &lt;a href=&quot;QPaintDevice.html#physicalDpiX()&quot;&gt;&lt;tt&gt;physicalDpiX&lt;/tt&gt;&lt;/a&gt;, the corresponding &lt;a href=&quot;QPaintEngine.html&quot;&gt;&lt;tt&gt;QPaintEngine&lt;/tt&gt;&lt;/a&gt; must handle the resolution mapping.&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#logicalDpiY()&quot;&gt;&lt;tt&gt;logicalDpiY&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QPaintDevice.html#physicalDpiX()&quot;&gt;&lt;tt&gt;physicalDpiX&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int logicalDpiY()" doc="/**
&lt;p&gt;Returns the vertical resolution of the device in dots per inch, which is used when computing font sizes. For X11, this is usually the same as could be computed from &lt;a href=&quot;QPaintDevice.html#heightMM()&quot;&gt;&lt;tt&gt;heightMM&lt;/tt&gt;&lt;/a&gt;, but it varies on Windows.&lt;/p&gt;
&lt;p&gt;Note that if the &lt;a href=&quot;QPaintDevice.html#logicalDpiY()&quot;&gt;&lt;tt&gt;logicalDpiY&lt;/tt&gt;&lt;/a&gt; doesn't equal the &lt;a href=&quot;QPaintDevice.html#physicalDpiY()&quot;&gt;&lt;tt&gt;physicalDpiY&lt;/tt&gt;&lt;/a&gt;, the corresponding &lt;a href=&quot;QPaintEngine.html&quot;&gt;&lt;tt&gt;QPaintEngine&lt;/tt&gt;&lt;/a&gt; must handle the resolution mapping.&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#logicalDpiX()&quot;&gt;&lt;tt&gt;logicalDpiX&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QPaintDevice.html#physicalDpiY()&quot;&gt;&lt;tt&gt;physicalDpiY&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int numColors()" doc="/**
&lt;p&gt;Returns the number of different colors available for the paint device. Since this value is an int, it will not be sufficient to represent the number of colors on 32 bit displays, in this case INT_MAX is returned instead.&lt;/p&gt;
 */"/>
    <method name="public final boolean paintingActive()" doc="/**
&lt;p&gt;Returns true if the device is currently being painted on, i.e&amp;#x2e; someone has called QPainter::begin() but not yet called QPainter::end() for this device; otherwise returns false.&lt;/p&gt;

@see &lt;tt&gt;QPainter::isActive&lt;/tt&gt; */"/>
    <method name="public final int physicalDpiX()" doc="/**
&lt;p&gt;Returns the horizontal resolution of the device in dots per inch.&lt;/p&gt;
&lt;p&gt;Note that if the &lt;a href=&quot;QPaintDevice.html#physicalDpiX()&quot;&gt;&lt;tt&gt;physicalDpiX&lt;/tt&gt;&lt;/a&gt; doesn't equal the &lt;a href=&quot;QPaintDevice.html#logicalDpiX()&quot;&gt;&lt;tt&gt;logicalDpiX&lt;/tt&gt;&lt;/a&gt;, the corresponding &lt;a href=&quot;QPaintEngine.html&quot;&gt;&lt;tt&gt;QPaintEngine&lt;/tt&gt;&lt;/a&gt; must handle the resolution mapping.&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#physicalDpiY()&quot;&gt;&lt;tt&gt;physicalDpiY&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QPaintDevice.html#logicalDpiX()&quot;&gt;&lt;tt&gt;logicalDpiX&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int physicalDpiY()" doc="/**
&lt;p&gt;Returns the horizontal resolution of the device in dots per inch.&lt;/p&gt;
&lt;p&gt;Note that if the &lt;a href=&quot;QPaintDevice.html#physicalDpiY()&quot;&gt;&lt;tt&gt;physicalDpiY&lt;/tt&gt;&lt;/a&gt; doesn't equal the &lt;a href=&quot;QPaintDevice.html#logicalDpiY()&quot;&gt;&lt;tt&gt;logicalDpiY&lt;/tt&gt;&lt;/a&gt;, the corresponding &lt;a href=&quot;QPaintEngine.html&quot;&gt;&lt;tt&gt;QPaintEngine&lt;/tt&gt;&lt;/a&gt; must handle the resolution mapping.&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#physicalDpiX()&quot;&gt;&lt;tt&gt;physicalDpiX&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QPaintDevice.html#logicalDpiY()&quot;&gt;&lt;tt&gt;logicalDpiY&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int width()" doc="/**
&lt;p&gt;Returns the width of the paint device in default coordinate system units (e.g&amp;#x2e; pixels for &lt;a href=&quot;QPixmap.html&quot;&gt;&lt;tt&gt;QPixmap&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QWidget.html&quot;&gt;&lt;tt&gt;QWidget&lt;/tt&gt;&lt;/a&gt;).&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#widthMM()&quot;&gt;&lt;tt&gt;widthMM&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int widthMM()" doc="/**
&lt;p&gt;Returns the width of the paint device in millimeters.&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#width()&quot;&gt;&lt;tt&gt;width&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public int devType()" doc="/**
&lt;p&gt;&lt;/p&gt;
 */"/>
    <method name="public int metric(com.trolltech.qt.gui.QPaintDevice.PaintDeviceMetric metric)" doc="/**
&lt;p&gt;Returns the metric information for the given paint device &lt;tt&gt;metric&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#PaintDeviceMetric-enum&quot;&gt;&lt;tt&gt;PaintDeviceMetric&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.gui.QPaintEngine paintEngine()" doc="/**
&lt;p&gt;Returns a pointer to the paint engine used for drawing on the device.&lt;/p&gt;
 */"/>
    <enum name="PaintDeviceMetric" doc="/**
&lt;p&gt;Describes the various metrics of a paint device.&lt;/p&gt;

@see &lt;a href=&quot;QPaintDevice.html#metric(com.trolltech.qt.gui.QPaintDevice.PaintDeviceMetric)&quot;&gt;&lt;tt&gt;metric&lt;/tt&gt;&lt;/a&gt; */">
        <enum-value name="PdmWidth" doc="/**
&lt;p&gt;The width of the paint device in default coordinate system units (e.g&amp;#x2e; pixels for &lt;a href=&quot;QPixmap.html&quot;&gt;&lt;tt&gt;QPixmap&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QWidget.html&quot;&gt;&lt;tt&gt;QWidget&lt;/tt&gt;&lt;/a&gt;). See also &lt;a href=&quot;QPaintDevice.html#width()&quot;&gt;&lt;tt&gt;width&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmHeight" doc="/**
&lt;p&gt;The height of the paint device in default coordinate system units (e.g&amp;#x2e; pixels for &lt;a href=&quot;QPixmap.html&quot;&gt;&lt;tt&gt;QPixmap&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QWidget.html&quot;&gt;&lt;tt&gt;QWidget&lt;/tt&gt;&lt;/a&gt;). See also &lt;a href=&quot;QPaintDevice.html#height()&quot;&gt;&lt;tt&gt;height&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmWidthMM" doc="/**
&lt;p&gt;The width of the paint device in millimeters. See also &lt;a href=&quot;QPaintDevice.html#widthMM()&quot;&gt;&lt;tt&gt;widthMM&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmHeightMM" doc="/**
&lt;p&gt;The height of the paint device in millimeters. See also &lt;a href=&quot;QPaintDevice.html#heightMM()&quot;&gt;&lt;tt&gt;heightMM&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmNumColors" doc="/**
&lt;p&gt;The number of different colors available for the paint device. See also &lt;a href=&quot;QPaintDevice.html#numColors()&quot;&gt;&lt;tt&gt;numColors&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmDepth" doc="/**
&lt;p&gt;The bit depth (number of bit planes) of the paint device. See also &lt;a href=&quot;QPaintDevice.html#depth()&quot;&gt;&lt;tt&gt;depth&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmDpiX" doc="/**
&lt;p&gt;The horizontal resolution of the device in dots per inch. See also &lt;a href=&quot;QPaintDevice.html#logicalDpiX()&quot;&gt;&lt;tt&gt;logicalDpiX&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmDpiY" doc="/**
&lt;p&gt;The vertical resolution of the device in dots per inch. See also &lt;a href=&quot;QPaintDevice.html#logicalDpiY()&quot;&gt;&lt;tt&gt;logicalDpiY&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmPhysicalDpiX" doc="/**
&lt;p&gt;The horizontal resolution of the device in dots per inch. See also &lt;a href=&quot;QPaintDevice.html#physicalDpiX()&quot;&gt;&lt;tt&gt;physicalDpiX&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
        <enum-value name="PdmPhysicalDpiY" doc="/**
&lt;p&gt;The vertical resolution of the device in dots per inch. See also &lt;a href=&quot;QPaintDevice.html#physicalDpiY()&quot;&gt;&lt;tt&gt;physicalDpiY&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
</enum>
    <method name="protected final char painters()"/>
    <method name="protected final void setPainters(char painters)"/>
</class>
