QGIS API Documentation  2.6.0-Brighton
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qgsrastershader.h
Go to the documentation of this file.
1 /* **************************************************************************
2  qgsrastershader.h - description
3  -------------------
4 begin : Fri Dec 28 2007
5 copyright : (C) 2007 by Peter J. Ersts
6 email : [email protected]
7 
8 ****************************************************************************/
9 
10 /* **************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
19 
20 #ifndef QGSRASTERSHADER_H
21 #define QGSRASTERSHADER_H
22 
24 
25 class QDomDocument;
26 class QDomElement;
27 
31 class CORE_EXPORT QgsRasterShader
32 {
33 
34  public:
35  QgsRasterShader( double theMinimumValue = 0.0, double theMaximumValue = 255.0 );
36  ~QgsRasterShader();
37 
38  /*
39  *
40  * Non-Static Inline methods
41  *
42  */
44  double maximumValue() { return mMaximumValue; }
45 
47  double minimumValue() { return mMinimumValue; }
48 
49  QgsRasterShaderFunction* rasterShaderFunction() { return mRasterShaderFunction; }
50  const QgsRasterShaderFunction* rasterShaderFunction() const { return mRasterShaderFunction; }
51 
52  /*
53  *
54  * Non-Static methods
55  *
56  */
58  bool shade( double, int*, int*, int*, int* );
59 
61  bool shade( double, double, double, double, int*, int*, int*, int* );
62 
65  void setRasterShaderFunction( QgsRasterShaderFunction* );
66 
68  void setMaximumValue( double );
69 
71  void setMinimumValue( double );
72 
73  void writeXML( QDomDocument& doc, QDomElement& parent ) const;
74 
75  void readXML( const QDomElement& elem );
76 
77  private:
79  double mMinimumValue;
80 
82  double mMaximumValue;
83 
85  QgsRasterShaderFunction* mRasterShaderFunction;
86 };
87 #endif