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>
This commit is contained in:
Girish Ramakrishnan 2012-07-07 08:49:12 +05:30 committed by Qt by Nokia
parent c2b9c0ec89
commit e32ee62c7a
3 changed files with 23 additions and 25 deletions

View File

@ -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

View File

@ -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:

View File

@ -52,7 +52,7 @@ QFbWindow::QFbWindow(QWindow *window)
static QAtomicInt winIdGenerator(1);
windowId = winIdGenerator.fetchAndAddRelaxed(1);
platformScreen()->addWindow(window);
platformScreen()->addWindow(this);
}
QFbWindow::~QFbWindow()