37 explicit QPlatformSharedGraphicsCache(QObject *parent =
nullptr) : QObject(parent) {}
39 virtual void beginRequestBatch() = 0;
40 virtual void ensureCacheInitialized(
const QByteArray &cacheId, BufferType bufferType,
41 PixelFormat pixelFormat) = 0;
42 virtual void requestItems(
const QByteArray &cacheId,
const QList<quint32> &itemIds) = 0;
43 virtual void insertItems(
const QByteArray &cacheId,
const QList<quint32> &itemIds,
44 const QList<QImage> &items) = 0;
45 virtual void releaseItems(
const QByteArray &cacheId,
const QList<quint32> &itemIds) = 0;
46 virtual void endRequestBatch() = 0;
48 virtual bool requestBatchStarted()
const = 0;
50 virtual uint textureIdForBuffer(
void *bufferId) = 0;
51 virtual void referenceBuffer(
void *bufferId) = 0;
52 virtual bool dereferenceBuffer(
void *bufferId) = 0;
53 virtual QSize sizeOfBuffer(
void *bufferId) = 0;
54 virtual void *eglImageForBuffer(
void *bufferId) = 0;
57 void itemsMissing(
const QByteArray &cacheId,
const QList<quint32> &itemIds);
58 void itemsAvailable(
const QByteArray &cacheId,
void *bufferId,
const QList<quint32> &itemIds,
59 const QList<QPoint> &positionsInBuffer);
60 void itemsInvalidated(
const QByteArray &cacheId,
const QList<quint32> &itemIds);
61 void itemsUpdated(
const QByteArray &cacheId,
void *bufferId,
const QList<quint32> &itemIds,
62 const QList<QPoint> &positionsInBuffer);