src/gui/painting/qgraphicssystem_runtime_p.h
changeset 37 758a864f9613
parent 33 3e2da88830cd
equal deleted inserted replaced
36:ef0373b55136 37:758a864f9613
   102     void fromNativeType(void* pixmap, NativeType type);
   102     void fromNativeType(void* pixmap, NativeType type);
   103 #endif
   103 #endif
   104 
   104 
   105     virtual QPixmapData *runtimeData() const;
   105     virtual QPixmapData *runtimeData() const;
   106 
   106 
   107     virtual uint memoryUsage() const;
       
   108 
       
   109 private:
   107 private:
   110     const QRuntimeGraphicsSystem *m_graphicsSystem;
   108     const QRuntimeGraphicsSystem *m_graphicsSystem;
   111 
   109 
   112 };
   110 };
   113 
   111 
   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 };