QGIS API Documentation  2.0.1-Dufour
 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 
98  private:
99 
101  QPainter* mPainter;
102 
105 
108 
110 
113 
116 
118 
121 
123  double mScaleFactor;
124 
127 
130 
133 
136 };
137 
138 #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.
double rendererScale() const
void setRendererScale(double scale)
const QgsRectangle & extent() const
double scaleFactor() const
QgsRectangle mExtent
const QgsCoordinateTransform * coordinateTransform() const
const QPainter * constPainter() const
void setExtent(const QgsRectangle &extent)
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 forceVectorOutput() const
void setPainter(QPainter *p)
double rasterScaleFactor() const
double mScaleFactor
Factor to scale line widths and point marker sizes.
bool drawEditingInformation() const
const QgsCoordinateTransform * mCoordTransform
For transformation between coordinate systems.
QgsMapToPixel mMapToPixel
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.
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.
QgsLabelingEngineInterface * labelingEngine() const
Added in QGIS v1.4.
bool mForceVectorOutput
If true then no rendered vector elements should be cached as image.