QNX: Prevent rendering when app is minimized
Windows will only be exposed and hence rendered when they are not minimized. This will save useless computations and hence battery. Change-Id: I83166cc6c3d89e878106c998a35890dd7788ed8a Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>bb10
parent
23964bc338
commit
d8ba940b94
|
|
@ -646,6 +646,9 @@ void QQnxScreen::activateWindowGroup(const QByteArray &id)
|
|||
if (!window)
|
||||
return;
|
||||
|
||||
Q_FOREACH (QQnxWindow *childWindow, m_childWindows)
|
||||
childWindow->setExposed(true);
|
||||
|
||||
QWindowSystemInterface::handleWindowActivated(window);
|
||||
}
|
||||
|
||||
|
|
@ -656,6 +659,9 @@ void QQnxScreen::deactivateWindowGroup(const QByteArray &id)
|
|||
if (!rootWindow() || id != rootWindow()->groupName())
|
||||
return;
|
||||
|
||||
Q_FOREACH (QQnxWindow *childWindow, m_childWindows)
|
||||
childWindow->setExposed(false);
|
||||
|
||||
QWindowSystemInterface::handleWindowActivated(0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ QQnxWindow::QQnxWindow(QWindow *window, screen_context_t context)
|
|||
m_screen(0),
|
||||
m_parentWindow(0),
|
||||
m_visible(false),
|
||||
m_exposed(true),
|
||||
m_windowState(Qt::WindowNoState),
|
||||
#if !defined(QT_NO_OPENGL)
|
||||
m_platformOpenGLContext(0),
|
||||
|
|
@ -334,9 +335,19 @@ void QQnxWindow::setOpacity(qreal level)
|
|||
// the transparency will look wrong...
|
||||
}
|
||||
|
||||
void QQnxWindow::setExposed(bool exposed)
|
||||
{
|
||||
qWindowDebug() << Q_FUNC_INFO << "window =" << window() << "expose =" << exposed;
|
||||
|
||||
if (m_exposed != exposed) {
|
||||
m_exposed = exposed;
|
||||
QWindowSystemInterface::handleExposeEvent(window(), window()->geometry());
|
||||
}
|
||||
}
|
||||
|
||||
bool QQnxWindow::isExposed() const
|
||||
{
|
||||
return m_visible;
|
||||
return m_visible && m_exposed;
|
||||
}
|
||||
|
||||
QSize QQnxWindow::requestedBufferSize() const
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ public:
|
|||
void lower();
|
||||
void requestActivateWindow();
|
||||
void setWindowState(Qt::WindowState state);
|
||||
void setExposed(bool exposed);
|
||||
|
||||
void propagateSizeHints();
|
||||
|
||||
|
|
@ -158,6 +159,7 @@ private:
|
|||
QList<QQnxWindow*> m_childWindows;
|
||||
QQnxWindow *m_parentWindow;
|
||||
bool m_visible;
|
||||
bool m_exposed;
|
||||
QRect m_unmaximizedGeometry;
|
||||
Qt::WindowState m_windowState;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue