Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquickpixmapcache.cpp File Reference

(01cd43d30e3ca2c4dd94a4a4711604adb9417517)

#include <QtQuick/private/qquickpixmapcache_p.h>
#include <QtQuick/private/qquickimageprovider_p.h>
#include <QtQuick/private/qquickprofiler_p.h>
#include <QtQuick/private/qsgcontext_p.h>
#include <QtQuick/private/qsgrenderer_p.h>
#include <QtQuick/private/qsgtexturereader_p.h>
#include <QtQuick/qquickwindow.h>
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/private/qimage_p.h>
#include <QtGui/qpa/qplatformintegration.h>
#include <QtGui/qimagereader.h>
#include <QtGui/qpixmapcache.h>
#include <QtQml/private/qqmlglobal_p.h>
#include <QtQml/private/qqmlengine_p.h>
#include <QtQml/qqmlfile.h>
#include <QtCore/private/qobject_p.h>
#include <QtCore/qcoreapplication.h>
#include <QtCore/qhash.h>
#include <QtCore/qfile.h>
#include <QtCore/qthread.h>
#include <QtCore/qmutex.h>
#include <QtCore/qbuffer.h>
#include <QtCore/qdebug.h>
#include <QtCore/qmetaobject.h>
#include <QtCore/qscopeguard.h>
#include <private/qdebug_p.h>
#include <qquickpixmapcache.moc>
#include "moc_qquickpixmap_p.cpp"
#include "moc_qquickpixmapcache_p.cpp"
Include dependency graph for qquickpixmapcache.cpp:

Go to the source code of this file.

Classes

class  QQuickPixmapReply
class  QQuickPixmapReply::Event
class  ReaderThreadExecutionEnforcer
class  QQuickPixmapReader
class  QQuickPixmapData
class  BackendSupport
struct  QQuickPixmapNull

Macros

#define IMAGEREQUEST_MAX_NETWORK_REQUEST_COUNT   8
#define CACHE_EXPIRE_TIME   30
#define CACHE_REMOVAL_FRACTION   4
#define PIXMAP_PROFILE(Code)
#define USE_THREADED_DOWNLOAD   0
#define Q_THREAD_AFFINITY_MARKER(x)
#define Q_ASSERT_CALLED_ON_VALID_THREAD(x)
#define Q_DETACH_THREAD_AFFINITY_MARKER(x)
#define PIXMAP_READER_LOCK()

Functions

static QString imageProviderId (const QUrl &url)
static QString imageId (const QUrl &url)
static void maybeRemoveAlpha (QImage *image)
static bool readImage (const QUrl &url, QIODevice *dev, QImage *image, QString *errorString, QSize *impsize, int *frameCount, const QRect &requestRegion, const QSize &requestSize, const QQuickImageProviderOptions &providerOptions, QQuickImageProviderOptions::AutoTransform *appliedTransform=nullptr, int frame=0, qreal devicePixelRatio=1.0)
static QStringList fromLatin1List (const QList< QByteArray > &list)
 Q_GLOBAL_STATIC (BackendSupport, backendSupport)
static QString existingImageFileForPath (const QString &localFile)
bool operator== (const QQuickPixmapKey &lhs, const QQuickPixmapKey &rhs)
size_t qHash (const QQuickPixmapKey &key, size_t seed) noexcept
QDebug operator<< (QDebug debug, const QQuickPixmapKey &key)
static QQuickPixmapDatacreatePixmapDataSync (QQmlEngine *engine, const QUrl &url, const QRect &requestRegion, const QSize &requestSize, const QQuickImageProviderOptions &providerOptions, int frame, bool *ok, qreal devicePixelRatio)
 Q_GLOBAL_STATIC (QQuickPixmapNull, nullPixmap)

Variables

static int cache_limit = 2048 * 1024

Macro Definition Documentation

◆ CACHE_EXPIRE_TIME

#define CACHE_EXPIRE_TIME   30

Definition at line 45 of file qquickpixmapcache.cpp.

◆ CACHE_REMOVAL_FRACTION

#define CACHE_REMOVAL_FRACTION   4

Definition at line 48 of file qquickpixmapcache.cpp.

◆ IMAGEREQUEST_MAX_NETWORK_REQUEST_COUNT

#define IMAGEREQUEST_MAX_NETWORK_REQUEST_COUNT   8

Definition at line 42 of file qquickpixmapcache.cpp.

◆ PIXMAP_PROFILE

#define PIXMAP_PROFILE ( Code)
Value:
Q_QUICK_PROFILE(QQuickProfiler::ProfilePixmapCache, Code)
#define Q_QUICK_PROFILE(feature, Method)

Definition at line 50 of file qquickpixmapcache.cpp.

◆ PIXMAP_READER_LOCK

#define PIXMAP_READER_LOCK ( )

Definition at line 300 of file qquickpixmapcache.cpp.

◆ Q_ASSERT_CALLED_ON_VALID_THREAD

#define Q_ASSERT_CALLED_ON_VALID_THREAD ( x)

Definition at line 94 of file qquickpixmapcache.cpp.

◆ Q_DETACH_THREAD_AFFINITY_MARKER

#define Q_DETACH_THREAD_AFFINITY_MARKER ( x)

Definition at line 95 of file qquickpixmapcache.cpp.

◆ Q_THREAD_AFFINITY_MARKER

#define Q_THREAD_AFFINITY_MARKER ( x)

Definition at line 93 of file qquickpixmapcache.cpp.

◆ USE_THREADED_DOWNLOAD

#define USE_THREADED_DOWNLOAD   0

Definition at line 55 of file qquickpixmapcache.cpp.

Function Documentation

◆ createPixmapDataSync()

QQuickPixmapData * createPixmapDataSync ( QQmlEngine * engine,
const QUrl & url,
const QRect & requestRegion,
const QSize & requestSize,
const QQuickImageProviderOptions & providerOptions,
int frame,
bool * ok,
qreal devicePixelRatio )
static

Definition at line 1560 of file qquickpixmapcache.cpp.

◆ existingImageFileForPath()

QString existingImageFileForPath ( const QString & localFile)
static

Definition at line 578 of file qquickpixmapcache.cpp.

◆ fromLatin1List()

QStringList fromLatin1List ( const QList< QByteArray > & list)
static

Definition at line 549 of file qquickpixmapcache.cpp.

◆ imageId()

QString imageId ( const QUrl & url)
inlinestatic

Definition at line 113 of file qquickpixmapcache.cpp.

◆ imageProviderId()

QString imageProviderId ( const QUrl & url)
inlinestatic

Definition at line 108 of file qquickpixmapcache.cpp.

◆ maybeRemoveAlpha()

void maybeRemoveAlpha ( QImage * image)
static

Definition at line 454 of file qquickpixmapcache.cpp.

◆ operator<<()

QDebug operator<< ( QDebug debug,
const QQuickPixmapKey & key )
inline

Definition at line 1221 of file qquickpixmapcache.cpp.

◆ operator==()

bool operator== ( const QQuickPixmapKey & lhs,
const QQuickPixmapKey & rhs )
inline

Definition at line 1206 of file qquickpixmapcache.cpp.

◆ Q_GLOBAL_STATIC() [1/2]

Q_GLOBAL_STATIC ( BackendSupport ,
backendSupport  )

◆ Q_GLOBAL_STATIC() [2/2]

Q_GLOBAL_STATIC ( QQuickPixmapNull ,
nullPixmap  )

◆ qHash()

size_t qHash ( const QQuickPixmapKey & key,
size_t seed )
inlinenoexcept

Definition at line 1215 of file qquickpixmapcache.cpp.

◆ readImage()

bool readImage ( const QUrl & url,
QIODevice * dev,
QImage * image,
QString * errorString,
QSize * impsize,
int * frameCount,
const QRect & requestRegion,
const QSize & requestSize,
const QQuickImageProviderOptions & providerOptions,
QQuickImageProviderOptions::AutoTransform * appliedTransform = nullptr,
int frame = 0,
qreal devicePixelRatio = 1.0 )
static

Definition at line 501 of file qquickpixmapcache.cpp.

Variable Documentation

◆ cache_limit

int cache_limit = 2048 * 1024
static

The maximum currently-unused image data that can be stored for potential later reuse, in bytes. See QQuickPixmapCache::shrinkCache()

Definition at line 106 of file qquickpixmapcache.cpp.