mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
|
|
||
|
/**
|
||
|
* 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
|
||
|
*/
|
||
|
class QgsMapRendererCache : QObject
|
||
|
{
|
||
|
%TypeHeaderCode
|
||
|
#include <qgsmaprenderercache.h>
|
||
|
%End
|
||
|
|
||
|
public:
|
||
|
|
||
|
QgsMapRendererCache();
|
||
|
|
||
|
//! invalidate the cache contents
|
||
|
void clear();
|
||
|
|
||
|
//! initialize cache: set new parameters and erase cache if parameters have changed
|
||
|
//! @return flag whether the parameters are the same as last time
|
||
|
bool init( QgsRectangle extent, double scale );
|
||
|
|
||
|
//! set cached image for the specified layer ID
|
||
|
void setCacheImage( QString layerId, const QImage& img );
|
||
|
|
||
|
//! get cached image for the specified layer ID. Returns null image if it is not cached.
|
||
|
QImage cacheImage( QString layerId );
|
||
|
|
||
|
//! remove layer from the cache
|
||
|
void clearCacheImage( QString layerId );
|
||
|
|
||
|
};
|