<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/kernel/qgfxraster_qws.cpp:5792 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>TQScreen Class</title> <style type="text/css"><!-- fn { margin-left: 1cm; text-indent: -1cm; } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } body { background: #ffffff; color: black; } --></style> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#E5E5E5"> <td valign=center> <a href="index.html"> <font color="#004faf">Home</font></a> | <a href="classes.html"> <font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"> <font color="#004faf">Main Classes</font></a> | <a href="annotated.html"> <font color="#004faf">Annotated</font></a> | <a href="groups.html"> <font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"> <font color="#004faf">Functions</font></a> </td> <td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>TQScreen Class Reference</h1> <p>The TQScreen class and its descendants manage the framebuffer and palette. <a href="#details">More...</a> <p><tt>#include <<a href="qgfx_qws-h.html">qgfx_qws.h</a>></tt> <p><a href="qscreen-members.html">List of all member functions.</a> <h2>Public Members</h2> <ul> <li class=fn><a href="#TQScreen"><b>TQScreen</b></a> ( int display_id )</li> <li class=fn>virtual <a href="#~TQScreen"><b>~TQScreen</b></a> ()</li> <li class=fn>virtual bool <a href="#initDevice"><b>initDevice</b></a> () = 0</li> <li class=fn>virtual bool <a href="#connect"><b>connect</b></a> ( const TQString & displaySpec ) = 0</li> <li class=fn>virtual void <a href="#disconnect"><b>disconnect</b></a> () = 0</li> <li class=fn>virtual int <a href="#initCursor"><b>initCursor</b></a> ( void * end_of_location, bool init = FALSE )</li> <li class=fn>virtual void <a href="#shutdownDevice"><b>shutdownDevice</b></a> ()</li> <li class=fn>virtual void <a href="#setMode"><b>setMode</b></a> ( int, int, int ) = 0</li> <li class=fn>virtual bool <a href="#supportsDepth"><b>supportsDepth</b></a> ( int d ) const</li> <li class=fn>virtual TQGfx * <a href="#createGfx"><b>createGfx</b></a> ( unsigned char * bytes, int w, int h, int d, int linestep )</li> <li class=fn>virtual TQGfx * <a href="#screenGfx"><b>screenGfx</b></a> ()</li> <li class=fn>virtual void <a href="#save"><b>save</b></a> ()</li> <li class=fn>virtual void <a href="#restore"><b>restore</b></a> ()</li> <li class=fn>virtual void <a href="#blank"><b>blank</b></a> ( bool on )</li> <li class=fn>virtual int <a href="#pixmapOffsetAlignment"><b>pixmapOffsetAlignment</b></a> ()</li> <li class=fn>virtual int <a href="#pixmapLinestepAlignment"><b>pixmapLinestepAlignment</b></a> ()</li> <li class=fn>virtual bool <a href="#onCard"><b>onCard</b></a> ( unsigned char * p ) const</li> <li class=fn>virtual bool <a href="#onCard-2"><b>onCard</b></a> ( unsigned char * p, ulong & offset ) const</li> <li class=fn>virtual void <a href="#set"><b>set</b></a> ( unsigned int, unsigned int, unsigned int, unsigned int )</li> <li class=fn>virtual int <a href="#alloc"><b>alloc</b></a> ( unsigned int r, unsigned int g, unsigned int b )</li> <li class=fn>int <a href="#width"><b>width</b></a> () const</li> <li class=fn>int <a href="#height"><b>height</b></a> () const</li> <li class=fn>int <a href="#depth"><b>depth</b></a> () const</li> <li class=fn>virtual int <a href="#pixmapDepth"><b>pixmapDepth</b></a> () const</li> <li class=fn>int <a href="#pixelType"><b>pixelType</b></a> () const</li> <li class=fn>int <a href="#linestep"><b>linestep</b></a> () const</li> <li class=fn>int <a href="#deviceWidth"><b>deviceWidth</b></a> () const</li> <li class=fn>int <a href="#deviceHeight"><b>deviceHeight</b></a> () const</li> <li class=fn>uchar * <a href="#base"><b>base</b></a> () const</li> <li class=fn>virtual uchar * <a href="#cache"><b>cache</b></a> ( int, int )</li> <li class=fn>virtual void <a href="#uncache"><b>uncache</b></a> ( uchar * )</li> <li class=fn>int <a href="#screenSize"><b>screenSize</b></a> () const</li> <li class=fn>int <a href="#totalSize"><b>totalSize</b></a> () const</li> <li class=fn>TQRgb * <a href="#clut"><b>clut</b></a> ()</li> <li class=fn>int <a href="#numCols"><b>numCols</b></a> ()</li> <li class=fn>virtual TQSize <a href="#mapToDevice"><b>mapToDevice</b></a> ( const TQSize & s ) const</li> <li class=fn>virtual TQSize <a href="#mapFromDevice"><b>mapFromDevice</b></a> ( const TQSize & s ) const</li> <li class=fn>virtual TQPoint <a href="#mapToDevice-2"><b>mapToDevice</b></a> ( const TQPoint &, const TQSize & ) const</li> <li class=fn>virtual TQPoint <a href="#mapFromDevice-2"><b>mapFromDevice</b></a> ( const TQPoint &, const TQSize & ) const</li> <li class=fn>virtual TQRect <a href="#mapToDevice-3"><b>mapToDevice</b></a> ( const TQRect & r, const TQSize & ) const</li> <li class=fn>virtual TQRect <a href="#mapFromDevice-3"><b>mapFromDevice</b></a> ( const TQRect & r, const TQSize & ) const</li> <li class=fn>virtual TQImage <a href="#mapToDevice-4"><b>mapToDevice</b></a> ( const TQImage & i ) const</li> <li class=fn>virtual TQImage <a href="#mapFromDevice-4"><b>mapFromDevice</b></a> ( const TQImage & i ) const</li> <li class=fn>virtual TQRegion <a href="#mapToDevice-5"><b>mapToDevice</b></a> ( const TQRegion & r, const TQSize & ) const</li> <li class=fn>virtual TQRegion <a href="#mapFromDevice-5"><b>mapFromDevice</b></a> ( const TQRegion & r, const TQSize & ) const</li> <li class=fn>virtual int <a href="#transformOrientation"><b>transformOrientation</b></a> () const</li> <li class=fn>virtual bool <a href="#isTransformed"><b>isTransformed</b></a> () const</li> <li class=fn>virtual bool <a href="#isInterlaced"><b>isInterlaced</b></a> () const</li> <li class=fn>virtual void <a href="#setDirty"><b>setDirty</b></a> ( const TQRect & )</li> <li class=fn>int * <a href="#opType"><b>opType</b></a> ()</li> <li class=fn>int * <a href="#lastOp"><b>lastOp</b></a> ()</li> </ul> <hr><a name="details"></a><h2>Detailed Description</h2> The TQScreen class and its descendants manage the framebuffer and palette. <p> TQScreens act as factories for the screen cursor and TQGfx's. TQLinuxFbScreen manages a Linux framebuffer; accelerated drivers subclass TQLinuxFbScreen. There can only be one screen in a TQt/Embedded application. <p>See also <a href="qws.html">TQt/Embedded</a>. <hr><h2>Member Function Documentation</h2> <h3 class=fn><a name="TQScreen"></a>TQScreen::TQScreen ( int display_id ) </h3> Create a screen; the <em>display_id</em> is the number of the TQt/Embedded server to connect to. <h3 class=fn><a name="~TQScreen"></a>TQScreen::~TQScreen ()<tt> [virtual]</tt> </h3> Destroys a TQScreen <h3 class=fn>int <a name="alloc"></a>TQScreen::alloc ( unsigned int r, unsigned int g, unsigned int b )<tt> [virtual]</tt> </h3> Given an RGB value <em>r</em> <em>g</em> <em>b</em>, return an index which is the closest match to it in the screen's palette. Used in paletted modes only. <h3 class=fn>uchar * <a name="base"></a>TQScreen::base () const </h3> Returns a pointer to the start of the framebuffer. <h3 class=fn>void <a name="blank"></a>TQScreen::blank ( bool on )<tt> [virtual]</tt> </h3> If <em>on</em> is true, blank the screen. Otherwise unblank it. <h3 class=fn>uchar * <a name="cache"></a>TQScreen::cache ( int, int )<tt> [virtual]</tt> </h3> This function is used to store pixmaps in graphics memory for the use of the accelerated drivers. See TQLinuxFbScreen (where the cacheing is implemented) for more information. <h3 class=fn>TQRgb * <a name="clut"></a>TQScreen::clut () </h3> Returns the screen's color lookup table (color palette). This is only valid in paletted modes (8bpp and lower). <h3 class=fn>bool <a name="connect"></a>TQScreen::connect ( const <a href="ntqstring.html">TQString</a> & displaySpec )<tt> [pure virtual]</tt> </h3> This function is called by every TQt/Embedded application on startup. It maps in the framebuffer and in the accelerated drivers the graphics card control registers. <em>displaySpec</em> has the following syntax: <p> <tt>[gfx driver][:driver specific options][:display number]</tt> <p> for example if you want to use the mach64 driver on fb1 as display 2: <p> <tt>Mach64:/dev/fb1:2</tt> <p> <em>displaySpec</em> is passed in via the TQWS_DISPLAY environment variable or the -display command line parameter. <h3 class=fn>TQGfx * <a name="createGfx"></a>TQScreen::createGfx ( unsigned char * bytes, int w, int h, int d, int linestep )<tt> [virtual]</tt> </h3> Creates a gfx on an arbitrary buffer <em>bytes</em>, width <em>w</em> and height <em>h</em> in pixels, depth <em>d</em> and <em>linestep</em> (length in bytes of each line in the buffer). Accelerated drivers can check to see if <em>bytes</em> points into graphics memory and create an accelerated Gfx. <h3 class=fn>int <a name="depth"></a>TQScreen::depth () const </h3> 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) <h3 class=fn>int <a name="deviceHeight"></a>TQScreen::deviceHeight () const </h3> Gives the full height of the framebuffer device, as opposed to the height which TQt/Embedded will actually use. These can differ if the display is centered within the framebuffer. <h3 class=fn>int <a name="deviceWidth"></a>TQScreen::deviceWidth () const </h3> Gives the full width of the framebuffer device, as opposed to the width which TQt/Embedded will actually use. These can differ if the display is centered within the framebuffer. <h3 class=fn>void <a name="disconnect"></a>TQScreen::disconnect ()<tt> [pure virtual]</tt> </h3> This function is called by every TQt/Embedded application just before exitting; it's normally used to unmap the framebuffer. <h3 class=fn>int <a name="height"></a>TQScreen::height () const </h3> Gives the height in pixels of the framebuffer. <h3 class=fn>int <a name="initCursor"></a>TQScreen::initCursor ( void * end_of_location, bool init = FALSE )<tt> [virtual]</tt> </h3> This is used to initialize the software cursor - <em>end_of_location</em> points to the address after the area where the cursor image can be stored. <em>init</em> is true for the first application this method is called from (the TQt/Embedded server), false otherwise. <h3 class=fn>bool <a name="initDevice"></a>TQScreen::initDevice ()<tt> [pure virtual]</tt> </h3> This function is called by the TQt/Embedded server when initializing the framebuffer. Accelerated drivers use it to set up the graphics card. <h3 class=fn>bool <a name="isInterlaced"></a>TQScreen::isInterlaced () const<tt> [virtual]</tt> </h3> <p> 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. <h3 class=fn>bool <a name="isTransformed"></a>TQScreen::isTransformed () const<tt> [virtual]</tt> </h3> <p> Returns TRUE if the screen is transformed (for instance, rotated 90 degrees); otherwise returns FALSE. TQScreen's version always returns FALSE. <h3 class=fn>int * <a name="lastOp"></a>TQScreen::lastOp () </h3> <p> Returns the screens last operation. <h3 class=fn>int <a name="linestep"></a>TQScreen::linestep () const </h3> Returns the length in bytes of each scanline of the framebuffer. <h3 class=fn><a href="ntqsize.html">TQSize</a> <a name="mapFromDevice"></a>TQScreen::mapFromDevice ( const <a href="ntqsize.html">TQSize</a> & s ) const<tt> [virtual]</tt> </h3> <p> Map a framebuffer coordinate to the coordinate space used by the application. Used by the rotated driver; the TQScreen implementation simply returns <em>s</em>. <h3 class=fn><a href="ntqpoint.html">TQPoint</a> <a name="mapFromDevice-2"></a>TQScreen::mapFromDevice ( const <a href="ntqpoint.html">TQPoint</a> &, const <a href="ntqsize.html">TQSize</a> & ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Map a framebuffer coordinate to the coordinate space used by the application. Used by the rotated driver; the TQScreen implementation simply returns the point. <h3 class=fn><a href="ntqrect.html">TQRect</a> <a name="mapFromDevice-3"></a>TQScreen::mapFromDevice ( const <a href="ntqrect.html">TQRect</a> & r, const <a href="ntqsize.html">TQSize</a> & ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Map a framebuffer coordinate to the coordinate space used by the application. Used by the rotated driver; the TQScreen implementation simply returns <em>r</em>. <h3 class=fn><a href="ntqimage.html">TQImage</a> <a name="mapFromDevice-4"></a>TQScreen::mapFromDevice ( const <a href="ntqimage.html">TQImage</a> & i ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Transforms an image so that it matches the application coordinate space (e.g. rotating it 90 degrees counter-clockwise). The TQScreen implementation simply returns <em>i</em>. <h3 class=fn><a href="ntqregion.html">TQRegion</a> <a name="mapFromDevice-5"></a>TQScreen::mapFromDevice ( const <a href="ntqregion.html">TQRegion</a> & r, const <a href="ntqsize.html">TQSize</a> & ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Transforms a region so that it matches the application coordinate space (e.g. rotating it 90 degrees counter-clockwise). The TQScreen implementation simply returns <em>r</em>. <h3 class=fn><a href="ntqsize.html">TQSize</a> <a name="mapToDevice"></a>TQScreen::mapToDevice ( const <a href="ntqsize.html">TQSize</a> & s ) const<tt> [virtual]</tt> </h3> <p> Map a user coordinate to the one to actually draw. Used by the rotated driver; the TQScreen implementation simply returns <em>s</em>. <h3 class=fn><a href="ntqpoint.html">TQPoint</a> <a name="mapToDevice-2"></a>TQScreen::mapToDevice ( const <a href="ntqpoint.html">TQPoint</a> &, const <a href="ntqsize.html">TQSize</a> & ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Map a user coordinate to the one to actually draw. Used by the rotated driver; the TQScreen implementation simply returns the point passed in. <h3 class=fn><a href="ntqrect.html">TQRect</a> <a name="mapToDevice-3"></a>TQScreen::mapToDevice ( const <a href="ntqrect.html">TQRect</a> & r, const <a href="ntqsize.html">TQSize</a> & ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Map a user coordinate to the one to actually draw. Used by the rotated driver; the TQScreen implementation simply returns <em>r</em>. <h3 class=fn><a href="ntqimage.html">TQImage</a> <a name="mapToDevice-4"></a>TQScreen::mapToDevice ( const <a href="ntqimage.html">TQImage</a> & i ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Transforms an image so that it fits the device coordinate space (e.g. rotating it 90 degrees clockwise). The TQScreen implementation simply returns <em>i</em>. <h3 class=fn><a href="ntqregion.html">TQRegion</a> <a name="mapToDevice-5"></a>TQScreen::mapToDevice ( const <a href="ntqregion.html">TQRegion</a> & r, const <a href="ntqsize.html">TQSize</a> & ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Transforms a region so that it fits the device coordinate space (e.g. rotating it 90 degrees clockwise). The TQScreen implementation simply returns <em>r</em>. <h3 class=fn>int <a name="numCols"></a>TQScreen::numCols () </h3> Returns the number of entries in the color table returned by <a href="#clut">clut</a>(). <h3 class=fn>bool <a name="onCard"></a>TQScreen::onCard ( unsigned char * p ) const<tt> [virtual]</tt> </h3> Returns true if the buffer pointed to by <em>p</em> is within graphics card memory, false if it's in main RAM. <h3 class=fn>bool <a name="onCard-2"></a>TQScreen::onCard ( unsigned char * p, ulong & offset ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> This checks whether the buffer specified by <em>p</em> 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 <em>offset</em> if it is. <h3 class=fn>int * <a name="opType"></a>TQScreen::opType () </h3> <p> Returns the screen's operation type. <h3 class=fn>int <a name="pixelType"></a>TQScreen::pixelType () const </h3> Returns an integer (taking the same values as TQGfx::PixelType) that specifies the pixel storage format of the screen. <h3 class=fn>int <a name="pixmapDepth"></a>TQScreen::pixmapDepth () const<tt> [virtual]</tt> </h3> Gives the preferred depth for pixmaps. By default this is the same as the screen depth, but for the VGA16 driver it's 8bpp. <h3 class=fn>int <a name="pixmapLinestepAlignment"></a>TQScreen::pixmapLinestepAlignment ()<tt> [virtual]</tt> </h3> 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. <h3 class=fn>int <a name="pixmapOffsetAlignment"></a>TQScreen::pixmapOffsetAlignment ()<tt> [virtual]</tt> </h3> 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. <h3 class=fn>void <a name="restore"></a>TQScreen::restore ()<tt> [virtual]</tt> </h3> Restores the state of the graphics card from a previous <a href="#save">save</a>() <h3 class=fn>void <a name="save"></a>TQScreen::save ()<tt> [virtual]</tt> </h3> Saves the state of the graphics card - used so that, for instance, the palette can be restored when switching between linux virtual consoles. Hardware TQScreen descendants should save register state here if necessary if switching between virtual consoles (for example to/from X) is to be permitted. <h3 class=fn>TQGfx * <a name="screenGfx"></a>TQScreen::screenGfx ()<tt> [virtual]</tt> </h3> Returns a TQGfx (normally a TQGfxRaster) initialized to point to the screen, with an origin at 0,0 and a clip region covering the whole screen. <h3 class=fn>int <a name="screenSize"></a>TQScreen::screenSize () const </h3> Returns the size in bytes of the screen. This is always located at the beginning of framebuffer memory (i.e. at <a href="#base">base</a>()). <h3 class=fn>void <a name="set"></a>TQScreen::set ( unsigned int, unsigned int, unsigned int, unsigned int )<tt> [virtual]</tt> </h3> Sets an entry in the color palette. <h3 class=fn>void <a name="setDirty"></a>TQScreen::setDirty ( const <a href="ntqrect.html">TQRect</a> & )<tt> [virtual]</tt> </h3> <p> Indicates which section of the screen has been altered. Used by the VNC and VFB displays; the TQScreen version does nothing. <h3 class=fn>void <a name="setMode"></a>TQScreen::setMode ( int, int, int )<tt> [pure virtual]</tt> </h3> This function can be used to set the framebuffer width, height and depth. It's currently unused. <h3 class=fn>void <a name="shutdownDevice"></a>TQScreen::shutdownDevice ()<tt> [virtual]</tt> </h3> Called by the TQt/Embedded server on shutdown; never called by a TQt/Embedded client. This is intended to support graphics card specific shutdown; the unaccelerated implementation simply hides the mouse cursor. <h3 class=fn>bool <a name="supportsDepth"></a>TQScreen::supportsDepth ( int d ) const<tt> [virtual]</tt> </h3> Returns true if the screen supports a particular color depth <em>d</em>. Possible values are 1,4,8,16 and 32. <h3 class=fn>int <a name="totalSize"></a>TQScreen::totalSize () const </h3> Returns the size in bytes of available graphics card memory, including the screen. Offscreen memory is only used by the accelerated drivers. <h3 class=fn>int <a name="transformOrientation"></a>TQScreen::transformOrientation () const<tt> [virtual]</tt> </h3> <p> Used by the rotated server. The TQScreeen implementation returns 0. <h3 class=fn>void <a name="uncache"></a>TQScreen::uncache ( uchar * )<tt> [virtual]</tt> </h3> This function is called on pixmap destruction to remove them from graphics card memory. <h3 class=fn>int <a name="width"></a>TQScreen::width () const </h3> Gives the width in pixels of the framebuffer. <!-- eof --> <hr><p> This file is part of the <a href="index.html">TQt toolkit</a>. Copyright © 1995-2007 <a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2007 <a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> <td align=right><div align=right>TQt 3.3.8</div> </table></div></address></body> </html>