summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/linuxfb/qlinuxfbscreen.h
diff options
context:
space:
mode:
authorGirish Ramakrishnan <girish.1.ramakrishnan@nokia.com>2012-07-06 05:40:57 +0530
committerQt by Nokia <qt-info@nokia.com>2012-07-11 12:44:05 +0200
commitf0922c9bafce6a565af020851012dd3cbb609888 (patch)
tree73db8e1a9632118dbd8140998550a9b7655b6f6b /src/plugins/platforms/linuxfb/qlinuxfbscreen.h
parent0be40737081110238f326e3644287b3dca18a824 (diff)
linuxfb: Rework screen code
Move the screen code from integration. The design philosophy is that QFbScreen takes care of generic framebuffer composition. QLinuxFbScreen is just an linux framebuffer adaptation layer. Change-Id: I8456c13826f06621037dd77fe0d0bd8873806c96 Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Diffstat (limited to 'src/plugins/platforms/linuxfb/qlinuxfbscreen.h')
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbscreen.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/plugins/platforms/linuxfb/qlinuxfbscreen.h b/src/plugins/platforms/linuxfb/qlinuxfbscreen.h
index 6181ee964b..69b8d5c79a 100644
--- a/src/plugins/platforms/linuxfb/qlinuxfbscreen.h
+++ b/src/plugins/platforms/linuxfb/qlinuxfbscreen.h
@@ -47,24 +47,34 @@
QT_BEGIN_NAMESPACE
class QPainter;
+class QFbCursor;
class QLinuxFbScreen : public QFbScreen
{
Q_OBJECT
public:
- QLinuxFbScreen(uchar * d, int w, int h, int lstep, QImage::Format screenFormat);
- void setGeometry(QRect rect);
- void setFormat(QImage::Format format);
+ QLinuxFbScreen();
+ ~QLinuxFbScreen();
+
+ bool initialize(const QStringList &args);
public slots:
QRegion doRedraw();
private:
- QImage *mFbScreenImage;
- uchar *data;
- int bytesPerLine;
+ int mFbFd;
+ int mTtyFd;
+
+ QImage mFbScreenImage;
+ int mBytesPerLine;
+ int mOldTtyMode;
+
+ struct {
+ uchar *data;
+ int offset, size;
+ } mMmap;
- QPainter *compositePainter;
+ QPainter *mBlitter;
};
QT_END_NAMESPACE