QScreen(3qt)QScreen(3qt)NAMEQScreen - And its descendants manage the framebuffer and palette
SYNOPSIS
#include <qgfx_qws.h>
Public Members
QScreen ( int display_id )
virtual ~QScreen ()
virtual bool initDevice () = 0
virtual bool connect ( const QString & displaySpec ) = 0
virtual void disconnect () = 0
virtual int initCursor ( void * end_of_location, bool init = FALSE )
virtual void shutdownDevice ()
virtual void setMode ( int, int, int ) = 0
virtual bool supportsDepth ( int d ) const
virtual QGfx * createGfx ( unsigned char * bytes, int w, int h, int d,
int linestep )
virtual QGfx * screenGfx ()
virtual void save ()
virtual void restore ()
virtual void blank ( bool on )
virtual int pixmapOffsetAlignment ()
virtual int pixmapLinestepAlignment ()
virtual bool onCard ( unsigned char * p ) const
virtual bool onCard ( unsigned char * p, ulong & offset ) const
virtual void set ( unsigned int, unsigned int, unsigned int, unsigned
int )
virtual int alloc ( unsigned int r, unsigned int g, unsigned int b )
int width () const
int height () const
int depth () const
virtual int pixmapDepth () const
int pixelType () const
int linestep () const
int deviceWidth () const
int deviceHeight () const
uchar * base () const
virtual uchar * cache ( int, int )
virtual void uncache ( uchar * )
int screenSize () const
int totalSize () const
QRgb * clut ()
int numCols ()
virtual QSize mapToDevice ( const QSize & s ) const
virtual QSize mapFromDevice ( const QSize & s ) const
virtual QPoint mapToDevice ( const QPoint &, const QSize & ) const
virtual QPoint mapFromDevice ( const QPoint &, const QSize & ) const
virtual QRect mapToDevice ( const QRect & r, const QSize & ) const
virtual QRect mapFromDevice ( const QRect & r, const QSize & ) const
virtual QImage mapToDevice ( const QImage & i ) const
virtual QImage mapFromDevice ( const QImage & i ) const
virtual QRegion mapToDevice ( const QRegion & r, const QSize & ) const
virtual QRegion mapFromDevice ( const QRegion & r, const QSize & )
const
virtual int transformOrientation () const
virtual bool isTransformed () const
virtual bool isInterlaced () const
virtual void setDirty ( const QRect & )
int * opType ()
int * lastOp ()
DESCRIPTION
The QScreen class and its descendants manage the framebuffer and
palette.
QScreens act as factories for the screen cursor and QGfx's.
QLinuxFbScreen manages a Linux framebuffer; accelerated drivers
subclass QLinuxFbScreen. There can only be one screen in a Qt/Embedded
application.
See also Qt/Embedded.
MEMBER FUNCTION DOCUMENTATIONQScreen::QScreen ( int display_id )
Create a screen; the display_id is the number of the Qt/Embedded server
to connect to.
QScreen::~QScreen () [virtual]
Destroys a QScreenint QScreen::alloc ( unsigned int r, unsigned int g, unsigned int b )
[virtual]
Given an RGB value r g b, return an index which is the closest match to
it in the screen's palette. Used in paletted modes only.
uchar * QScreen::base () const
Returns a pointer to the start of the framebuffer.
void QScreen::blank ( bool on ) [virtual]
If on is true, blank the screen. Otherwise unblank it.
uchar * QScreen::cache ( int, int ) [virtual]
This function is used to store pixmaps in graphics memory for the use
of the accelerated drivers. See QLinuxFbScreen (where the cacheing is
implemented) for more information.
QRgb * QScreen::clut ()
Returns the screen's color lookup table (color palette). This is only
valid in paletted modes (8bpp and lower).
bool QScreen::connect ( const QString & displaySpec ) [pure virtual]
This function is called by every Qt/Embedded application on startup. It
maps in the framebuffer and in the accelerated drivers the graphics
card control registers. displaySpec has the following syntax:
[gfx driver][:driver specific options][:display number]
for example if you want to use the mach64 driver on fb1 as display 2:
Mach64:/dev/fb1:2
displaySpec is passed in via the QWS_DISPLAY environment variable or
the -display command line parameter.
QGfx * QScreen::createGfx ( unsigned char * bytes, int w, int h, int d, int
linestep ) [virtual]
Creates a gfx on an arbitrary buffer bytes, width w and height h in
pixels, depth d and linestep (length in bytes of each line in the
buffer). Accelerated drivers can check to see if bytes points into
graphics memory and create an accelerated Gfx.
int QScreen::depth () const
Gives the depth in bits per pixel of the framebuffer. This is the
number of bits each pixel takes up rather than the number of
significant bits, so 24bpp and 32bpp express the same range of colors
(8 bits of red, green and blue)
int QScreen::deviceHeight () const
Gives the full height of the framebuffer device, as opposed to the
height which Qt/Embedded will actually use. These can differ if the
display is centered within the framebuffer.
int QScreen::deviceWidth () const
Gives the full width of the framebuffer device, as opposed to the width
which Qt/Embedded will actually use. These can differ if the display is
centered within the framebuffer.
void QScreen::disconnect () [pure virtual]
This function is called by every Qt/Embedded application just before
exitting; it's normally used to unmap the framebuffer.
int QScreen::height () const
Gives the height in pixels of the framebuffer.
int QScreen::initCursor ( void * end_of_location, bool init = FALSE )
[virtual]
This is used to initialize the software cursor - end_of_location points
to the address after the area where the cursor image can be stored.
init is true for the first application this method is called from (the
Qt/Embedded server), false otherwise.
bool QScreen::initDevice () [pure virtual]
This function is called by the Qt/Embedded server when initializing the
framebuffer. Accelerated drivers use it to set up the graphics card.
bool QScreen::isInterlaced () const [virtual]
Returns TRUE if the display is interlaced (for instance a television
screen); otherwise returns FALSE. If TRUE, drawing is altered to look
better on such displays.
bool QScreen::isTransformed () const [virtual]
Returns TRUE if the screen is transformed (for instance, rotated 90
degrees); otherwise returns FALSE. QScreen's version always returns
FALSE.
int * QScreen::lastOp ()
Returns the screens last operation.
int QScreen::linestep () const
Returns the length in bytes of each scanline of the framebuffer.
QSize QScreen::mapFromDevice ( const QSize & s ) const [virtual]
Map a framebuffer coordinate to the coordinate space used by the
application. Used by the rotated driver; the QScreen implementation
simply returns s.
QPoint QScreen::mapFromDevice ( const QPoint &, const QSize & ) const
[virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Map a framebuffer coordinate to the coordinate space used by the
application. Used by the rotated driver; the QScreen implementation
simply returns the point.
QRect QScreen::mapFromDevice ( const QRect & r, const QSize & ) const
[virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Map a framebuffer coordinate to the coordinate space used by the
application. Used by the rotated driver; the QScreen implementation
simply returns r.
QImage QScreen::mapFromDevice ( const QImage & i ) const [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Transforms an image so that it matches the application coordinate space
(e.g. rotating it 90 degrees counter-clockwise). The QScreen
implementation simply returns i.
QRegion QScreen::mapFromDevice ( const QRegion & r, const QSize & ) const
[virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Transforms a region so that it matches the application coordinate space
(e.g. rotating it 90 degrees counter-clockwise). The QScreen
implementation simply returns r.
QSize QScreen::mapToDevice ( const QSize & s ) const [virtual]
Map a user coordinate to the one to actually draw. Used by the rotated
driver; the QScreen implementation simply returns s.
QPoint QScreen::mapToDevice ( const QPoint &, const QSize & ) const [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Map a user coordinate to the one to actually draw. Used by the rotated
driver; the QScreen implementation simply returns the point passed in.
QRect QScreen::mapToDevice ( const QRect & r, const QSize & ) const [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Map a user coordinate to the one to actually draw. Used by the rotated
driver; the QScreen implementation simply returns r.
QImage QScreen::mapToDevice ( const QImage & i ) const [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Transforms an image so that it fits the device coordinate space (e.g.
rotating it 90 degrees clockwise). The QScreen implementation simply
returns i.
QRegion QScreen::mapToDevice ( const QRegion & r, const QSize & ) const
[virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
Transforms a region so that it fits the device coordinate space (e.g.
rotating it 90 degrees clockwise). The QScreen implementation simply
returns r.
int QScreen::numCols ()
Returns the number of entries in the color table returned by clut().
bool QScreen::onCard ( unsigned char * p ) const [virtual]
Returns true if the buffer pointed to by p is within graphics card
memory, false if it's in main RAM.
bool QScreen::onCard ( unsigned char * p, ulong & offset ) const [virtual]
This is an overloaded member function, provided for convenience. It
behaves essentially like the above function.
This checks whether the buffer specified by p is on the card (as per
the other version of onCard) and returns an offset in bytes from the
start of graphics card memory in offset if it is.
int * QScreen::opType ()
Returns the screen's operation type.
int QScreen::pixelType () const
Returns an integer (taking the same values as QGfx::PixelType) that
specifies the pixel storage format of the screen.
int QScreen::pixmapDepth () const [virtual]
Gives the preferred depth for pixmaps. By default this is the same as
the screen depth, but for the VGA16 driver it's 8bpp.
int QScreen::pixmapLinestepAlignment () [virtual]
Returns the value in bits to which individual scanlines of pixmaps held
in graphics card memory should be aligned. This is only useful for
accelerated drivers. By default the value returned is 64 but it can be
overridden by individual accelerated drivers.
int QScreen::pixmapOffsetAlignment () [virtual]
Returns the value in bits to which the start address of pixmaps held in
graphics card memory should be aligned. This is only useful for
accelerated drivers. By default the value returned is 64 but it can be
overridden by individual accelerated drivers.
void QScreen::restore () [virtual]
Restores the state of the graphics card from a previous save()void QScreen::save () [virtual]
Saves the state of the graphics card - used so that, for instance, the
palette can be restored when switching between linux virtual consoles.
Hardware QScreen descendants should save register state here if
necessary if switching between virtual consoles (for example to/from X)
is to be permitted.
QGfx * QScreen::screenGfx () [virtual]
Returns a QGfx (normally a QGfxRaster) initialized to point to the
screen, with an origin at 0,0 and a clip region covering the whole
screen.
int QScreen::screenSize () const
Returns the size in bytes of the screen. This is always located at the
beginning of framebuffer memory (i.e. at base()).
void QScreen::set ( unsigned int, unsigned int, unsigned int, unsigned int )
[virtual]
Sets an entry in the color palette.
void QScreen::setDirty ( const QRect & ) [virtual]
Indicates which section of the screen has been altered. Used by the VNC
and VFB displays; the QScreen version does nothing.
void QScreen::setMode ( int, int, int ) [pure virtual]
This function can be used to set the framebuffer width, height and
depth. It's currently unused.
void QScreen::shutdownDevice () [virtual]
Called by the Qt/Embedded server on shutdown; never called by a
Qt/Embedded client. This is intended to support graphics card specific
shutdown; the unaccelerated implementation simply hides the mouse
cursor.
bool QScreen::supportsDepth ( int d ) const [virtual]
Returns true if the screen supports a particular color depth d.
Possible values are 1,4,8,16 and 32.
int QScreen::totalSize () const
Returns the size in bytes of available graphics card memory, including
the screen. Offscreen memory is only used by the accelerated drivers.
int QScreen::transformOrientation () const [virtual]
Used by the rotated server. The QScreeen implementation returns 0.
void QScreen::uncache ( uchar * ) [virtual]
This function is called on pixmap destruction to remove them from
graphics card memory.
int QScreen::width () const
Gives the width in pixels of the framebuffer.
SEE ALSO
http://doc.trolltech.com/qscreen.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
(qscreen.3qt) and the Qt version (3.3.8).
Trolltech AS 2 February 2007 QScreen(3qt)