diff options
author | Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> | 2012-07-07 08:49:12 +0530 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-11 12:44:56 +0200 |
commit | e32ee62c7a1938c7ba331a8838120b0ea9c9ce3c (patch) | |
tree | 2a46319c4aba685a4949ecb7a7f5e8a9cf2f95b6 /src | |
parent | c2b9c0ec89b3b4cfe1ace96bd8a54bdf765c85ad (diff) |
linuxfb: raise and lower should take QFbWindow as args
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Change-Id: I856ea141a39f23968169ba29be1445fa089f7f02
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/platformsupport/fbconvenience/qfbscreen.cpp | 42 | ||||
-rw-r--r-- | src/platformsupport/fbconvenience/qfbscreen_p.h | 4 | ||||
-rw-r--r-- | src/platformsupport/fbconvenience/qfbwindow.cpp | 2 |
3 files changed, 23 insertions, 25 deletions
diff --git a/src/platformsupport/fbconvenience/qfbscreen.cpp b/src/platformsupport/fbconvenience/qfbscreen.cpp index 5d2208a3a1..537a49819b 100644 --- a/src/platformsupport/fbconvenience/qfbscreen.cpp +++ b/src/platformsupport/fbconvenience/qfbscreen.cpp @@ -67,26 +67,38 @@ void QFbScreen::initializeCompositor() connect(&redrawTimer, SIGNAL(timeout()), this, SLOT(doRedraw())); } -void QFbScreen::raise(QPlatformWindow * surface) +void QFbScreen::addWindow(QFbWindow *window) { - QFbWindow *s = static_cast<QFbWindow *>(surface); - int index = windowStack.indexOf(s); + windowStack.prepend(window); + invalidateRectCache(); + setDirty(window->geometry()); +} + +void QFbScreen::removeWindow(QFbWindow *window) +{ + windowStack.removeOne(window); + invalidateRectCache(); + setDirty(window->geometry()); +} + +void QFbScreen::raise(QFbWindow *window) +{ + int index = windowStack.indexOf(window); if (index <= 0) return; windowStack.move(index, 0); invalidateRectCache(); - setDirty(s->geometry()); + setDirty(window->geometry()); } -void QFbScreen::lower(QPlatformWindow * surface) +void QFbScreen::lower(QFbWindow *window) { - QFbWindow *s = static_cast<QFbWindow *>(surface); - int index = windowStack.indexOf(s); + int index = windowStack.indexOf(window); if (index == -1 || index == (windowStack.size() - 1)) return; windowStack.move(index, windowStack.size() - 1); invalidateRectCache(); - setDirty(s->geometry()); + setDirty(window->geometry()); } QWindow *QFbScreen::topLevelAt(const QPoint & p) const @@ -222,19 +234,5 @@ QRegion QFbScreen::doRedraw() return touchedRegion; } -void QFbScreen::addWindow(QFbWindow *surface) -{ - windowStack.prepend(surface); - invalidateRectCache(); - setDirty(surface->geometry()); -} - -void QFbScreen::removeWindow(QFbWindow * surface) -{ - windowStack.removeOne(surface); - invalidateRectCache(); - setDirty(surface->geometry()); -} - QT_END_NAMESPACE diff --git a/src/platformsupport/fbconvenience/qfbscreen_p.h b/src/platformsupport/fbconvenience/qfbscreen_p.h index b37d3ad907..ffbb6721dc 100644 --- a/src/platformsupport/fbconvenience/qfbscreen_p.h +++ b/src/platformsupport/fbconvenience/qfbscreen_p.h @@ -69,8 +69,8 @@ public: // compositor api virtual void addWindow(QFbWindow *window); virtual void removeWindow(QFbWindow *window); - virtual void raise(QPlatformWindow *window); - virtual void lower(QPlatformWindow *window); + virtual void raise(QFbWindow *window); + virtual void lower(QFbWindow *window); virtual void setDirty(const QRect &rect); protected slots: diff --git a/src/platformsupport/fbconvenience/qfbwindow.cpp b/src/platformsupport/fbconvenience/qfbwindow.cpp index d4a5a968ef..eea4877203 100644 --- a/src/platformsupport/fbconvenience/qfbwindow.cpp +++ b/src/platformsupport/fbconvenience/qfbwindow.cpp @@ -52,7 +52,7 @@ QFbWindow::QFbWindow(QWindow *window) static QAtomicInt winIdGenerator(1); windowId = winIdGenerator.fetchAndAddRelaxed(1); - platformScreen()->addWindow(window); + platformScreen()->addWindow(this); } QFbWindow::~QFbWindow() |