QGIS API Documentation  2.5.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
qgsrendercontext.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsrendercontext.h
3  ------------------
4  begin : March 16, 2008
5  copyright : (C) 2008 by Marco Hugentobler
6  email : marco dot hugentobler at karto dot baug dot ethz dot ch
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSRENDERCONTEXT_H
19 #define QGSRENDERCONTEXT_H
20 
21 #include <QColor>
22 
23 #include "qgscoordinatetransform.h"
24 #include "qgsmaptopixel.h"
25 #include "qgsrectangle.h"
27 
28 class QPainter;
29 
31 class QgsMapSettings;
32 
39 class CORE_EXPORT QgsRenderContext
40 {
41  public:
44 
47  static QgsRenderContext fromMapSettings( const QgsMapSettings& mapSettings );
48 
49  //getters
50 
51  QPainter* painter() {return mPainter;}
52  const QPainter* constPainter() const { return mPainter; }
53 
54  const QgsCoordinateTransform* coordinateTransform() const {return mCoordTransform;}
55 
56  const QgsRectangle& extent() const {return mExtent;}
57 
58  const QgsMapToPixel& mapToPixel() const {return mMapToPixel;}
59 
60  double scaleFactor() const {return mScaleFactor;}
61 
62  double rasterScaleFactor() const {return mRasterScaleFactor;}
63 
64  bool renderingStopped() const {return mRenderingStopped;}
65 
66  bool forceVectorOutput() const {return mForceVectorOutput;}
67 
70  bool useAdvancedEffects() const {return mUseAdvancedEffects;}
73  void setUseAdvancedEffects( bool enabled ) { mUseAdvancedEffects = enabled; }
74 
75  bool drawEditingInformation() const {return mDrawEditingInformation;}
76 
77  double rendererScale() const {return mRendererScale;}
78 
80  QgsLabelingEngineInterface* labelingEngine() const { return mLabelingEngine; }
81 
83  QColor selectionColor() const { return mSelectionColor; }
84 
91  bool showSelection() const { return mShowSelection; }
92 
93  //setters
94 
96  void setCoordinateTransform( const QgsCoordinateTransform* t );
97  void setMapToPixel( const QgsMapToPixel& mtp ) {mMapToPixel = mtp;}
98  void setExtent( const QgsRectangle& extent ) {mExtent = extent;}
99  void setDrawEditingInformation( bool b ) {mDrawEditingInformation = b;}
100  void setRenderingStopped( bool stopped ) {mRenderingStopped = stopped;}
101  void setScaleFactor( double factor ) {mScaleFactor = factor;}
102  void setRasterScaleFactor( double factor ) {mRasterScaleFactor = factor;}
103  void setRendererScale( double scale ) {mRendererScale = scale;}
104  void setPainter( QPainter* p ) {mPainter = p;}
106  void setForceVectorOutput( bool force ) {mForceVectorOutput = force;}
108  void setLabelingEngine( QgsLabelingEngineInterface* iface ) { mLabelingEngine = iface; }
110  void setSelectionColor( const QColor& color ) { mSelectionColor = color; }
111 
118  void setShowSelection( const bool showSelection ) { mShowSelection = showSelection; }
119 
121  bool useRenderingOptimization() const { return mUseRenderingOptimization; }
122  void setUseRenderingOptimization( bool enabled ) { mUseRenderingOptimization = enabled; }
123 
125  const QgsVectorSimplifyMethod& vectorSimplifyMethod() const { return mVectorSimplifyMethod; }
126  void setVectorSimplifyMethod( const QgsVectorSimplifyMethod& simplifyMethod ) { mVectorSimplifyMethod = simplifyMethod; }
127 
128  private:
129 
131  QPainter* mPainter;
132 
135 
138 
140 
143 
146 
148 
151 
153  double mScaleFactor;
154 
157 
160 
163 
166 
169 
172 
175 };
176 
177 #endif
void setForceVectorOutput(bool force)
Added in QGIS v1.5.
QPainter * mPainter
Painter for rendering operations.
void setRenderingStopped(bool stopped)
A rectangle specified with double values.
Definition: qgsrectangle.h:35
bool mDrawEditingInformation
True if vertex markers for editing should be drawn.
QgsLabelingEngineInterface * mLabelingEngine
Labeling engine (can be NULL)
QColor selectionColor() const
Added in QGIS v2.0.
const QgsVectorSimplifyMethod & vectorSimplifyMethod() const
Added in QGIS v2.4.
double rendererScale() const
void setRendererScale(double scale)
void setVectorSimplifyMethod(const QgsVectorSimplifyMethod &simplifyMethod)
const QgsRectangle & extent() const
bool showSelection() const
Returns true if vector selections should be shown in the rendered map.
bool mUseRenderingOptimization
True if the rendering optimization (geometry simplification) can be executed.
double scaleFactor() const
QgsRectangle mExtent
const QgsCoordinateTransform * coordinateTransform() const
const QPainter * constPainter() const
void setExtent(const QgsRectangle &extent)
QgsVectorSimplifyMethod mVectorSimplifyMethod
Simplification object which holds the information about how to simplify the features for fast renderi...
The QgsMapSettings class contains configuration for rendering of the map.
bool useAdvancedEffects() const
Returns true if advanced effects such as blend modes such be used.
double mRendererScale
Map scale.
Perform transforms between map coordinates and device coordinates.
Definition: qgsmaptopixel.h:33
void setSelectionColor(const QColor &color)
Added in QGIS v2.0.
void setUseAdvancedEffects(bool enabled)
Used to enable or disable advanced effects such as blend modes.
void setScaleFactor(double factor)
bool renderingStopped() const
void setDrawEditingInformation(bool b)
bool mUseAdvancedEffects
Flag if advanced visual effects such as blend modes should be used.
bool mShowSelection
Whether selection should be shown.
bool forceVectorOutput() const
void setPainter(QPainter *p)
double rasterScaleFactor() const
bool useRenderingOptimization() const
Returns true if the rendering optimization (geometry simplification) can be executed.
double mScaleFactor
Factor to scale line widths and point marker sizes.
bool drawEditingInformation() const
const QgsCoordinateTransform * mCoordTransform
For transformation between coordinate systems.
QgsMapToPixel mMapToPixel
This class contains information how to simplify geometries fetched from a vector layer.
Contains information about the context of a rendering operation.
QPainter * painter()
bool mRenderingStopped
True if the rendering has been canceled.
void setLabelingEngine(QgsLabelingEngineInterface *iface)
Added in QGIS v1.4.
void setMapToPixel(const QgsMapToPixel &mtp)
Class for doing transforms between two map coordinate systems.
void setUseRenderingOptimization(bool enabled)
const QgsMapToPixel & mapToPixel() const
double mRasterScaleFactor
Factor to scale rasters.
void setRasterScaleFactor(double factor)
QColor mSelectionColor
Color used for features that are marked as selected.
Labeling engine interface.
void setShowSelection(const bool showSelection)
Sets whether vector selections should be shown in the rendered map.
QgsLabelingEngineInterface * labelingEngine() const
Added in QGIS v1.4.
bool mForceVectorOutput
If true then no rendered vector elements should be cached as image.