16 #ifndef QGSMAPRENDER_H
17 #define QGSMAPRENDER_H
21 #include <QStringList>
48 QgsLabelPosition(
int id,
double r,
const QVector< QgsPoint >& corners,
const QgsRectangle& rect,
double w,
double h,
const QString& layer,
const QString& labeltext,
const QFont& labelfont,
bool upside_down,
bool diagram =
false,
bool pinned =
false ):
49 featureId( id ), rotation( r ), cornerPoints( corners ), labelRect( rect ), width( w ), height( h ), layerID( layer ), labelText( labeltext ), labelFont( labelfont ), upsideDown( upside_down ), isDiagram( diagram ), isPinned( pinned ) {}
50 QgsLabelPosition(): featureId( -1 ), rotation( 0 ), labelRect(
QgsRectangle() ), width( 0 ), height( 0 ), layerID(
"" ), labelText(
"" ), labelFont( QFont() ), upsideDown( false ), isDiagram( false ), isPinned( false ) {}
80 virtual void clearActiveLayers() = 0;
92 { Q_UNUSED( layer ); Q_UNUSED( s );
return 0; }
97 { Q_UNUSED( layer ); Q_UNUSED( feat ); Q_UNUSED( context ); }
101 virtual void exit() = 0;
104 virtual QList<QgsLabelPosition> labelsAtPosition(
const QgsPoint& p ) = 0;
107 virtual QList<QgsLabelPosition> labelsWithinRect(
const QgsRectangle& r ) = 0;
167 void render( QPainter* painter,
double* forceWidthScale = 0 );
178 double scale()
const {
return mScale; }
184 int width()
const {
return mSize.width(); };
185 int height()
const {
return mSize.height(); };
196 void setOutputSize( QSize
size,
int dpi );
197 void setOutputSize( QSizeF
size,
double dpi );
203 QSizeF outputSizeF();
246 void setProjectionsEnabled(
bool enabled );
249 bool hasCrsTransformEnabled()
const;
265 QStringList& layerSet();
268 void setLayerSet(
const QStringList& layers );
271 void updateFullExtent();
274 bool readXML( QDomNode & theNode );
277 bool writeXML( QDomNode & theNode, QDomDocument & theDoc );
298 void addLayerCoordinateTransform(
const QString& layerId,
const QString& srcAuthId,
const QString& destAuthId,
int srcDatumTransform = -1,
int destDatumTransform = -1 );
299 void clearLayerCoordinateTransforms();
305 void drawingProgress(
int current,
int total );
314 void hasCrsTransformEnabled(
bool flag );
319 void hasCrsTransformEnabledChanged(
bool flag );
321 void destinationSrsChanged();
325 void mapUnitsChanged();
331 void datumTransformInfoRequested(
const QgsMapLayer* ml,
const QString& srcAuthId,
const QString& destAuthId )
const;
336 void onDrawingProgress(
int current,
int total );
341 void adjustExtentToSize();