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