Qt 4.8
qvfbwindowsurface.cpp
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the plugins of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41 
42 
43 #include "qvfbwindowsurface.h"
44 #include "qvfbintegration.h"
45 #include <QtCore/qdebug.h>
46 #include <QtGui/qpainter.h>
47 #include <private/qapplication_p.h>
48 
50 
51 QVFbWindowSurface::QVFbWindowSurface(//QVFbIntegration *graphicsSystem,
52  QVFbScreen *screen, QWidget *window)
53  : QWindowSurface(window),
54  mScreen(screen)
55 {
56 }
57 
59 {
60 }
61 
63 {
64  return mScreen->screenImage();
65 }
66 
68 {
69  Q_UNUSED(widget);
70  Q_UNUSED(offset);
71 
72 // QRect rect = geometry();
73 // QPoint topLeft = rect.topLeft();
74 
75  mScreen->setDirty(region.boundingRect());
76 }
77 
79 {
80 
81 // any size you like as long as it's full-screen...
82 
84  QWindowSurface::resize(rect.size());
85 }
86 
87 
89  : QPlatformWindow(window),
90  mScreen(screen)
91 {
92 }
93 
94 
96 {
97 
98 // any size you like as long as it's full-screen...
99 
102 
104 }
105 
106 
107 
QImage * screenImage()
#define QT_END_NAMESPACE
This macro expands to.
Definition: qglobal.h:90
QPointer< QWidget > widget
QRect rect(const QWidget *widget) const
Returns the rectangle for widget in the coordinates of this window surface.
virtual void setGeometry(const QRect &rect)
This function is called by Qt whenever a window is moved or the window is resized.
void resize(const QSize &size)
The QWidget class is the base class of all user interface objects.
Definition: qwidget.h:150
The QVFbScreen class implements a screen driver for the virtual framebuffer.
virtual QPoint offset(const QWidget *widget) const
Returns the offset of widget in the coordinates of this window surface.
QRect boundingRect() const
Returns the bounding rectangle of this region.
Definition: qregion.cpp:4363
The QPlatformWindow class provides an abstraction for top-level windows.
NSWindow * window
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition: qglobal.h:89
QVFbScreen * mScreen
QVFbWindow(QVFbScreen *screen, QWidget *window)
virtual QRect availableGeometry() const
Reimplement in subclass to return the pixel geometry of the available space This normally is the desk...
QSize size() const
Returns the size of the rectangle.
Definition: qrect.h:309
QPaintDevice * paintDevice()
Implement this function to return the appropriate paint device.
The QRegion class specifies a clip region for a painter.
Definition: qregion.h:68
QVFbScreen * mScreen
The QWindowSurface class provides the drawing area for top-level windows.
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
static void handleGeometryChange(QWidget *w, const QRect &newRect)
The QRect class defines a rectangle in the plane using integer precision.
Definition: qrect.h:58
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
void flush(QWidget *widget, const QRegion &region, const QPoint &offset)
Flushes the given region from the specified widget onto the screen.
virtual void setDirty(const QRect &r)
Reimplemented Function
QVFbWindowSurface(QVFbScreen *screen, QWidget *window)
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
Definition: qglobal.h:1729
QWidget * window() const
Returns a pointer to the top-level window associated with this surface.
void setGeometry(const QRect &rect)
This function is called by Qt whenever a window is moved or the window is resized.
QWidget * widget() const
Returnes the widget which belongs to the QPlatformWindow.