00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef QGSRASTERDATAPROVIDER_H
00022 #define QGSRASTERDATAPROVIDER_H
00023
00024
00025 #include "qgsdataprovider.h"
00026
00027 class QImage;
00028 class QgsPoint;
00029
00038 class CORE_EXPORT QgsRasterDataProvider : public QgsDataProvider
00039 {
00040
00041 Q_OBJECT
00042
00043 public:
00044
00046 enum Capability
00047 {
00048 NoCapabilities = 0,
00049 Identify = 1
00050
00051 };
00052
00053
00054 QgsRasterDataProvider();
00055
00056 QgsRasterDataProvider( QString const & uri );
00057
00058 virtual ~QgsRasterDataProvider() {};
00059
00060
00064 virtual void addLayers( QStringList const & layers,
00065 QStringList const & styles = QStringList() ) = 0;
00066
00068 virtual QStringList supportedImageEncodings() = 0;
00069
00073 virtual QString imageEncoding() const = 0;
00074
00078 virtual void setImageEncoding( QString const & mimeType ) = 0;
00079
00083 virtual void setImageCrs( QString const & crs ) = 0;
00084
00085
00086
00089 virtual QImage* draw( QgsRectangle const & viewExtent, int pixelWidth, int pixelHeight ) = 0;
00090
00096 virtual int capabilities() const
00097 {
00098 return QgsRasterDataProvider::NoCapabilities;
00099 }
00100
00104 QString capabilitiesString() const;
00105
00106
00107
00108
00109
00110
00111
00116 virtual QString metadata() = 0;
00117
00119 virtual bool identify( const QgsPoint & point, QMap<QString, QString>& results );
00120
00134 virtual QString identifyAsText( const QgsPoint& point ) = 0;
00135
00151 virtual QString identifyAsHtml( const QgsPoint& point ) = 0;
00152
00162 virtual QString lastErrorTitle() = 0;
00163
00173 virtual QString lastError() = 0;
00174
00180 virtual QString lastErrorFormat();
00181
00182
00185 int dpi() const {return mDpi;}
00186
00189 void setDpi( int dpi ) {mDpi = dpi;}
00190
00191
00192 protected:
00196 int mDpi;
00197
00198 };
00199
00200 #endif