QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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"
26 
27 class QPainter;
28 
30 
37 class CORE_EXPORT QgsRenderContext
38 {
39  public:
42 
43  //getters
44 
45  QPainter* painter() {return mPainter;}
46  const QPainter* constPainter() const { return mPainter; }
47 
48  const QgsCoordinateTransform* coordinateTransform() const {return mCoordTransform;}
49 
50  const QgsRectangle& extent() const {return mExtent;}
51 
52  const QgsMapToPixel& mapToPixel() const {return mMapToPixel;}
53 
54  double scaleFactor() const {return mScaleFactor;}
55 
56  double rasterScaleFactor() const {return mRasterScaleFactor;}
57 
58  bool renderingStopped() const {return mRenderingStopped;}
59 
60  bool forceVectorOutput() const {return mForceVectorOutput;}
61 
64  bool useAdvancedEffects() const {return mUseAdvancedEffects;}
67  void setUseAdvancedEffects( bool enabled ) { mUseAdvancedEffects = enabled; }
68 
69  bool drawEditingInformation() const {return mDrawEditingInformation;}
70 
71  double rendererScale() const {return mRendererScale;}
72 
74  QgsLabelingEngineInterface* labelingEngine() const { return mLabelingEngine; }
75 
77  QColor selectionColor() const { return mSelectionColor; }
78 
79  //setters
80 
82  void setCoordinateTransform( const QgsCoordinateTransform* t );
83  void setMapToPixel( const QgsMapToPixel& mtp ) {mMapToPixel = mtp;}
84  void setExtent( const QgsRectangle& extent ) {mExtent = extent;}
85  void setDrawEditingInformation( bool b ) {mDrawEditingInformation = b;}
86  void setRenderingStopped( bool stopped ) {mRenderingStopped = stopped;}
87  void setScaleFactor( double factor ) {mScaleFactor = factor;}
88  void setRasterScaleFactor( double factor ) {mRasterScaleFactor = factor;}
89  void setRendererScale( double scale ) {mRendererScale = scale;}
90  void setPainter( QPainter* p ) {mPainter = p;}
92  void setForceVectorOutput( bool force ) {mForceVectorOutput = force;}
94  void setLabelingEngine( QgsLabelingEngineInterface* iface ) { mLabelingEngine = iface; }
96  void setSelectionColor( const QColor& color ) { mSelectionColor = color; }
97 
99  bool useRenderingOptimization() const { return mUseRenderingOptimization; }
100  void setUseRenderingOptimization( bool enabled ) { mUseRenderingOptimization = enabled; }
101 
102  private:
103 
105  QPainter* mPainter;
106 
109 
112 
114 
117 
120 
122 
125 
127  double mScaleFactor;
128 
131 
134 
137 
140 
143 };
144 
145 #endif