46 QWidgetRepaintManager(QWidget *t);
47 ~QWidgetRepaintManager();
49 QBackingStore *backingStore()
const {
return store; }
50 void setBackingStore(QBackingStore *backingStore) { store = backingStore; }
53 void markDirty(
const T &r, QWidget *widget, UpdateTime updateTime = UpdateLater,
54 BufferState bufferState = BufferValid);
56 void removeDirtyWidget(QWidget *w);
58 void sync(QWidget *exposedWidget,
const QRegion &exposedRegion);
61 void markNeedsFlush(QWidget *widget,
const QRegion ®ion,
const QPoint &topLevelOffset);
63 void addStaticWidget(QWidget *widget);
64 void moveStaticWidgets(QWidget *reparented);
65 void removeStaticWidget(QWidget *widget);
66 QRegion staticContents(QWidget *widget =
nullptr,
const QRect &withinClipRect = QRect())
const;
67 QRegion dirtyRegion()
const {
return dirty; }
68 QList<QWidget *> dirtyWidgetList()
const {
return dirtyWidgets; }
71 bool bltRect(
const QRect &rect,
int dx,
int dy, QWidget *widget);
74 void updateLists(QWidget *widget);
76 void addDirtyWidget(QWidget *widget,
const QRegion &rgn);
77 void resetWidget(QWidget *widget);
79 void addDirtyRenderToTextureWidget(QWidget *widget);
81 void sendUpdateRequest(QWidget *widget, UpdateTime updateTime);
86 void markNeedsFlush(QWidget *widget,
const QRegion ®ion = QRegion());
89 void flush(QWidget *widget,
const QRegion ®ion, QPlatformTextureList *widgetTextures);
91 bool hasStaticContents()
const;
92 void updateStaticContentsSize();
94 QWidget *tlw =
nullptr;
95 QBackingStore *store =
nullptr;
98 QList<QWidget *> dirtyWidgets;
99 QList<QWidget *> dirtyRenderToTextureWidgets;
101 QRegion topLevelNeedsFlush;
102 QList<QWidget *> needsFlushWidgets;
104 QList<QWidget *> staticWidgets;
106 QPlatformTextureListWatcher *textureListWatcher =
nullptr;
108 bool updateRequestSent =
false;
110 QElapsedTimer perfTime;
113 Q_DISABLE_COPY_MOVE(QWidgetRepaintManager)