Qt 4.8
|
The QScreen class is a base class for screen drivers in Qt for Embedded Linux. More...
#include <qscreen_qws.h>
Public Types | |
enum | ClassId { LinuxFBClass, TransformedClass, VNCClass, MultiClass, VFbClass, DirectFBClass, SvgalibClass, ProxyClass, GLClass, IntfbClass, CustomClass = 1024 } |
This enum defines the class identifiers for the known screen subclasses. More... | |
enum | PixelType { NormalPixel, BGRPixel } |
This enum describes the pixel storage format of the screen, i. More... | |
Public Functions | |
virtual int | alloc (unsigned int, unsigned int, unsigned int) |
Returns the index in the screen's palette which is the closest match to the given RGB value (red, green, blue). More... | |
uchar * | base () const |
Returns a pointer to the beginning of the framebuffer. More... | |
virtual void | blank (bool on) |
Prevents the screen driver form displaying any content on the screen. More... | |
virtual void | blit (const QImage &img, const QPoint &topLeft, const QRegion ®ion) |
Copies the given region in the given image to the point specified by topLeft using device coordinates. More... | |
void | blit (QWSWindow *bs, const QRegion &clip) |
virtual uchar * | cache (int) |
ClassId | classId () const |
Returns the class identifier for the screen object. More... | |
QRgb * | clut () |
Returns a pointer to the screen's color lookup table (i. More... | |
int | colorCount () |
Returns the number of entries in the screen's color lookup table (i. More... | |
virtual bool | connect (const QString &displaySpec)=0 |
This function is called by every Qt for Embedded Linux application on startup, and must be implemented to map in the framebuffer and the accelerated drivers that the graphics card control registers. More... | |
virtual QWSWindowSurface * | createSurface (QWidget *widget) const |
Creates and returns a new window surface for the given widget. More... | |
virtual QWSWindowSurface * | createSurface (const QString &key) const |
Creates and returns a new window surface matching the given key. More... | |
int | depth () const |
Returns the depth of the framebuffer, in bits per pixel. More... | |
int | deviceHeight () const |
Returns the full height of the framebuffer device in pixels. More... | |
int | deviceWidth () const |
Returns the physical width of the framebuffer device in pixels. More... | |
virtual void | disconnect ()=0 |
This function is called by every Qt for Embedded Linux application before exiting, and must be implemented to unmap the framebuffer. More... | |
virtual void | exposeRegion (QRegion r, int changing) |
This function is called by the Qt for Embedded Linux server whenever a screen update is required. More... | |
QGraphicsSystem * | graphicsSystem () const |
virtual void | haltUpdates () |
int | height () const |
Returns the logical height of the framebuffer in pixels. More... | |
virtual bool | initDevice ()=0 |
This function is called by the Qt for Embedded Linux server to initialize the framebuffer. More... | |
virtual bool | isInterlaced () const |
Returns true if the display is interlaced (i. More... | |
virtual bool | isTransformed () const |
Returns true if the screen is transformed (for instance, rotated 90 degrees); otherwise returns false. More... | |
int | linestep () const |
Returns the length of each scanline of the framebuffer in bytes. More... | |
virtual QSize | mapFromDevice (const QSize &) const |
Maps the given size from the framebuffer coordinate system to the coordinate space used by the application. More... | |
virtual QPoint | mapFromDevice (const QPoint &, const QSize &) const |
Maps the given point from the framebuffer coordinate system to the coordinate space used by the application, passing the device's screenSize as argument. More... | |
virtual QRect | mapFromDevice (const QRect &, const QSize &) const |
Maps the given rectangle from the framebuffer coordinate system to the coordinate space used by the application, passing the device's screenSize as argument. More... | |
virtual QImage | mapFromDevice (const QImage &) const |
Maps the given image from the framebuffer coordinate system to the coordinate space used by the application. More... | |
virtual QRegion | mapFromDevice (const QRegion &, const QSize &) const |
Maps the given region from the framebuffer coordinate system to the coordinate space used by the application, passing the device's screenSize as argument. More... | |
virtual QSize | mapToDevice (const QSize &) const |
Maps the given size from the coordinate space used by the application to the framebuffer coordinate system. More... | |
virtual QPoint | mapToDevice (const QPoint &, const QSize &) const |
Maps the given point from the coordinate space used by the application to the framebuffer coordinate system, passing the device's screenSize as argument. More... | |
virtual QRect | mapToDevice (const QRect &, const QSize &) const |
Maps the given rectangle from the coordinate space used by the application to the framebuffer coordinate system, passing the device's screenSize as argument. More... | |
virtual QImage | mapToDevice (const QImage &) const |
Maps the given image from the coordinate space used by the application to the framebuffer coordinate system. More... | |
virtual QRegion | mapToDevice (const QRegion &, const QSize &) const |
Maps the given region from the coordinate space used by the application to the framebuffer coordinate system, passing the device's screenSize as argument. More... | |
virtual int | memoryNeeded (const QString &) |
QT_DEPRECATED int | numCols () |
QPoint | offset () const |
Returns the logical offset of the screen, i. More... | |
virtual bool | onCard (const unsigned char *) const |
Returns true if the specified buffer is within the graphics card's memory; otherwise returns false (i.e. More... | |
virtual bool | onCard (const unsigned char *, ulong &out_offset) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.If the specified buffer is within the graphics card's memory, this function stores the offset from the start of graphics card memory (in bytes), in the location specified by the offset parameter. More... | |
int | physicalHeight () const |
Returns the physical height of the screen in millimeters. More... | |
int | physicalWidth () const |
Returns the physical width of the screen in millimeters. More... | |
QImage::Format | pixelFormat () const |
Returns the pixel format of the screen, or QImage::Format_Invalid if the pixel format is not a supported image format. More... | |
PixelType | pixelType () const |
Returns the pixel storage format of the screen. More... | |
QPixmapDataFactory * | pixmapDataFactory () const |
virtual int | pixmapDepth () const |
Returns the preferred depth for pixmaps, in bits per pixel. More... | |
virtual int | pixmapLinestepAlignment () |
Returns the value (in bits) to which individual scanlines of pixmaps held in the graphics card's memory, should be aligned. More... | |
virtual int | pixmapOffsetAlignment () |
Returns the value (in bits) to which the start address of pixmaps held in the graphics card's memory, should be aligned. More... | |
QScreen (int display_id, ClassId classId) | |
Constructs a new screen driver. More... | |
QScreen (int display_id) | |
Constructs a new screen driver. More... | |
virtual QRegion | region () const |
Returns the region covered by this screen driver. More... | |
virtual void | restore () |
Restores the previously saved state of the graphics card. More... | |
virtual void | resumeUpdates () |
virtual void | save () |
Saves the current state of the graphics card. More... | |
int | screenSize () const |
Returns the size of the screen in bytes. More... | |
virtual void | set (unsigned int, unsigned int, unsigned int, unsigned int) |
virtual void | setDirty (const QRect &) |
Marks the given rectangle as dirty. More... | |
virtual void | setMode (int, int, int)=0 |
Implement this function to reset the framebuffer's resolution (width and height) and bit depth. More... | |
void | setOffset (const QPoint &p) |
virtual int | sharedRamSize (void *) |
virtual void | shutdownDevice () |
This function is called by the Qt for Embedded Linux server before it calls the disconnect() function when exiting. More... | |
virtual void | solidFill (const QColor &color, const QRegion ®ion) |
Fills the given region of the screen with the specified color. More... | |
int | subScreenIndexAt (const QPoint &p) const |
Returns the index of the subscreen at the given position; returns -1 if no screen is found. More... | |
virtual QList< QScreen * > | subScreens () const |
virtual bool | supportsDepth (int) const |
Returns true if the screen supports the specified color depth; otherwise returns false. More... | |
int | totalSize () const |
Returns the size of the available graphics card memory (including the screen) in bytes. More... | |
virtual int | transformOrientation () const |
Returns the current rotation as an integer value. More... | |
virtual void | uncache (uchar *) |
int | width () const |
Returns the logical width of the framebuffer in pixels. More... | |
virtual | ~QScreen () |
Destroys this screen driver. More... | |
Static Public Functions | |
static QScreen * | instance () |
Returns a pointer to the application's QScreen instance. More... | |
Protected Functions | |
void | setGraphicsSystem (QGraphicsSystem *system) |
void | setPixelFormat (QImage::Format format) |
Sets the screen's pixel format to format. More... | |
void | setPixmapDataFactory (QPixmapDataFactory *factory) |
Protected Variables | |
int | d |
the pixel depth More... | |
uchar * | data |
points to the first visible pixel in the frame buffer. More... | |
int | dh |
the device height More... | |
int | displayId |
int | dw |
the device width More... | |
QPoolEntry * | entries |
int * | entryp |
bool | grayscale |
the gray scale screen mode flag More... | |
int | h |
the logical height of the screen. More... | |
unsigned int * | lowest |
int | lstep |
the number of bytes representing a line in the frame buffer. More... | |
int | mapsize |
the total number of bytes in the frame buffer More... | |
int | physHeight |
the physical height of the screen in millimeters. More... | |
int | physWidth |
the physical width of the screen in millimeters. More... | |
PixelType | pixeltype |
set to BGRPixel More... | |
QRgb | screenclut [256] |
the color table More... | |
int | screencols |
the number of entries in the color table More... | |
int | size |
the number of bytes in the visible region of the frame buffer More... | |
int | w |
the logical width of the screen. More... | |
Static Protected Variables | |
static ClearCacheFunc | clearCacheFunc = 0 |
Private Functions | |
void | compose (int level, const QRegion &exposed, QRegion &blend, QImage **blendbuffer, int changing_level) |
bool | frameBufferLittleEndian () const |
void | paintBackground (const QRegion &) |
void | setFrameBufferLittleEndian (bool littleEndian) |
Static Private Functions | |
static bool | isWidgetPaintOnScreen (const QWidget *w) |
Properties | |
QScreenPrivate * | d_ptr |
Friends | |
class | QIntfbScreen |
class | QLinuxFbScreen |
class | QProxyScreen |
class | QQnxScreen |
void | qt_blit_setup (QScreen *screen, const QImage &image, const QPoint &topLeft, const QRegion ®ion) |
void | qt_solidFill_setup (QScreen *, const QColor &, const QRegion &) |
class | QVFbScreen |
class | QVNCScreen |
class | QWSOnScreenSurface |
class | QWSServer |
class | QWSServerPrivate |
Related Functions | |
(Note that these are not member functions.) | |
void | setTransformation (int transformation, int screenNo) |
Here it is. More... | |
The QScreen class is a base class for screen drivers in Qt for Embedded Linux.
Note that this class is only available in Qt for Embedded Linux.
Qt for Embedded Linux provides ready-made drivers for several screen protocols, see the Qt for Embedded Linux Display Management{display management} documentation for details. Custom screen drivers can be implemented by subclassing the QScreen class and creating a screen driver plugin (derived from QScreenDriverPlugin). The default implementation of the QScreenDriverFactory class will automatically detect the plugin, and load the driver into the server application at run-time using Qt's How to Create Qt Plugins.
When rendering, the default behavior is for each client to render its widgets as well as its decorations into memory, while the server copies the memory content to the device's framebuffer using the screen driver. See the Qt for Embedded Linux Architecture overview for details (note that it is possible for the clients to manipulate and control the underlying hardware directly as well).
Starting with Qt 4.2, it is also possible to add an accelerated graphics driver to take advantage of available hardware resources. See the Adding an Accelerated Graphics Driver to Qt for Embedded Linux documentation for details.
When a Qt for Embedded Linux application starts running, it calls the screen driver's connect() function to map the framebuffer and the accelerated drivers that the graphics card control registers. The connect() function should then read out the parameters of the framebuffer and use them as required to set this class's protected variables.
The initDevice() function can be reimplemented to initialize the graphics card. Note, however, that connect() is called before the initDevice() function, so, for some hardware configurations, some of the initialization that would normally be done in the initDevice() function might have to be done in the connect() function.
Likewise, just before a Qt for Embedded Linux application exits, it calls the screen driver's disconnect() function. The server application will in addition call the shutdownDevice() function before it calls disconnect(). Note that the default implementation of the shutdownDevice() function only hides the mouse cursor.
QScreen also provides the save() and restore() functions, making it possible to save and restore the state of the graphics card. Note that the default implementations do nothing. Hardware screen drivers should reimplement these functions to save (and restore) its registers, enabling switching between virtual consoles.
In addition, you can use the base() function to retrieve a pointer to the beginning of the framebuffer, and the region() function to retrieve the framebuffer's region. Use the onCard() function to determine whether the framebuffer is within the graphics card's memory, and the totalSize() function to determine the size of the available graphics card memory (including the screen). Finally, you can use the offset() function to retrieve the offset between the framebuffer's coordinates and the application's coordinate system.
QScreen provides several functions to retrieve information about the color palette: The clut() function returns a pointer to the color lookup table (i.e. its color palette). Use the colorCount() function to determine the number of entries in this table, and the alloc() function to retrieve the palette index of the color that is the closest match to a given RGB value.
To determine if the screen driver supports a given color depth, use the supportsDepth() function that returns true of the specified depth is supported.
When a screen update is required, the Qt for Embedded Linux server runs through all the top-level windows that intersect with the region that is about to be updated, and ensures that the associated clients have updated their memory buffer. Then the server calls the exposeRegion() function that composes the window surfaces and copies the content of memory to screen by calling the blit() and solidFill() functions.
The blit() function copies a given region in a given image to a specified point using device coordinates, while the solidFill() function fills the given region of the screen with the specified color. Note that normally there is no need to call either of these functions explicitly.
In addition, QScreen provides the blank() function that can be reimplemented to prevent any contents from being displayed on the screen, and the setDirty() function that can be reimplemented to indicate that a given rectangle of the screen has been altered. Note that the default implementations of these functions do nothing.
Reimplement the mapFromDevice() and mapToDevice() functions to map objects from the framebuffer coordinate system to the coordinate space used by the application, and vice versa. Be aware that the default implementations simply return the given objects as they are.
Property | Functions |
Size | The size of the screen can be retrieved using the screenSize() function. The size is returned in bytes. The framebuffer's logical width and height can be retrieved using width() and height(), respectively. These functions return values are given in pixels. Alternatively, the physicalWidth() and physicalHeight() function returns the same metrics in millimeters. QScreen also provides the deviceWidth() and deviceHeight() functions returning the physical width and height of the device in pixels. Note that the latter metrics can differ from the ones used if the display is centered within the framebuffer. |
Resolution | Reimplement the setMode() function to be able to set the framebuffer to a new resolution (width and height) and bit depth. The current depth of the framebuffer can be always be retrieved using the depth() function. Use the pixmapDepth() function to obtain the preferred depth for pixmaps. |
Pixmap Alignment | Use the pixmapOffsetAlignment() function to retrieve the value to which the start address of pixmaps held in the graphics card's memory, should be aligned. Use the pixmapLinestepAlignment() to retrieve the value to which the {individual scanlines} of pixmaps should be aligned. |
Image Display | The isInterlaced() function tells whether the screen is displaying images progressively, and the isTransformed() function whether it is rotated. The transformOrientation() function can be reimplemented to return the current rotation. |
Scanlines | Use the linestep() function to retrieve the length of each scanline of the framebuffer. |
Pixel Type | The pixelType() function returns the screen's pixel storage format as described by the PixelType enum. |
You need to set the following members when implementing a subclass of QScreen:
Member | Initial Value |
QScreen::data | A pointer to the framebuffer if possible; 0 otherwise. |
QScreen::lstep | The number of bytes between each scanline in the framebuffer. |
QScreen::w | The logical screen width in pixels. |
QScreen::h | The logical screen height in pixels. |
QScreen::dw | The real screen width in pixels. |
QScreen::dh | The real screen height in pixels. |
QScreen::d | The number of bits per pixel. |
QScreen::physWidth | The screen width in millimeters. |
QScreen::physHeight | The screen height in millimeters. |
The logical screen values are the same as the real screen values unless the screen is transformed in some way; e.g., rotated.
See also the Accelerated Graphics Driver Example for an example that shows how to initialize these values.
Definition at line 191 of file qscreen_qws.h.
enum QScreen::ClassId |
This enum defines the class identifiers for the known screen subclasses.
Enumerator | |
---|---|
LinuxFBClass | |
TransformedClass | |
VNCClass | |
MultiClass | |
VFbClass | |
DirectFBClass | |
SvgalibClass | |
ProxyClass | |
GLClass | |
IntfbClass | |
CustomClass |
Definition at line 194 of file qscreen_qws.h.
enum QScreen::PixelType |
This enum describes the pixel storage format of the screen, i.
e. the order of the red (R), green (G) and blue (B) components of a pixel.
Enumerator | |
---|---|
NormalPixel | |
BGRPixel |
Definition at line 220 of file qscreen_qws.h.
QScreen::QScreen | ( | int | display_id, |
ClassId | classId | ||
) |
Constructs a new screen driver.
The display_id identifies the Qt for Embedded Linux server to connect to. The classId specifies the class identifier.
Definition at line 2163 of file qscreen_qws.cpp.
|
explicit |
Constructs a new screen driver.
The displayId identifies the Qt for Embedded Linux server to connect to.
Definition at line 2172 of file qscreen_qws.cpp.
|
virtual |
Destroys this screen driver.
Definition at line 2185 of file qscreen_qws.cpp.
|
virtual |
Returns the index in the screen's palette which is the closest match to the given RGB value (red, green, blue).
Note that this function only apply in paletted modes like 8-bit, i.e. in modes where only the palette indexes (and not the actual color values) are stored in memory.
Definition at line 2255 of file qscreen_qws.cpp.
|
inline |
Returns a pointer to the beginning of the framebuffer.
Definition at line 235 of file qscreen_qws.h.
Referenced by QWSOnScreenSurface::attachToScreen(), blit180(), blit270(), blit90(), blit_template(), QProxyScreen::configure(), createSurface(), QDirectPainter::frameBuffer(), QWSDisplay::frameBuffer(), getPrimaryScreen(), QVFbScreen::physicalSize(), QWSDirectPainterSurface::QWSDirectPainterSurface(), QVNCDirtyMapOptimized< T >::setDirty(), and solidFill_template().
|
virtual |
Prevents the screen driver form displaying any content on the screen.
Note that the default implementation does nothing.
Reimplement this function to prevent the screen driver from displaying any contents on the screen if on is true; otherwise the contents is expected to be shown.
Reimplemented in QDirectFBScreen, QProxyScreen, QLinuxFbScreen, QMultiScreen, QVFbScreen, QIntfbScreen, QQnxScreen, and EGLNullWSScreen.
Definition at line 2329 of file qscreen_qws.cpp.
Referenced by QWSServerPrivate::_q_screenSaverSleep(), QWSServerPrivate::_q_screenSaverWake(), QMultiScreen::blank(), QProxyScreen::blank(), and QWSServer::setScreenSaverIntervals().
Copies the given region in the given image to the point specified by topLeft using device coordinates.
This function is called from the exposeRegion() function; it is not intended to be called explicitly.
Reimplement this function to make use of Adding an Accelerated Graphics Driver to Qt for Embedded Linux{accelerated hardware}. Note that this function must be reimplemented if the framebuffer format is not supported by Qt for Embedded Linux (See the Qt for Embedded Linux Display Management{Display Management} documentation for more details).
Reimplemented in QProxyScreen, QMultiScreen, QTransformedScreen, PvrEglScreen, and QAhiScreen.
Definition at line 2640 of file qscreen_qws.cpp.
Referenced by PvrEglScreen::blit(), QMultiScreen::blit(), QProxyScreen::blit(), blit(), compose(), exposeRegion(), QWSWindowSurface::flush(), and paintBackground().
Definition at line 2681 of file qscreen_qws.cpp.
|
inlinevirtual |
This function is used to store pixmaps in graphics memory for the use of the accelerated drivers. See QLinuxFbScreen (where the caching is implemented) for more information.
Reimplemented in QLinuxFbScreen.
Definition at line 237 of file qscreen_qws.h.
QScreen::ClassId QScreen::classId | ( | ) | const |
Returns the class identifier for the screen object.
Definition at line 3551 of file qscreen_qws.cpp.
Referenced by glScreenForDevice(), parentScreen(), screenForDevice(), QApplicationPrivate::setScreenTransformation(), and PvrEglScreen::transformation().
|
inline |
Returns a pointer to the screen's color lookup table (i.
e. its color palette).
Note that this function only apply in paletted modes like 8-bit, i.e. in modes where only the palette indexes (and not the actual color values) are stored in memory.
Definition at line 245 of file qscreen_qws.h.
Referenced by QVNCServer::convertPixels(), and qt_conv16ToRgb().
|
inline |
Returns the number of entries in the screen's color lookup table (i.
e. its color palette). A pointer to the color table can be retrieved using the clut() function.
Definition at line 249 of file qscreen_qws.h.
Referenced by effectiveState().
|
private |
Definition at line 2828 of file qscreen_qws.cpp.
Referenced by exposeRegion().
|
pure virtual |
This function is called by every Qt for Embedded Linux application on startup, and must be implemented to map in the framebuffer and the accelerated drivers that the graphics card control registers.
Note that connect must be called before the initDevice() function.
Ensure that true is returned if a connection to the screen device is made. Otherwise, return false. Upon making the connection, the function should read out the parameters of the framebuffer and use them as required to set this class's protected variables.
The displaySpec argument is passed by the QWS_DISPLAY environment variable or the -display command line parameter, and has the following syntax:
For example, to use the mach64 driver on fb1 as display 2:
See Qt for Embedded Linux Display Management for more details.
Implemented in QDirectFBScreen, QProxyScreen, QLinuxFbScreen, QTransformedScreen, PvrEglScreen, QMultiScreen, QQnxScreen, QVFbScreen, QVNCScreen, QIntfbScreen, QAhiScreen, and EGLNullWSScreen.
Referenced by QWSServer::endDisplayReconfigure(), and qt_get_screen().
|
virtual |
Creates and returns a new window surface for the given widget.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Reimplemented in QDirectFBScreen, QProxyScreen, QMultiScreen, PvrEglScreen, and EGLNullWSScreen.
Definition at line 2811 of file qscreen_qws.cpp.
Referenced by EGLNullWSScreen::createSurface(), PvrEglScreen::createSurface(), QMultiScreen::createSurface(), QProxyScreen::createSurface(), QWSWindow::createSurface(), QDirectFBScreen::createSurface(), QWSGraphicsSystem::createWindowSurface(), effectiveState(), and qt_egl_create_surface().
|
virtual |
Creates and returns a new window surface matching the given key.
The server application will call this function whenever it needs to create a server side representation of a window, e.g. when copying the content of memory to the screen using the screen driver.
Note that this function must be reimplemented when adding an accelerated graphics driver. See the Adding an Accelerated Graphics Driver to Qt for Embedded Linux {Adding an Accelerated Graphics Driver} documentation for details.
Reimplemented in QDirectFBScreen, QProxyScreen, QMultiScreen, PvrEglScreen, and EGLNullWSScreen.
Definition at line 2756 of file qscreen_qws.cpp.
|
inline |
Returns the depth of the framebuffer, in bits per pixel.
Note that the returned depth is the number of bits each pixel fills rather than the number of significant bits, so 24bpp and 32bpp express the same range of colors (8 bits of red, green and blue).
Definition at line 229 of file qscreen_qws.h.
Referenced by QWSOnScreenSurface::attachToScreen(), QTransformedScreen::blit(), QProxyScreen::configure(), QVNCScreen::connect(), QMultiScreen::connect(), QDirectFBScreen::connect(), QPixmap::defaultDepth(), QWSDisplay::depth(), QDirectFBScreen::depth(), QDirectFBPixmapData::fill(), QDirectFBPixmapData::fromDataBufferDescription(), QDirectFBPixmapData::fromImage(), QDirectFBPaintDevice::metric(), pixmapDepth(), QWSMemorySurface::preferredImageFormat(), QScreenPrivate::preferredImageFormat(), qt_blit_setup(), qt_solidFill_setup(), QVNCDirtyMap::QVNCDirtyMap(), QDirectFBPixmapData::resize(), QDirectPainter::screenDepth(), and QScreenCursor::set().
|
inline |
Returns the full height of the framebuffer device in pixels.
Note that the returned height can differ from the height which Qt for Embedded Linux will actually use, that is if the display is centered within the framebuffer.
Definition at line 234 of file qscreen_qws.h.
Referenced by QProxyScreen::configure(), devS(), QDirectFBPaintDevice::dotsPerMeterY(), QWSServer::endDisplayReconfigure(), QDirectPainter::endPainting(), QDirectPainter::flush(), QWSMouseHandler::limitToScreen(), QWSServerPrivate::openDisplay(), QDirectFBMouseHandlerPrivate::QDirectFBMouseHandlerPrivate(), QQnxMouseHandler::QQnxMouseHandler(), QScreenCursor::QScreenCursor(), QVNCDirtyMap::QVNCDirtyMap(), QVNCServer::readClient(), QTransformedScreen::region(), QDirectPainter::screenHeight(), QWSServer::sendMouseEvent(), QDirectPainter::setRegion(), QDirectPainter::startPainting(), and QRfbRawEncoder::write().
|
inline |
Returns the physical width of the framebuffer device in pixels.
Note that the returned width can differ from the width which Qt for Embedded Linux will actually use, that is if the display is centered within the framebuffer.
Definition at line 233 of file qscreen_qws.h.
Referenced by QProxyScreen::configure(), devS(), QDirectFBPaintDevice::dotsPerMeterX(), QWSServer::endDisplayReconfigure(), QDirectPainter::endPainting(), QDirectPainter::flush(), QWSMouseHandler::limitToScreen(), QWSServerPrivate::openDisplay(), QDirectFBMouseHandlerPrivate::QDirectFBMouseHandlerPrivate(), QQnxMouseHandler::QQnxMouseHandler(), QScreenCursor::QScreenCursor(), QVNCDirtyMap::QVNCDirtyMap(), QVNCServer::readClient(), QTransformedScreen::region(), QDirectPainter::screenWidth(), QWSServer::sendMouseEvent(), QDirectPainter::setRegion(), QDirectPainter::startPainting(), QRfbRawEncoder::write(), and QRfbHextileEncoder< SRC >::write().
|
pure virtual |
This function is called by every Qt for Embedded Linux application before exiting, and must be implemented to unmap the framebuffer.
Note that a server application will call the shutdownDevice() function prior to this function.
Implemented in QDirectFBScreen, QProxyScreen, QLinuxFbScreen, PvrEglScreen, QMultiScreen, QQnxScreen, QVFbScreen, QVNCScreen, QIntfbScreen, QAhiScreen, and EGLNullWSScreen.
Referenced by QWSServer::beginDisplayReconfigure(), QMultiScreen::disconnect(), QProxyScreen::disconnect(), and QWSDisplay::Data::~Data().
|
virtual |
This function is called by the Qt for Embedded Linux server whenever a screen update is required.
region is the area on the screen that must be updated, and windowIndex is the index into QWSServer::clientWindows() of the window that required the update. QWSWindow::state() gives more information about the cause.
The default implementation composes the affected windows and paints the given region on screen by calling the blit() and solidFill() functions
This function can be reimplemented to perform composition in hardware, or to perform transition effects. For simpler hardware acceleration, or to interface with this is typically done by reimplementing the blit() and solidFill() functions instead.
Note that there is no need to call this function explicitly.
Reimplemented in QDirectFBScreen, QProxyScreen, QMultiScreen, QTransformedScreen, QQnxScreen, and EGLNullWSScreen.
Definition at line 2555 of file qscreen_qws.cpp.
Referenced by QQnxScreen::exposeRegion(), QTransformedScreen::exposeRegion(), QMultiScreen::exposeRegion(), QProxyScreen::exposeRegion(), QWSServerPrivate::exposeRegion(), QScreenCursor::hide(), QScreenCursor::move(), QScreenCursor::set(), QWSServer::setBackground(), QLinuxFbScreen::setMode(), and QScreenCursor::show().
|
private |
QGraphicsSystem * QScreen::graphicsSystem | ( | ) | const |
Definition at line 3538 of file qscreen_qws.cpp.
Referenced by QApplicationPrivate::graphicsSystem().
|
virtual |
Reimplemented in QProxyScreen, and QMultiScreen.
Definition at line 3271 of file qscreen_qws.cpp.
Referenced by QMultiScreen::haltUpdates(), and QProxyScreen::haltUpdates().
|
inline |
Returns the logical height of the framebuffer in pixels.
Definition at line 228 of file qscreen_qws.h.
Referenced by QDirectPainter::allocatedRegion(), QWSOnScreenSurface::attachToScreen(), QProxyScreen::configure(), QMultiScreen::connect(), effectiveState(), QWSServer::endDisplayReconfigure(), QWSDisplay::height(), qt_defaultDpiY(), qt_directpainter_embedevent(), qt_directpainter_region(), screenS(), QWSPcMouseHandlerPrivate::sendEvent(), QWSServer::setBackground(), QTransformedScreen::setDirty(), setImageMetrics(), PvrEglWindowSurface::transformRects(), QETWidget::translateMouseEvent(), QWSServerPrivate::update_regions(), and QRfbHextileEncoder< SRC >::write().
|
pure virtual |
This function is called by the Qt for Embedded Linux server to initialize the framebuffer.
Note that a server application will call the connect() function prior to this function.
Implement this function to make accelerated drivers set up the graphics card. Return true to indicate success and false to indicate failure.
Implemented in QDirectFBScreen, QProxyScreen, QLinuxFbScreen, PvrEglScreen, QMultiScreen, QAhiScreen, QQnxScreen, QVFbScreen, QVNCScreen, QIntfbScreen, and EGLNullWSScreen.
Referenced by QWSDisplay::Data::init(), QMultiScreen::initDevice(), and QProxyScreen::initDevice().
|
inlinestatic |
Returns a pointer to the application's QScreen instance.
If this screen consists of several subscreens, operations to the returned instance will affect all its subscreens. Use the subscreens() function to retrieve access to a particular subscreen.
Definition at line 201 of file qscreen_qws.h.
Referenced by QRasterPixmapData::createPixmapForImage(), QPixmap::defaultDepth(), getPrimaryScreen(), QApplicationPrivate::graphicsSystem(), QPixmapDataFactory::instance(), QDirectFBMouseHandlerPrivate::QDirectFBMouseHandlerPrivate(), QWSDirectPainterSurface::QWSDirectPainterSurface(), QDirectFBMouseHandlerPrivate::readMouseData(), QWSServer::refresh(), QRasterPixmapData::resize(), and setScreenTransformation().
|
virtual |
Returns true if the display is interlaced (i.
e. is displaying images progressively like a television screen); otherwise returns false.
If the display is interlaced, the drawing is altered to look better.
Reimplemented in QProxyScreen, and QMultiScreen.
Definition at line 3047 of file qscreen_qws.cpp.
Referenced by QMultiScreen::isInterlaced(), and QProxyScreen::isInterlaced().
|
virtual |
Returns true if the screen is transformed (for instance, rotated 90 degrees); otherwise returns false.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3026 of file qscreen_qws.cpp.
Referenced by QWSServerPrivate::_q_newConnection(), QDirectPainter::allocatedRegion(), QDirectPainter::endPainting(), QQnxScreen::exposeRegion(), QDirectPainter::flush(), QProxyScreen::isTransformed(), qt_directpainter_embedevent(), qt_directpainter_region(), QWSPcMouseHandlerPrivate::sendEvent(), QWSServer::sendMouseEvent(), QQnxScreen::setDirty(), QDirectPainter::setRegion(), and QDirectPainter::startPainting().
|
staticprivate |
Definition at line 2782 of file qscreen_qws.cpp.
Referenced by createSurface(), and QWSOnScreenSurface::isValid().
|
inline |
Returns the length of each scanline of the framebuffer in bytes.
Definition at line 232 of file qscreen_qws.h.
Referenced by QWSOnScreenSurface::attachToScreen(), blit180(), blit270(), blit90(), blit_template(), QProxyScreen::configure(), QDirectPainter::linestep(), QVFbScreen::physicalSize(), QVNCDirtyMapOptimized< T >::setDirty(), and solidFill_template().
Maps the given size from the framebuffer coordinate system to the coordinate space used by the application.
Note that the default implementation simply returns the given size as it is.
Reimplement this function to use the given device's coordinate system when mapping.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3089 of file qscreen_qws.cpp.
Referenced by QDirectPainter::endPainting(), QDirectPainter::flush(), QProxyScreen::mapFromDevice(), QWSServer::sendMouseEvent(), QDirectPainter::setRegion(), and QDirectPainter::startPainting().
Maps the given point from the framebuffer coordinate system to the coordinate space used by the application, passing the device's screenSize as argument.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Note that the default implementation simply returns the given point as it is.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3125 of file qscreen_qws.cpp.
Maps the given rectangle from the framebuffer coordinate system to the coordinate space used by the application, passing the device's screenSize as argument.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Note that the default implementation simply returns the given rectangle as it is.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3161 of file qscreen_qws.cpp.
Maps the given image from the framebuffer coordinate system to the coordinate space used by the application.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Note that the default implementation simply returns the given image as it is.
Definition at line 3195 of file qscreen_qws.cpp.
Maps the given region from the framebuffer coordinate system to the coordinate space used by the application, passing the device's screenSize as argument.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Note that the default implementation simply returns the given region as it is.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3231 of file qscreen_qws.cpp.
Maps the given size from the coordinate space used by the application to the framebuffer coordinate system.
Note that the default implementation simply returns the given size as it is.
Reimplement this function to use the given device's coordinate system when mapping.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3068 of file qscreen_qws.cpp.
Referenced by QDirectPainter::allocatedRegion(), QProxyScreen::mapToDevice(), qt_directpainter_embedevent(), qt_directpainter_region(), and QWSPcMouseHandlerPrivate::sendEvent().
Maps the given point from the coordinate space used by the application to the framebuffer coordinate system, passing the device's screenSize as argument.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Note that the default implementation returns the given point as it is.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3107 of file qscreen_qws.cpp.
Maps the given rectangle from the coordinate space used by the application to the framebuffer coordinate system, passing the device's screenSize as argument.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Note that the default implementation returns the given rectangle as it is.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3143 of file qscreen_qws.cpp.
Maps the given image from the coordinate space used by the application to the framebuffer coordinate system.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Note that the default implementation returns the given image as it is.
Definition at line 3178 of file qscreen_qws.cpp.
Maps the given region from the coordinate space used by the application to the framebuffer coordinate system, passing the device's screenSize as argument.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Note that the default implementation returns the given region as it is.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3213 of file qscreen_qws.cpp.
|
virtual |
Reimplemented in QProxyScreen, and QMultiScreen.
Definition at line 3263 of file qscreen_qws.cpp.
Referenced by QWSDisplay::Data::init(), QMultiScreen::memoryNeeded(), QProxyScreen::memoryNeeded(), and QWSDisplay::Data::reinit().
|
inline |
Definition at line 247 of file qscreen_qws.h.
Referenced by qt_conv16ToRgb().
QPoint QScreen::offset | ( | ) | const |
Returns the logical offset of the screen, i.
e., the offset between (0,0) in screen coordinates and the application coordinate system.
Definition at line 3311 of file qscreen_qws.cpp.
Referenced by blit(), QProxyScreen::configure(), QMultiScreen::connect(), exposeRegion(), QVNCServer::frameBufferUpdateRequest(), QWSMouseHandler::mouseChanged(), QVNCServer::pointerEvent(), QVFbScreen::setDirty(), solidFill(), QRfbRawEncoder::write(), and QRfbHextileEncoder< SRC >::write().
|
virtual |
Returns true if the specified buffer is within the graphics card's memory; otherwise returns false (i.e.
if it's in main RAM).
Reimplemented in QProxyScreen, and QMultiScreen.
Definition at line 2402 of file qscreen_qws.cpp.
Referenced by QMultiScreen::onCard(), and QProxyScreen::onCard().
|
virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.If the specified buffer is within the graphics card's memory, this function stores the offset from the start of graphics card memory (in bytes), in the location specified by the offset parameter.
Reimplemented in QProxyScreen, and QMultiScreen.
Definition at line 2423 of file qscreen_qws.cpp.
|
private |
Definition at line 2943 of file qscreen_qws.cpp.
Referenced by compose().
|
inline |
Returns the physical height of the screen in millimeters.
Definition at line 291 of file qscreen_qws.h.
Referenced by QProxyScreen::configure(), QMultiScreen::connect(), QDirectFBPaintDevice::dotsPerMeterY(), effectiveState(), qt_defaultDpiY(), setImageMetrics(), and QTransformedScreen::setTransformation().
|
inline |
Returns the physical width of the screen in millimeters.
Definition at line 290 of file qscreen_qws.h.
Referenced by QProxyScreen::configure(), QMultiScreen::connect(), QDirectFBPaintDevice::dotsPerMeterX(), effectiveState(), qt_defaultDpiX(), setImageMetrics(), and QTransformedScreen::setTransformation().
QImage::Format QScreen::pixelFormat | ( | ) | const |
Returns the pixel format of the screen, or QImage::Format_Invalid
if the pixel format is not a supported image format.
Definition at line 2225 of file qscreen_qws.cpp.
Referenced by QWSOnScreenSurface::attachToScreen(), QAhiScreen::blit(), QProxyScreen::configure(), EGLNullWSScreen::connect(), QVNCScreen::connect(), QDirectFBScreen::connect(), QDirectFBPixmapData::copy(), QDirectFBScreenPrivate::createPixmapData(), QRasterPixmapData::createPixmapForImage(), QDirectFBWindowSurface::createWindow(), QDirectFBPixmapData::fromDataBufferDescription(), QDirectFBPixmapData::fromImage(), QDirectFBPaintEnginePrivate::getSurface(), PvrEglWindowSurface::image(), QLinuxFbScreen::initDevice(), QWSMemorySurface::preferredImageFormat(), QDirectFBPixmapData::resize(), QRasterPixmapData::resize(), screenForDevice(), QAhiScreenCursor::set(), QDirectFBWindowSurface::setGeometry(), QAhiScreen::solidFill(), and QVNCClientCursor::write().
|
inline |
Returns the pixel storage format of the screen.
Definition at line 231 of file qscreen_qws.h.
Referenced by QTransformedScreen::blit(), QProxyScreen::configure(), QVNCServer::convertPixels(), qt_blit_setup(), qt_conv16ToRgb(), and qt_solidFill_setup().
QPixmapDataFactory * QScreen::pixmapDataFactory | ( | ) | const |
Definition at line 3520 of file qscreen_qws.cpp.
Referenced by QWSGraphicsSystem::createPixmapData(), and QPixmapDataFactory::instance().
|
virtual |
Returns the preferred depth for pixmaps, in bits per pixel.
Definition at line 3255 of file qscreen_qws.cpp.
Referenced by QWSDisplay::pixmapDepth().
|
inlinevirtual |
Returns the value (in bits) to which individual scanlines of pixmaps held in the graphics card's memory, should be aligned.
Note that the default implementation returns 64; reimplement this function to override the return value, e.g., when implementing an accelerated driver (see the Adding an Accelerated Graphics Driver to Qt for Embedded Linux documentation for details.
Definition at line 214 of file qscreen_qws.h.
|
inlinevirtual |
Returns the value (in bits) to which the start address of pixmaps held in the graphics card's memory, should be aligned.
Note that the default implementation returns 64; reimplement this function to override the return value, e.g., when implementing an accelerated driver (see the Adding an Accelerated Graphics Driver to Qt for Embedded Linux documentation for details).
Definition at line 213 of file qscreen_qws.h.
Referenced by QLinuxFbScreen::cache().
|
inlinevirtual |
Returns the region covered by this screen driver.
Reimplemented in QProxyScreen, QMultiScreen, and QTransformedScreen.
Definition at line 284 of file qscreen_qws.h.
Referenced by QMultiScreen::addSubScreen(), QAhiScreen::blit(), QMultiScreen::blit(), blit(), clearRect(), QMultiScreen::exposeRegion(), QProxyScreen::exposeRegion(), QDirectFBScreen::exposeRegion(), exposeRegion(), QWSServerPrivate::exposeRegion(), QMultiScreenCursor::move(), QProxyScreen::region(), QMultiScreen::removeSubScreen(), QVFbScreen::setDirty(), QMultiScreen::setDirty(), QDirectFBWindowSurface::setGeometry(), setMaxWindowRect(), QWSServer::setMaxWindowRect(), QLinuxFbScreen::setMode(), QApplicationPrivate::setScreenTransformation(), QAhiScreen::solidFill(), QMultiScreen::solidFill(), and subScreenIndexAt().
|
virtual |
Restores the previously saved state of the graphics card.
For example, hardware screen drivers should reimplement the save() and restore() functions to save and restore its registers, enabling swintching between virtual consoles.
Note that the default implementation does nothing.
Reimplemented in QProxyScreen, QLinuxFbScreen, QMultiScreen, QVFbScreen, and QIntfbScreen.
Definition at line 2325 of file qscreen_qws.cpp.
Referenced by QWSTtyKbPrivate::handleConsoleSwitch(), QMultiScreen::restore(), and QProxyScreen::restore().
|
virtual |
Reimplemented in QProxyScreen, and QMultiScreen.
Definition at line 3278 of file qscreen_qws.cpp.
Referenced by QMultiScreen::resumeUpdates(), and QProxyScreen::resumeUpdates().
|
virtual |
Saves the current state of the graphics card.
For example, hardware screen drivers should reimplement the save() and restore() functions to save and restore its registers, enabling swintching between virtual consoles.
Note that the default implementation does nothing.
Reimplemented in QProxyScreen, QLinuxFbScreen, QMultiScreen, QVFbScreen, and QIntfbScreen.
Definition at line 2309 of file qscreen_qws.cpp.
Referenced by QWSTtyKbPrivate::handleConsoleSwitch(), QMultiScreen::save(), and QProxyScreen::save().
|
inline |
Returns the size of the screen in bytes.
The screen size is always located at the beginning of framebuffer memory, i.e. it can also be retrieved using the base() function.
Definition at line 242 of file qscreen_qws.h.
Referenced by QProxyScreen::configure().
|
virtual |
Reimplemented in QLinuxFbScreen.
Definition at line 2337 of file qscreen_qws.cpp.
Referenced by QApplication::qwsSetCustomColors().
|
virtual |
Marks the given rectangle as dirty.
Note that the default implementation does nothing; reimplement this function to indicate that the given rectangle has been altered.
Reimplemented in QProxyScreen, QLinuxFbScreen, QMultiScreen, QTransformedScreen, QQnxScreen, QVFbScreen, QIntfbScreen, QVNCScreen, and QVFbScreen.
Definition at line 3010 of file qscreen_qws.cpp.
Referenced by exposeRegion(), QWSWindowSurface::flush(), QMultiScreen::setDirty(), and QProxyScreen::setDirty().
|
private |
Definition at line 3317 of file qscreen_qws.cpp.
Referenced by QProxyScreen::configure(), QVFbScreen::connect(), QVNCScreen::connect(), QQnxScreen::connect(), QLinuxFbScreen::connect(), and QLinuxFbIntegration::connect().
|
protected |
Definition at line 3529 of file qscreen_qws.cpp.
Referenced by QDirectFBScreen::connect().
|
pure virtual |
Implement this function to reset the framebuffer's resolution (width and height) and bit depth.
After the resolution has been set, existing paint engines will be invalid and the framebuffer should be completely redrawn. In a multiple-process situation, all other applications must be notified to reset their mode and update themselves accordingly.
Implemented in QDirectFBScreen, QProxyScreen, QLinuxFbScreen, PvrEglScreen, QMultiScreen, QVFbScreen, QIntfbScreen, QQnxScreen, QAhiScreen, and EGLNullWSScreen.
Referenced by QProxyScreen::setMode().
void QScreen::setOffset | ( | const QPoint & | p | ) |
Definition at line 3297 of file qscreen_qws.cpp.
Referenced by QProxyScreen::configure(), and QMultiScreen::connect().
|
protected |
Sets the screen's pixel format to format.
Definition at line 2233 of file qscreen_qws.cpp.
Referenced by QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), EGLNullWSScreen::connect(), QIntfbScreen::connect(), QQnxScreen::connect(), QVFbScreen::connect(), PvrEglScreen::connect(), QDirectFBScreen::connect(), and QLinuxFbScreen::setPixelFormat().
|
protected |
Definition at line 3505 of file qscreen_qws.cpp.
|
inlinevirtual |
Reimplemented in QProxyScreen, QLinuxFbScreen, and QMultiScreen.
Definition at line 215 of file qscreen_qws.h.
Referenced by QWSDisplay::Data::init(), QMultiScreen::sharedRamSize(), and QProxyScreen::sharedRamSize().
|
virtual |
This function is called by the Qt for Embedded Linux server before it calls the disconnect() function when exiting.
Note that the default implementation only hides the mouse cursor; reimplement this function to do the necessary graphics card specific cleanup.
Reimplemented in QDirectFBScreen, QProxyScreen, QLinuxFbScreen, PvrEglScreen, QMultiScreen, QQnxScreen, QVFbScreen, QAhiScreen, QVNCScreen, QIntfbScreen, and EGLNullWSScreen.
Definition at line 2201 of file qscreen_qws.cpp.
Referenced by QWSServerPrivate::closeDisplay(), QMultiScreen::shutdownDevice(), and QProxyScreen::shutdownDevice().
Fills the given region of the screen with the specified color.
This function is called from the exposeRegion() function; it is not intended to be called explicitly.
Reimplement this function to make use of Adding an Accelerated Graphics Driver to Qt for Embedded Linux{accelerated hardware}. Note that this function must be reimplemented if the framebuffer format is not supported by Qt for Embedded Linux (See the Qt for Embedded Linux Display Management{Display Management} documentation for more details).
Reimplemented in QDirectFBScreen, QProxyScreen, QMultiScreen, QTransformedScreen, PvrEglScreen, and QAhiScreen.
Definition at line 2727 of file qscreen_qws.cpp.
Referenced by paintBackground(), PvrEglScreen::solidFill(), QMultiScreen::solidFill(), and QProxyScreen::solidFill().
int QScreen::subScreenIndexAt | ( | const QPoint & | position | ) | const |
Returns the index of the subscreen at the given position; returns -1 if no screen is found.
The index identifies the subscreen in the list of pointers returned by the subScreens() function.
Definition at line 3343 of file qscreen_qws.cpp.
Referenced by QMultiScreen::createSurface(), and QMultiScreenCursor::move().
Returns a list of this screen's subscreens. Use the subScreenIndexAt() function to retrieve the index of a screen at a given position.
Note that if this screen consists of several subscreens, operations to this instance will affect all subscreens by default.
Reimplemented in QProxyScreen, and QMultiScreen.
Definition at line 283 of file qscreen_qws.h.
Referenced by QWSServerPrivate::_q_newConnection(), effectiveState(), getPrimaryScreen(), getScreen(), glScreenForDevice(), isServerProcess(), QMultiScreenCursor::move(), QWSServerPrivate::newMouseHandler(), parentScreen(), qt_defaultDpiX(), qt_defaultDpiY(), QWSDirectPainterSurface::QWSDirectPainterSurface(), screenForDevice(), setMaxWindowRect(), QWSServer::setMaxWindowRect(), QWSOnScreenSurface::setPermanentState(), setScreenTransformation(), subScreenIndexAt(), and QProxyScreen::subScreens().
|
virtual |
Returns true if the screen supports the specified color depth; otherwise returns false.
Reimplemented in QProxyScreen, QMultiScreen, and QQnxScreen.
Definition at line 2353 of file qscreen_qws.cpp.
Referenced by QWSDisplay::supportsDepth(), and QProxyScreen::supportsDepth().
|
inline |
Returns the size of the available graphics card memory (including the screen) in bytes.
Definition at line 243 of file qscreen_qws.h.
|
virtual |
Returns the current rotation as an integer value.
Note that the default implementation returns 0; reimplement this function to override this value.
Reimplemented in QProxyScreen, and QTransformedScreen.
Definition at line 3250 of file qscreen_qws.cpp.
Referenced by QWSServerPrivate::_q_newConnection(), PvrEglScreen::transformation(), QWSKeyboardHandler::transformDirKey(), and QProxyScreen::transformOrientation().
|
inlinevirtual |
This function is called on pixmap destruction to remove them from graphics card memory.
Reimplemented in QLinuxFbScreen.
Definition at line 238 of file qscreen_qws.h.
|
inline |
Returns the logical width of the framebuffer in pixels.
Definition at line 227 of file qscreen_qws.h.
Referenced by QDirectPainter::allocatedRegion(), QWSOnScreenSurface::attachToScreen(), QProxyScreen::configure(), QMultiScreen::connect(), effectiveState(), QWSServer::endDisplayReconfigure(), qt_defaultDpiX(), qt_directpainter_embedevent(), qt_directpainter_region(), screenS(), QWSPcMouseHandlerPrivate::sendEvent(), QWSServer::setBackground(), QTransformedScreen::setDirty(), setImageMetrics(), PvrEglWindowSurface::transformRects(), QETWidget::translateMouseEvent(), QWSServerPrivate::update_regions(), and QWSDisplay::width().
|
friend |
Definition at line 362 of file qscreen_qws.h.
|
friend |
Definition at line 358 of file qscreen_qws.h.
|
friend |
Definition at line 361 of file qscreen_qws.h.
|
friend |
Definition at line 360 of file qscreen_qws.h.
|
friend |
Definition at line 1217 of file qscreen_qws.cpp.
Definition at line 544 of file qscreen_qws.cpp.
|
friend |
Definition at line 359 of file qscreen_qws.h.
|
friend |
Definition at line 357 of file qscreen_qws.h.
|
friend |
Definition at line 351 of file qscreen_qws.h.
Referenced by createSurface().
Definition at line 342 of file qscreen_qws.h.
|
friend |
Definition at line 343 of file qscreen_qws.h.
|
related |
Here it is.
transformation and screenNo
Definition at line 1889 of file qapplication_qws.cpp.
|
staticprotected |
Definition at line 344 of file qscreen_qws.h.
Referenced by QWSServerPrivate::_q_clientClosed(), QLinuxFbScreen::QLinuxFbScreen(), and QScreen().
|
protected |
the pixel depth
This is the number of significant bits used to set a pixel color. This variable must be initialized by a subclass.
Definition at line 327 of file qscreen_qws.h.
Referenced by alloc(), QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), EGLNullWSScreen::connect(), QIntfbScreen::connect(), QVNCScreen::connect(), QQnxScreen::connect(), QVFbScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), QVNCScreen::initDevice(), QVFbScreen::initDevice(), QLinuxFbScreen::QLinuxFbScreen(), QLinuxFbScreen::restore(), QProxyScreen::setMode(), and QLinuxFbScreen::setPixelFormat().
|
private |
Definition at line 374 of file qscreen_qws.h.
Referenced by blit(), blit_template(), classId(), compose(), frameBufferLittleEndian(), graphicsSystem(), offset(), paintBackground(), pixelFormat(), pixmapDataFactory(), qt_blit_setup(), qt_solidFill_setup(), setFrameBufferLittleEndian(), setGraphicsSystem(), setOffset(), setPixelFormat(), setPixmapDataFactory(), solidFill(), and ~QScreen().
|
protected |
points to the first visible pixel in the frame buffer.
You must initialize this variable if you are using the default implementation of non-buffered painting Qt::WA_PaintOnScreen, QPixmap::grabWindow() or QDirectPainter::frameBuffer(). If you initialize this variable, you must also initialize QScreen::size and QScreen::mapsize.
Definition at line 311 of file qscreen_qws.h.
Referenced by QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), QIntfbScreen::connect(), QVFbScreen::connect(), QQnxScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QDirectFBScreen::connect(), QTransformedScreen::exposeRegion(), onCard(), QIntfbScreen::QIntfbScreen(), QVFbScreen::QVFbScreen(), and QVNCScreenPrivate::~QVNCScreenPrivate().
|
protected |
the device height
This is the number of pixels in a column of the physical screen. It must be initialized by a subclass. Normally, it should be set to the logical height QScreen::h, but it might be different, e.g., if you are doing rotations in software.
Definition at line 332 of file qscreen_qws.h.
Referenced by QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), EGLNullWSScreen::connect(), QIntfbScreen::connect(), QVNCScreen::connect(), QQnxScreen::connect(), QVFbScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), QLinuxFbScreen::setDirty(), QProxyScreen::setMode(), QTransformedScreen::setTransformation(), and solidFill().
|
protected |
Definition at line 337 of file qscreen_qws.h.
Referenced by QVNCScreenPrivate::configure(), QQnxScreen::connect(), QVFbScreen::connect(), QVNCScreen::connect(), QMultiScreen::connect(), QTransformedScreen::connect(), PvrEglScreenSurfaceFunctions::createNativeWindow(), PvrEglScreen::createSurface(), QVNCScreen::initDevice(), and QVFbScreen::initDevice().
|
protected |
the device width
This is the number of pixels in a row of the physical screen. It must be initialized by a subclass. Normally, it should be set to the logical width QScreen::w, but it might be different, e.g., if you are doing rotations in software.
Definition at line 331 of file qscreen_qws.h.
Referenced by QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), EGLNullWSScreen::connect(), QIntfbScreen::connect(), QVNCScreen::connect(), QQnxScreen::connect(), QVFbScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), QLinuxFbScreen::setDirty(), QProxyScreen::setMode(), QTransformedScreen::setTransformation(), and solidFill().
|
protected |
Definition at line 320 of file qscreen_qws.h.
Referenced by QLinuxFbScreen::cache(), QLinuxFbScreen::clearCache(), QLinuxFbScreen::delete_entry(), QLinuxFbScreen::deleteEntry(), QLinuxFbScreen::insert_entry(), and QLinuxFbScreen::setupOffScreen().
|
protected |
Definition at line 321 of file qscreen_qws.h.
Referenced by QLinuxFbScreen::cache(), QLinuxFbScreen::clearCache(), QLinuxFbScreen::delete_entry(), QLinuxFbScreen::initDevice(), QLinuxFbScreen::insert_entry(), and QLinuxFbScreen::setupOffScreen().
|
protected |
the gray scale screen mode flag
Set this variable to true in a subclass, if you are using a grayscale screen mode. e.g., in an 8-bit mode where you don't want to use the palette, but you want to use the grayscales.
Definition at line 329 of file qscreen_qws.h.
Referenced by alloc(), QVFbScreen::connect(), QLinuxFbScreen::connect(), QLinuxFbScreen::createPalette(), QVFbScreen::initDevice(), and QLinuxFbScreen::initDevice().
|
protected |
the logical height of the screen.
This variable must be initialized by a subclass.
Definition at line 326 of file qscreen_qws.h.
Referenced by blendCursor(), QTransformedScreen::blit(), QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), EGLNullWSScreen::connect(), QIntfbScreen::connect(), QVNCScreen::connect(), QVFbScreen::connect(), QQnxScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), QTransformedScreen::mapFromDevice(), QTransformedScreen::mapToDevice(), QProxyScreen::setMode(), QTransformedScreen::setTransformation(), and QTransformedScreen::solidFill().
|
protected |
Definition at line 322 of file qscreen_qws.h.
Referenced by QLinuxFbScreen::cache(), QLinuxFbScreen::delete_entry(), QLinuxFbScreen::initDevice(), QLinuxFbScreen::insert_entry(), and QLinuxFbScreen::setupOffScreen().
|
protected |
the number of bytes representing a line in the frame buffer.
i.e., line step. {data
[lstep * 2]} is the address of the first visible pixel in the third line of the frame buffer.
Definition at line 325 of file qscreen_qws.h.
Referenced by QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), QIntfbScreen::connect(), QQnxScreen::connect(), QVFbScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), and QLinuxFbScreen::QLinuxFbScreen().
|
protected |
the total number of bytes in the frame buffer
This is the total number of bytes in the block pointed to by the QScreen::data pointer. You must initialize this variable if you initialize the QScreen::data pointer.
Definition at line 335 of file qscreen_qws.h.
Referenced by QVNCScreenPrivate::configure(), QIntfbScreen::connect(), QVFbScreen::connect(), QQnxScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QLinuxFbScreen::disconnect(), QLinuxFbScreen::initDevice(), onCard(), and QLinuxFbScreen::useOffscreen().
|
protected |
the physical height of the screen in millimeters.
Currently, this variable is used when calculating the screen DPI, which in turn is used when deciding the actual font size Qt is using.
Definition at line 340 of file qscreen_qws.h.
Referenced by QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), EGLNullWSScreen::connect(), QIntfbScreen::connect(), QQnxScreen::connect(), QVFbScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), and QTransformedScreen::setTransformation().
|
protected |
the physical width of the screen in millimeters.
Currently, this variable is used when calculating the screen DPI, which in turn is used when deciding the actual font size Qt is using.
Definition at line 339 of file qscreen_qws.h.
Referenced by QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), EGLNullWSScreen::connect(), QIntfbScreen::connect(), QQnxScreen::connect(), QVFbScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), and QTransformedScreen::setTransformation().
|
protected |
set to BGRPixel
Set this variable to BGRPixel in a subclass, if the screen pixel format is a BGR type and you have used setPixelFormat() to set the pixel format to the corresponding RGB format. e.g., you have set the pixel format to QImage::Format_RGB555, but your screen really uses BGR, not RGB.
Definition at line 328 of file qscreen_qws.h.
Referenced by QProxyScreen::configure(), QVFbScreen::connect(), QQnxScreen::connect(), and QLinuxFbScreen::setPixelFormat().
|
protected |
the color table
Initialize this variable in a subclass using a paletted screen mode, and initialize its partner, QScreen::screencols.
Definition at line 308 of file qscreen_qws.h.
Referenced by alloc(), QVFbScreen::connect(), QLinuxFbScreen::connect(), QLinuxFbScreen::createPalette(), QVFbScreen::initDevice(), QVNCScreen::initDevice(), QLinuxFbScreen::restore(), and QLinuxFbScreen::set().
|
protected |
the number of entries in the color table
Initialize this variable in a subclass using a paletted screen mode, and initialize its partner, QScreen::screenclut.
Definition at line 309 of file qscreen_qws.h.
Referenced by alloc(), QVFbScreen::connect(), QLinuxFbScreen::connect(), QLinuxFbScreen::createPalette(), QVFbScreen::initDevice(), QVNCScreen::initDevice(), QLinuxFbScreen::initDevice(), and QLinuxFbScreen::restore().
|
protected |
the number of bytes in the visible region of the frame buffer
This is the number of bytes in the visible part of the block pointed to by the QScreen::data pointer. You must initialize this variable if you initialize the QScreen::data pointer.
Definition at line 334 of file qscreen_qws.h.
Referenced by QAhiScreen::configure(), QProxyScreen::configure(), QVNCScreenPrivate::configure(), QIntfbScreen::connect(), QQnxScreen::connect(), QVFbScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), QLinuxFbScreen::delete_entry(), QLinuxFbScreen::initDevice(), QLinuxFbScreen::insert_entry(), isFullUpdate(), QTransformedScreen::mapFromDevice(), QTransformedScreen::mapToDevice(), QVNCScreen::QVNCScreen(), QTransformedScreen::setTransformation(), QLinuxFbScreen::setupOffScreen(), and QLinuxFbScreen::useOffscreen().
|
protected |
the logical width of the screen.
This variable must be initialized by a subclass.
Definition at line 324 of file qscreen_qws.h.
Referenced by blendCursor(), QTransformedScreen::blit(), QAhiScreen::configure(), QProxyScreen::configure(), EGLNullWSScreen::connect(), QIntfbScreen::connect(), QVNCScreen::connect(), QVFbScreen::connect(), QQnxScreen::connect(), QMultiScreen::connect(), PvrEglScreen::connect(), QLinuxFbScreen::connect(), QDirectFBScreen::connect(), QTransformedScreen::mapFromDevice(), QTransformedScreen::mapToDevice(), QProxyScreen::setMode(), QTransformedScreen::setTransformation(), and QTransformedScreen::solidFill().