Store buffer geometry during geometry updates

Summary:
The stored buffer geometry can be useful for detecting whether the
buffer geometry has been changed.

Test Plan: Compiles.

Reviewers: #kwin, romangg

Reviewed By: #kwin, romangg

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24659
This commit is contained in:
Vlad Zahorodnii 2019-10-10 14:52:26 +03:00
parent e2f82d793b
commit 4fbb777a30
2 changed files with 8 additions and 0 deletions

View file

@ -1306,6 +1306,11 @@ void AbstractClient::addRepaintDuringGeometryUpdates()
m_visibleRectBeforeGeometryUpdate = deco_rect;
}
QRect AbstractClient::bufferGeometryBeforeUpdateBlocking() const
{
return m_bufferGeometryBeforeUpdateBlocking;
}
QRect AbstractClient::frameGeometryBeforeUpdateBlocking() const
{
return m_frameGeometryBeforeUpdateBlocking;
@ -1313,6 +1318,7 @@ QRect AbstractClient::frameGeometryBeforeUpdateBlocking() const
void AbstractClient::updateGeometryBeforeUpdateBlocking()
{
m_bufferGeometryBeforeUpdateBlocking = bufferGeometry();
m_frameGeometryBeforeUpdateBlocking = frameGeometry();
}

View file

@ -1000,6 +1000,7 @@ protected:
};
PendingGeometry_t pendingGeometryUpdate() const;
void setPendingGeometryUpdate(PendingGeometry_t update);
QRect bufferGeometryBeforeUpdateBlocking() const;
QRect frameGeometryBeforeUpdateBlocking() const;
void updateGeometryBeforeUpdateBlocking();
/**
@ -1218,6 +1219,7 @@ private:
PendingGeometry_t m_pendingGeometryUpdate = PendingGeometryNone;
friend class GeometryUpdatesBlocker;
QRect m_visibleRectBeforeGeometryUpdate;
QRect m_bufferGeometryBeforeUpdateBlocking;
QRect m_frameGeometryBeforeUpdateBlocking;
QRect m_virtualKeyboardGeometry;
QRect m_keyboardGeometryRestore;