129 virtual QImage* buffer(const QWidget *widget); |
127 virtual QImage* buffer(const QWidget *widget); |
130 virtual QPixmap grabWidget(const QWidget *widget, const QRect& rectangle = QRect()) const; |
128 virtual QPixmap grabWidget(const QWidget *widget, const QRect& rectangle = QRect()) const; |
131 |
129 |
132 virtual QPoint offset(const QWidget *widget) const; |
130 virtual QPoint offset(const QWidget *widget) const; |
133 |
131 |
134 virtual uint memoryUsage() const; |
132 QScopedPointer<QWindowSurface> m_windowSurface; |
135 |
133 QScopedPointer<QWindowSurface> m_pendingWindowSurface; |
136 QWindowSurface *m_windowSurface; |
|
137 QWindowSurface *m_pendingWindowSurface; |
|
138 |
134 |
139 private: |
135 private: |
140 const QRuntimeGraphicsSystem *m_graphicsSystem; |
136 const QRuntimeGraphicsSystem *m_graphicsSystem; |
141 }; |
137 }; |
142 |
138 |
157 QWindowSurface *createWindowSurface(QWidget *widget) const; |
153 QWindowSurface *createWindowSurface(QWidget *widget) const; |
158 |
154 |
159 void removePixmapData(QRuntimePixmapData *pixmapData) const; |
155 void removePixmapData(QRuntimePixmapData *pixmapData) const; |
160 void removeWindowSurface(QRuntimeWindowSurface *windowSurface) const; |
156 void removeWindowSurface(QRuntimeWindowSurface *windowSurface) const; |
161 |
157 |
162 void setGraphicsSystem(const QString &name, uint memoryUsageLimit); |
|
163 void setGraphicsSystem(const QString &name); |
158 void setGraphicsSystem(const QString &name); |
164 QString graphicsSystemName() const { return m_graphicsSystemName; } |
159 QString graphicsSystemName() const { return m_graphicsSystemName; } |
165 |
160 |
166 void setWindowSurfaceDestroyPolicy(WindowSurfaceDestroyPolicy policy) |
161 void setWindowSurfaceDestroyPolicy(WindowSurfaceDestroyPolicy policy) |
167 { |
162 { |
168 m_windowSurfaceDestroyPolicy = policy; |
163 m_windowSurfaceDestroyPolicy = policy; |
169 } |
164 } |
170 |
165 |
171 int windowSurfaceDestroyPolicy() const { return m_windowSurfaceDestroyPolicy; } |
166 int windowSurfaceDestroyPolicy() const { return m_windowSurfaceDestroyPolicy; } |
172 |
167 |
173 uint memoryUsage() const { return m_memoryUsage; } |
|
174 |
168 |
175 private: |
169 private: |
176 |
|
177 void increaseMemoryUsage(uint amount) const; |
|
178 void decreaseMemoryUsage(uint amount, bool persistent = false) const; |
|
179 |
|
180 private: |
|
181 mutable uint m_memoryUsage; |
|
182 int m_windowSurfaceDestroyPolicy; |
170 int m_windowSurfaceDestroyPolicy; |
183 QGraphicsSystem *m_graphicsSystem; |
171 QGraphicsSystem *m_graphicsSystem; |
184 mutable QList<QRuntimePixmapData *> m_pixmapDatas; |
172 mutable QList<QRuntimePixmapData *> m_pixmapDatas; |
185 mutable QList<QRuntimeWindowSurface *> m_windowSurfaces; |
173 mutable QList<QRuntimeWindowSurface *> m_windowSurfaces; |
186 QString m_graphicsSystemName; |
174 QString m_graphicsSystemName; |
187 |
175 |
188 uint m_graphicsSystemChangeMemoryLimit; |
|
189 QString m_pendingGraphicsSystemName; |
176 QString m_pendingGraphicsSystemName; |
190 |
177 |
191 friend class QRuntimePixmapData; |
178 friend class QRuntimePixmapData; |
192 friend class QRuntimeWindowSurface; |
179 friend class QRuntimeWindowSurface; |
193 }; |
180 }; |