QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | List of all members
QgsMapRendererCache Class Reference

This class is responsible for keeping cache of rendered images of individual layers. More...

#include <qgsmaprenderercache.h>

Inheritance diagram for QgsMapRendererCache:
Inheritance graph
[legend]

Public Member Functions

 QgsMapRendererCache ()
 
QImage cacheImage (const QString &layerId)
 get cached image for the specified layer ID. Returns null image if it is not cached. More...
 
void clear ()
 invalidate the cache contents More...
 
void clearCacheImage (const QString &layerId)
 remove layer from the cache More...
 
bool init (const QgsRectangle &extent, double scale)
 initialize cache: set new parameters and erase cache if parameters have changed More...
 
void setCacheImage (const QString &layerId, const QImage &img)
 set cached image for the specified layer ID More...
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual ~QObject ()
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

Protected Slots

void layerRequestedRepaint ()
 remove layer (that emitted the signal) from the cache More...
 

Protected Member Functions

void clearInternal ()
 invalidate cache contents (without locking) More...
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 

Protected Attributes

QMap< QString, QImagemCachedImages
 
QgsRectangle mExtent
 
QMutex mMutex
 
double mScale
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

This class is responsible for keeping cache of rendered images of individual layers.

Once a layer has rendered image stored in the cache (using setCacheImage(...)), the cache listens to repaintRequested() signals from layer. If triggered, the cache removes the rendered image (and disconnects from the layer).

The class is thread-safe (multiple classes can access the same instance safely).

Note
added in 2.4

Definition at line 37 of file qgsmaprenderercache.h.

Constructor & Destructor Documentation

◆ QgsMapRendererCache()

QgsMapRendererCache::QgsMapRendererCache ( )

Definition at line 21 of file qgsmaprenderercache.cpp.

Member Function Documentation

◆ cacheImage()

QImage QgsMapRendererCache::cacheImage ( const QString layerId)

get cached image for the specified layer ID. Returns null image if it is not cached.

Definition at line 81 of file qgsmaprenderercache.cpp.

◆ clear()

void QgsMapRendererCache::clear ( )

invalidate the cache contents

Definition at line 26 of file qgsmaprenderercache.cpp.

◆ clearCacheImage()

void QgsMapRendererCache::clearCacheImage ( const QString layerId)

remove layer from the cache

Definition at line 94 of file qgsmaprenderercache.cpp.

◆ clearInternal()

void QgsMapRendererCache::clearInternal ( )
protected

invalidate cache contents (without locking)

Definition at line 32 of file qgsmaprenderercache.cpp.

◆ init()

bool QgsMapRendererCache::init ( const QgsRectangle extent,
double  scale 
)

initialize cache: set new parameters and erase cache if parameters have changed

Returns
flag whether the parameters are the same as last time

Definition at line 50 of file qgsmaprenderercache.cpp.

◆ layerRequestedRepaint

void QgsMapRendererCache::layerRequestedRepaint ( )
protectedslot

remove layer (that emitted the signal) from the cache

Definition at line 87 of file qgsmaprenderercache.cpp.

◆ setCacheImage()

void QgsMapRendererCache::setCacheImage ( const QString layerId,
const QImage img 
)

set cached image for the specified layer ID

Definition at line 68 of file qgsmaprenderercache.cpp.

Member Data Documentation

◆ mCachedImages

QMap<QString, QImage> QgsMapRendererCache::mCachedImages
protected

Definition at line 72 of file qgsmaprenderercache.h.

◆ mExtent

QgsRectangle QgsMapRendererCache::mExtent
protected

Definition at line 70 of file qgsmaprenderercache.h.

◆ mMutex

QMutex QgsMapRendererCache::mMutex
protected

Definition at line 69 of file qgsmaprenderercache.h.

◆ mScale

double QgsMapRendererCache::mScale
protected

Definition at line 71 of file qgsmaprenderercache.h.


The documentation for this class was generated from the following files: