123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | // Copyright (C) 2016 The Qt Company Ltd.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QPLATFORMSHAREDGRAPHICSCACHE_H#define QPLATFORMSHAREDGRAPHICSCACHE_H//// W A R N I N G// -------------//// This file is part of the QPA API and is not meant to be used// in applications. Usage of this API may make your code// source and binary incompatible with future versions of Qt.//#include <QtGui/qtguiglobal.h>#include <QtCore/qobject.h>#include <QtGui/qimage.h> QT_BEGIN_NAMESPACE class Q_GUI_EXPORT QPlatformSharedGraphicsCache:public QObject { Q_OBJECT public:enum PixelFormat { Alpha8 };enum BufferType { OpenGLTexture };explicitQPlatformSharedGraphicsCache(QObject *parent =nullptr) :QObject(parent) {}virtualvoidbeginRequestBatch() =0;virtualvoidensureCacheInitialized(const QByteArray &cacheId, BufferType bufferType, PixelFormat pixelFormat) =0;virtualvoidrequestItems(const QByteArray &cacheId,const QList<quint32> &itemIds) =0;virtualvoidinsertItems(const QByteArray &cacheId,const QList<quint32> &itemIds,const QList<QImage> &items) =0;virtualvoidreleaseItems(const QByteArray &cacheId,const QList<quint32> &itemIds) =0;virtualvoidendRequestBatch() =0;virtualboolrequestBatchStarted()const=0;virtual uint textureIdForBuffer(void*bufferId) =0;virtualvoidreferenceBuffer(void*bufferId) =0;virtualbooldereferenceBuffer(void*bufferId) =0;virtual QSize sizeOfBuffer(void*bufferId) =0;virtualvoid*eglImageForBuffer(void*bufferId) =0; Q_SIGNALS:voiditemsMissing(const QByteArray &cacheId,const QList<quint32> &itemIds);voiditemsAvailable(const QByteArray &cacheId,void*bufferId,const QList<quint32> &itemIds,const QList<QPoint> &positionsInBuffer);voiditemsInvalidated(const QByteArray &cacheId,const QList<quint32> &itemIds);voiditemsUpdated(const QByteArray &cacheId,void*bufferId,const QList<quint32> &itemIds,const QList<QPoint> &positionsInBuffer);}; QT_END_NAMESPACE #endif// QPLATFORMSHAREDGRAPHICSCACHE_H
|