diff options
author | Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> | 2012-07-06 05:40:57 +0530 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-11 12:44:05 +0200 |
commit | f0922c9bafce6a565af020851012dd3cbb609888 (patch) | |
tree | 73db8e1a9632118dbd8140998550a9b7655b6f6b /src/platformsupport/fbconvenience/qfbscreen_p.h | |
parent | 0be40737081110238f326e3644287b3dca18a824 (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/platformsupport/fbconvenience/qfbscreen_p.h')
-rw-r--r-- | src/platformsupport/fbconvenience/qfbscreen_p.h | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/src/platformsupport/fbconvenience/qfbscreen_p.h b/src/platformsupport/fbconvenience/qfbscreen_p.h index 71d8d455f6..b37d3ad907 100644 --- a/src/platformsupport/fbconvenience/qfbscreen_p.h +++ b/src/platformsupport/fbconvenience/qfbscreen_p.h @@ -64,32 +64,26 @@ public: virtual QImage::Format format() const { return mFormat; } virtual QSizeF physicalSize() const { return mPhysicalSize; } - virtual void setGeometry(QRect rect); - virtual void setDepth(int depth); - virtual void setFormat(QImage::Format format); - virtual void setPhysicalSize(QSize size); + virtual QWindow *topLevelAt(const QPoint & p) const; + // compositor api + virtual void addWindow(QFbWindow *window); + virtual void removeWindow(QFbWindow *window); + virtual void raise(QPlatformWindow *window); + virtual void lower(QPlatformWindow *window); virtual void setDirty(const QRect &rect); - virtual void removeWindow(QFbWindow * surface); - virtual void addWindow(QFbWindow * surface); - virtual void raise(QPlatformWindow * surface); - virtual void lower(QPlatformWindow * surface); - virtual QWindow *topLevelAt(const QPoint & p) const; - - QImage * image() const { return mScreenImage; } - QPaintDevice * paintDevice() const { return mScreenImage; } +protected slots: + virtual QRegion doRedraw(); protected: + void initializeCompositor(); + QList<QFbWindow *> windowStack; QRegion repaintRegion; - QFbCursor * cursor; QTimer redrawTimer; -protected slots: - virtual QRegion doRedraw(); - -protected: + QFbCursor *mCursor; QRect mGeometry; int mDepth; QImage::Format mFormat; @@ -97,11 +91,12 @@ protected: QImage *mScreenImage; private: - QPainter *compositePainter; + void invalidateRectCache() { isUpToDate = false; } void generateRects(); + + QPainter *mCompositePainter; QList<QPair<QRect, int> > cachedRects; - void invalidateRectCache() { isUpToDate = false; } friend class QFbWindow; bool isUpToDate; }; |