QDirectPainter(3qt)QDirectPainter(3qt)NAMEQDirectPainter - Direct access to the video hardware
SYNOPSIS
#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 )
DESCRIPTION
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.
MEMBER FUNCTION DOCUMENTATIONQDirectPainter::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 unlocked.
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 0..numRects()-1.
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
</center>
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.
SEE ALSO
http://doc.trolltech.com/qdirectpainter.html
http://www.trolltech.com/faq/tech.html
COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
license file included in the distribution for a complete license
statement.
AUTHOR
Generated automatically from the source code.
BUGS
If you find a bug in Qt, please report it as described in
http://doc.trolltech.com/bughowto.html. 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 qt-
bugs@trolltech.com. Please include the name of the manual page
(qdirectpainter.3qt) and the Qt version (3.3.8).
Trolltech AS 2 February 2007 QDirectPainter(3qt)