Skip to content

Commit 9a006e4

Browse files
committed
Forgot to add sip files
1 parent 1fed135 commit 9a006e4

File tree

2 files changed

+236
-0
lines changed

2 files changed

+236
-0
lines changed

python/core/qgsrasterrenderer.sip

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
class QgsRasterRenderer
2+
{
3+
%TypeHeaderCode
4+
#include "qgsrasterrenderer.h"
5+
#include "qgspalettedrasterrenderer.h"
6+
#include "qgsmultibandcolorrenderer.h"
7+
#include "qgssinglebandpseudocolorrenderer.h"
8+
#include "qgssinglebandgrayrenderer.h"
9+
#include "qgssinglebandcolordatarenderer.h"
10+
%End
11+
12+
%ConvertToSubClassCode
13+
if (dynamic_cast<QgsPalettedRasterRenderer*>(sipCpp) != NULL)
14+
sipClass = sipClass_QgsPalettedRasterRenderer;
15+
else if (dynamic_cast<QgsMultiBandColorRenderer*>(sipCpp) != NULL)
16+
sipClass = sipClass_QgsMultiBandColorRenderer;
17+
else if (dynamic_cast<QgsSingleBandPseudoColorRenderer*>(sipCpp) != NULL)
18+
sipClass = sipClass_QgsSingleBandPseudoColorRenderer;
19+
else if (dynamic_cast<QgsSingleBandGrayRenderer*>(sipCpp) != NULL)
20+
sipClass = sipClass_QgsSingleBandGrayRenderer;
21+
else if (dynamic_cast<QgsSingleBandGrayRenderer*>(sipCpp) != NULL)
22+
sipClass = sipClass_QgsSingleBandGrayRenderer;
23+
else
24+
sipClass = 0;
25+
%End
26+
27+
public:
28+
QgsRasterRenderer( QgsRasterDataProvider* provider, const QString& type );
29+
virtual ~QgsRasterRenderer();
30+
31+
virtual QString type() const;
32+
virtual void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel ) = 0;
33+
34+
bool usesTransparency( QgsCoordinateReferenceSystem& srcSRS, QgsCoordinateReferenceSystem& dstSRS ) const;
35+
36+
void setOpacity( double opacity );
37+
double opacity() const;
38+
39+
void setRasterTransparency( QgsRasterTransparency* t );
40+
const QgsRasterTransparency* rasterTransparency() const;
41+
42+
void setAlphaBand( int band );
43+
int alphaBand() const;
44+
45+
void setInvertColor( bool invert );
46+
bool invertColor() const;
47+
48+
/**Set resampler for zoomed in scales. Takes ownership of the object*/
49+
void setZoomedInResampler( QgsRasterResampler* r );
50+
const QgsRasterResampler* zoomedInResampler();
51+
52+
/**Set resampler for zoomed out scales. Takes ownership of the object*/
53+
void setZoomedOutResampler( QgsRasterResampler* r );
54+
const QgsRasterResampler* zoomedOutResampler() const;
55+
56+
void setMaxOversampling( double os );
57+
double maxOversampling() const;
58+
59+
/**Get symbology items if provided by renderer*/
60+
virtual void legendSymbologyItems( QList< QPair< QString, QColor > >& symbolItems ) const;
61+
62+
virtual void writeXML( QDomDocument& doc, QDomElement& parentElem ) const = 0;
63+
64+
/**Sets base class members from xml. Usually called from create() methods of subclasses*/
65+
void readXML( const QDomElement& rendererElem );
66+
};
67+
68+
class QgsPalettedRasterRenderer: public QgsRasterRenderer
69+
{
70+
%TypeHeaderCode
71+
#include "qgspalettedrasterrenderer.h"
72+
%End
73+
public:
74+
/**Renderer owns color array*/
75+
QgsPalettedRasterRenderer( QgsRasterDataProvider* provider, int bandNumber, QColor* colorArray, int nColors );
76+
~QgsPalettedRasterRenderer();
77+
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );
78+
79+
void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel );
80+
81+
/**Returns number of colors*/
82+
int nColors() const;
83+
/**Returns copy of color array (caller takes ownership)*/
84+
QColor* colors() const;
85+
86+
void writeXML( QDomDocument& doc, QDomElement& parentElem ) const;
87+
88+
void legendSymbologyItems( QList< QPair< QString, QColor > >& symbolItems ) const;
89+
};
90+
91+
class QgsMultiBandColorRenderer: public QgsRasterRenderer
92+
{
93+
%TypeHeaderCode
94+
#include "qgsmultibandcolorrenderer.h"
95+
%End
96+
public:
97+
QgsMultiBandColorRenderer( QgsRasterDataProvider* provider, int redBand, int greenBand, int blueBand,
98+
QgsContrastEnhancement* redEnhancement = 0, QgsContrastEnhancement* greenEnhancement = 0,
99+
QgsContrastEnhancement* blueEnhancement = 0 );
100+
~QgsMultiBandColorRenderer();
101+
102+
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );
103+
104+
void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel );
105+
106+
int redBand() const;
107+
void setRedBand( int band );
108+
int greenBand() const;
109+
void setGreenBand( int band );
110+
int blueBand() const;
111+
void setBlueBand( int band );
112+
113+
const QgsContrastEnhancement* redContrastEnhancement() const;
114+
/**Takes ownership*/
115+
void setRedContrastEnhancement( QgsContrastEnhancement* ce );
116+
117+
const QgsContrastEnhancement* greenContrastEnhancement() const;
118+
/**Takes ownership*/
119+
void setGreenContrastEnhancement( QgsContrastEnhancement* ce );
120+
121+
const QgsContrastEnhancement* blueContrastEnhancement() const;
122+
/**Takes ownership*/
123+
void setBlueContrastEnhancement( QgsContrastEnhancement* ce );
124+
125+
void writeXML( QDomDocument& doc, QDomElement& parentElem ) const;
126+
};
127+
128+
class QgsSingleBandPseudoColorRenderer: public QgsRasterRenderer
129+
{
130+
%TypeHeaderCode
131+
#include "qgssinglebandpseudocolorrenderer.h"
132+
%End
133+
public:
134+
/**Note: takes ownership of QgsRasterShader*/
135+
QgsSingleBandPseudoColorRenderer( QgsRasterDataProvider* provider, int band, QgsRasterShader* shader );
136+
~QgsSingleBandPseudoColorRenderer();
137+
138+
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );
139+
140+
virtual void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel );
141+
142+
/**Takes ownership of the shader*/
143+
void setShader( QgsRasterShader* shader );
144+
QgsRasterShader* shader();
145+
146+
void writeXML( QDomDocument& doc, QDomElement& parentElem ) const;
147+
148+
void legendSymbologyItems( QList< QPair< QString, QColor > >& symbolItems ) const;
149+
};
150+
151+
class QgsSingleBandGrayRenderer: public QgsRasterRenderer
152+
{
153+
%TypeHeaderCode
154+
#include "qgssinglebandgrayrenderer.h"
155+
%End
156+
public:
157+
QgsSingleBandGrayRenderer( QgsRasterDataProvider* provider, int grayBand );
158+
~QgsSingleBandGrayRenderer();
159+
160+
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );
161+
162+
virtual void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel );
163+
164+
int grayBand() const;
165+
void setGrayBand( int band );
166+
const QgsContrastEnhancement* contrastEnhancement() const;
167+
/**Takes ownership*/
168+
void setContrastEnhancement( QgsContrastEnhancement* ce );
169+
170+
void writeXML( QDomDocument& doc, QDomElement& parentElem ) const;
171+
172+
void legendSymbologyItems( QList< QPair< QString, QColor > >& symbolItems ) const;
173+
};
174+
175+
class QgsSingleBandColorDataRenderer: public QgsRasterRenderer
176+
{
177+
%TypeHeaderCode
178+
#include "qgssinglebandcolordatarenderer.h"
179+
%End
180+
public:
181+
QgsSingleBandColorDataRenderer( QgsRasterDataProvider* provider, int band );
182+
~QgsSingleBandColorDataRenderer();
183+
184+
static QgsRasterRenderer* create( const QDomElement& elem, QgsRasterDataProvider* provider );
185+
186+
virtual void draw( QPainter* p, QgsRasterViewPort* viewPort, const QgsMapToPixel* theQgsMapToPixel );
187+
188+
void writeXML( QDomDocument& doc, QDomElement& parentElem ) const;
189+
};

python/core/qgsrasterresampler.sip

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
class QgsRasterResampler
2+
{
3+
%TypeHeaderCode
4+
#include "qgsrasterresampler.h"
5+
#include "qgsbilinearrasterresampler.h"
6+
#include "qgscubicrasterresampler.h"
7+
8+
%End
9+
10+
%ConvertToSubClassCode
11+
if (dynamic_cast<QgsBilinearRasterResampler*>(sipCpp) != NULL)
12+
sipClass = sipClass_QgsBilinearRasterResampler;
13+
else if (dynamic_cast<QgsCubicRasterResampler*>(sipCpp) != NULL)
14+
sipClass = sipClass_QgsCubicRasterResampler;
15+
else
16+
sipClass = 0;
17+
%End
18+
19+
public:
20+
virtual void resample( const QImage& srcImage, QImage& dstImage ) = 0;
21+
virtual QString type() const = 0;
22+
};
23+
24+
class QgsBilinearRasterResampler: public QgsRasterResampler
25+
{
26+
%TypeHeaderCode
27+
#include "qgsbilinearrasterresampler.h"
28+
%End
29+
public:
30+
QgsBilinearRasterResampler();
31+
~QgsBilinearRasterResampler();
32+
33+
void resample( const QImage& srcImage, QImage& dstImage );
34+
QString type() const;
35+
};
36+
37+
class QgsCubicRasterResampler: public QgsRasterResampler
38+
{
39+
%TypeHeaderCode
40+
#include "qgscubicrasterresampler.h"
41+
%End
42+
public:
43+
QgsCubicRasterResampler();
44+
~QgsCubicRasterResampler();
45+
void resample( const QImage& srcImage, QImage& dstImage );
46+
QString type() const;
47+
};

0 commit comments

Comments
 (0)