QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsrasterdrawer.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsrasterdrawer.h
3 -------------------
4 begin : June 2012
5 copyright : (C) 2012 by Radim Blazek
6 email : radim dot blazek at gmail.com
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 QGSRASTERDRAWER_H
19#define QGSRASTERDRAWER_H
20
21#include "qgis_core.h"
22#include "qgis_sip.h"
23#include <QMap>
24
25class QPainter;
26class QImage;
27class QgsMapToPixel;
32
37class CORE_EXPORT QgsRasterDrawer
38{
39 public:
40
47 Q_DECL_DEPRECATED QgsRasterDrawer( QgsRasterIterator *iterator, double dpiTarget ) SIP_DEPRECATED;
48
54
62 void draw( QPainter *p, QgsRasterViewPort *viewPort, const QgsMapToPixel *qgsMapToPixel, QgsRasterBlockFeedback *feedback = nullptr );
63
71 void draw( QgsRenderContext &context, QgsRasterViewPort *viewPort, QgsRasterBlockFeedback *feedback = nullptr );
72
73 protected:
74
85 void drawImage( QPainter *p, QgsRasterViewPort *viewPort, const QImage &img, int topLeftCol, int topLeftRow, const QgsMapToPixel *mapToPixel = nullptr ) const SIP_SKIP;
86
87 private:
88 QgsRasterIterator *mIterator = nullptr;
89 double mDpiTarget = -1.0;
90 double mDpiScaleFactor = 1.0;
91 double mDevicePixelRatio = 1.0;
92};
93
94#endif // QGSRASTERDRAWER_H
Perform transforms between map coordinates and device coordinates.
Definition: qgsmaptopixel.h:39
Feedback object tailored for raster block reading.
The drawing pipe for raster layers.
Iterator for sequentially processing raster cells.
Contains information about the context of a rendering operation.
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
#define SIP_SKIP
Definition: qgis_sip.h:126
This class provides details of the viewable area that a raster will be rendered into.