Provided by: qt3-doc_3.3.8-b-8ubuntu3_all bug


       QDirectPainter - Direct access to the video hardware


       #include <qdirectpainter_qws.h>

       Inherits QPainter.

   Public Members
       QDirectPainter ( const QWidget * w )
       ~QDirectPainter ()
       uchar * frameBuffer ()
       int lineStep ()
       int transformOrientation ()
       int numRects () const
       const QRect & rect ( int i ) const
       QRegion region () const
       int depth () const
       int width () const
       int height () const
       int xOffset () const
       int yOffset () const
       QPoint offset () const
       QSize size () const
       void setAreaChanged ( const QRect & r )


       The QDirectPainter class provides direct access to the video hardware.

       Only available in Qt/Embedded.

       When the hardware is known and well defined, as is often the case with software for
       embedded devices, it may be useful to manipulate the underlying video hardware directly.
       In order to do this in a way that is co-operative with other applications, you must lock
       the video hardware for exclusive use for a small time while you write to it, and you must
       know the clipping region which is allocated to a widget.

       QDirectPainter provides this functionality.

       In the simplest case, you make a QDirectPainter on a widget and then, observing the clip
       region, perform some platform-specific operation. For example:

               void MyWidget::updatePlatformGraphics()
                   QDirectPainter dp( this );
                   for ( int i = 0; i < dp.numRects; i++ ) {
                       const QRect& clip = dp.rect(i);
                       ... // platform specific operation

       The platform-specific code has access to the display, but should only modify graphics in
       the rectangles specified by numRects() and rect(). Note that these rectangles are relative
       to the entire display.

       The offset() function returns the position of the widget relative to the entire display,
       allowing you to offset platform-specific operations appropriately. The xOffset() and
       yOffset() functions merely return the component values of offset().

       For simple frame-buffer hardware, the frameBuffer(), lineStep(), and depth() functions
       provide basic access, though some hardware configurations are insufficiently specified by
       such simple parameters.

       Note that while a QDirectPainter exists, the entire Qt/Embedded window system is locked
       from use by other applications. Always construct the QDirectPainter as an auto (stack)
       variable, and be very careful to write robust and stable code within its scope.

       See also Graphics Classes.


QDirectPainter::QDirectPainter ( const QWidget * w )

       Construct a direct painter on w. The display is locked and the mouse cursor is hidden if
       it is above w.

QDirectPainter::~QDirectPainter ()

       Destroys the direct painter. The mouse cursor is revealed if necessary and the display is

int QDirectPainter::depth () const

       Returns the bit-depth of the display.

uchar * QDirectPainter::frameBuffer ()

       Returns a pointer to the framebuffer memory if available.

int QDirectPainter::height () const

       Returns the height of the widget drawn upon.

int QDirectPainter::lineStep ()

       Returns the spacing in bytes from one framebuffer line to the next.

int QDirectPainter::numRects () const

       Returns the number of rectangles in the drawable region.

       See also rect() and region().

QPoint QDirectPainter::offset () const

       Returns the position of the widget relative to the entire display.

const QRect & QDirectPainter::rect ( int i ) const

       Returns a reference to rectangle i of the drawable region. Valid values for i are

       See also region().

QRegion QDirectPainter::region () const

       Returns the region of the framebuffer which represents the exposed area of the widget
       being painted on. Note that this may be a sub-area of the clip region, because of child
       widgets and overlapping cousin widgets.

       See also numRects() and rect().

void QDirectPainter::setAreaChanged ( const QRect & r )

       Sets the area changed by the transaction to r. By default, the entire widget is assumed to
       have changed. The area changed is only used by some graphics drivers, so often calling
       this function for a smaller area will make no difference to performance.

QSize QDirectPainter::size () const

       Returns the size of the widget drawn upon.

       See also width() and height().

int QDirectPainter::transformOrientation ()

       Returns a number that signifies the orientation of the framebuffer. <center>.nf


int QDirectPainter::width () const

       Returns the width of the widget drawn upon.

int QDirectPainter::xOffset () const

       Returns the X-position of the widget relative to the entire display.

int QDirectPainter::yOffset () const

       Returns the Y-position of the widget relative to the entire display.



       Copyright 1992-2007 Trolltech ASA,  See the license file
       included in the distribution for a complete license statement.


       Generated automatically from the source code.


       If you find a bug in Qt, please report it as described in  Good bug reports help us to help you. Thank you.

       The definitive Qt documentation is provided in HTML format; it is located at
       $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is
       provided as a convenience for those users who prefer man pages, although this format is
       not officially supported by Trolltech.

       If you find errors in this manual page, please report them to
       Please include the name of the manual page (qdirectpainter.3qt) and the Qt version