summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidgetbackingstore_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel/qwidgetbackingstore_p.h')
-rw-r--r--src/widgets/kernel/qwidgetbackingstore_p.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidgetbackingstore_p.h b/src/widgets/kernel/qwidgetbackingstore_p.h
index c6f6541e1f..2fe58fa4a7 100644
--- a/src/widgets/kernel/qwidgetbackingstore_p.h
+++ b/src/widgets/kernel/qwidgetbackingstore_p.h
@@ -61,6 +61,7 @@
QT_BEGIN_NAMESPACE
class QPlatformTextureList;
+class QWidgetBackingStore;
struct BeginPaintInfo {
inline BeginPaintInfo() : wasFlushed(0), nothingToPaint(0), backingStoreRecreated(0) {}
@@ -69,6 +70,23 @@ struct BeginPaintInfo {
uint backingStoreRecreated : 1;
};
+class QPlatformTextureListWatcher : public QObject
+{
+ Q_OBJECT
+
+public:
+ QPlatformTextureListWatcher(QWidgetBackingStore *backingStore);
+ void watch(QPlatformTextureList *textureList);
+ bool isLocked() const { return m_locked; }
+
+private slots:
+ void onLockStatusChanged(bool locked);
+
+private:
+ bool m_locked;
+ QWidgetBackingStore *m_backingStore;
+};
+
class Q_AUTOTEST_EXPORT QWidgetBackingStore
{
public:
@@ -111,6 +129,8 @@ private:
QPoint tlwOffset;
+ QPlatformTextureListWatcher *textureListWatcher;
+
void sendUpdateRequest(QWidget *widget, bool updateImmediately);
static bool flushPaint(QWidget *widget, const QRegion &rgn);