16 #ifndef QGSQUICKMAPCANVASMAP_H 
   17 #define QGSQUICKMAPCANVASMAP_H 
   19 #include "qgis_quick.h" 
   22 #include <QFutureSynchronizer> 
   24 #include <QtQuick/QQuickItem> 
   70     Q_PROPERTY( 
bool freeze READ freeze WRITE setFreeze NOTIFY freezeChanged )
 
   77     Q_PROPERTY( 
bool isRendering READ isRendering NOTIFY isRenderingChanged )
 
   84     Q_PROPERTY( 
int mapUpdateInterval READ mapUpdateInterval WRITE setMapUpdateInterval NOTIFY mapUpdateIntervalChanged )
 
   89     Q_PROPERTY( 
bool incrementalRendering READ incrementalRendering WRITE setIncrementalRendering NOTIFY incrementalRenderingChanged )
 
   96     QSGNode *updatePaintNode( QSGNode *oldNode, QQuickItem::UpdatePaintNodeData * ) 
override;
 
  105     void setFreeze( 
bool freeze );
 
  108     bool isRendering() 
const;
 
  111     int mapUpdateInterval() 
const;
 
  114     void setMapUpdateInterval( 
int mapUpdateInterval );
 
  117     bool incrementalRendering() 
const;
 
  120     void setIncrementalRendering( 
bool incrementalRendering );
 
  147     void geometryChanged( 
const QRectF &newGeometry, 
const QRectF &oldGeometry ) 
override;
 
  151     void stopRendering();
 
  156     void zoom( QPointF center, qreal scale );
 
  161     void pan( QPointF oldPos, QPointF newPos );
 
  171     void renderJobUpdated();
 
  172     void renderJobFinished();
 
  173     void onWindowChanged( QQuickWindow *window );
 
  174     void onScreenChanged( QScreen *screen );
 
  175     void onExtentChanged();
 
  176     void onLayersChanged();
 
  185     void updateTransform();
 
  186     void zoomToFullExtent();
 
  188     std::unique_ptr<QgsQuickMapSettings> mMapSettings;
 
  189     bool mPinching = 
false;
 
  190     QPoint mPinchStartPoint;
 
  192     std::unique_ptr<QgsMapRendererCache> mCache;
 
  196     QTimer mRefreshTimer;
 
  198     bool mFreeze = 
false;
 
  199     QList<QMetaObject::Connection> mLayerConnections;
 
  200     QTimer mMapUpdateTimer;
 
  201     bool mIncrementalRendering = 
false;
 
  203     QQuickWindow *mWindow = 
nullptr;
 
Class that stores computed placement from labeling engine.
This class is responsible for keeping cache of rendered images resulting from a map rendering job.
Abstract base class for map rendering implementations.
Job implementation that renders all layers in parallel.
The QgsMapSettings class contains configuration for rendering of the map.
This class implements a visual Qt Quick Item that does map rendering according to the current map set...
void freezeChanged()
When freeze property is set to true, the map canvas does not refresh.
void mapCanvasRefreshed()
Signal is emitted when a canvas is refreshed.
void incrementalRenderingChanged()
When the incrementalRendering property is set to true, the automatic refresh of map canvas during ren...
void renderStarting()
Signal is emitted when a rendering is starting.
void mapUpdateIntervalChanged()
Interval in milliseconds after which the map canvas will be updated while a rendering job is ongoing.
void isRenderingChanged()
The isRendering property is set to true while a rendering job is pending for this map canvas map.
The QgsQuickMapSettings class encapsulates QgsMapSettings class to offer settings of configuration of...