[QGIS Commit] r10885 - in trunk/qgis: python/core src/core
src/providers/wms
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Fri Jun 5 09:13:46 EDT 2009
Author: mhugent
Date: 2009-06-05 09:13:45 -0400 (Fri, 05 Jun 2009)
New Revision: 10885
Modified:
trunk/qgis/python/core/qgsrasterdataprovider.sip
trunk/qgis/src/core/qgsrasterdataprovider.cpp
trunk/qgis/src/core/qgsrasterdataprovider.h
trunk/qgis/src/providers/wms/qgswmsprovider.cpp
Log:
Use a DPI parameter in the WMS request. This allows printing with QGIS from QGIS mapserver (and is ignored by the other WMS servers)
Modified: trunk/qgis/python/core/qgsrasterdataprovider.sip
===================================================================
--- trunk/qgis/python/core/qgsrasterdataprovider.sip 2009-06-05 11:24:14 UTC (rev 10884)
+++ trunk/qgis/python/core/qgsrasterdataprovider.sip 2009-06-05 13:13:45 UTC (rev 10885)
@@ -120,7 +120,15 @@
*/
virtual QString lastError() = 0;
+ /**Returns the dpi of the output device.
+ @note: this method was added in version 1.2*/
+ int dpi();
+ /**Sets the output device resolution.
+ @note: this method was added in version 1.2*/
+ void setDpi(int dpi);
+
+
protected:
};
Modified: trunk/qgis/src/core/qgsrasterdataprovider.cpp
===================================================================
--- trunk/qgis/src/core/qgsrasterdataprovider.cpp 2009-06-05 11:24:14 UTC (rev 10884)
+++ trunk/qgis/src/core/qgsrasterdataprovider.cpp 2009-06-05 13:13:45 UTC (rev 10885)
@@ -19,13 +19,13 @@
#include "qgsrasterdataprovider.h"
#include "qgslogger.h"
-QgsRasterDataProvider::QgsRasterDataProvider()
+QgsRasterDataProvider::QgsRasterDataProvider(): mDpi(-1)
{
}
QgsRasterDataProvider::QgsRasterDataProvider( QString const & uri )
- : QgsDataProvider( uri )
+ : QgsDataProvider( uri ), mDpi(-1)
{
}
Modified: trunk/qgis/src/core/qgsrasterdataprovider.h
===================================================================
--- trunk/qgis/src/core/qgsrasterdataprovider.h 2009-06-05 11:24:14 UTC (rev 10884)
+++ trunk/qgis/src/core/qgsrasterdataprovider.h 2009-06-05 13:13:45 UTC (rev 10885)
@@ -152,8 +152,20 @@
*/
virtual QString lastError() = 0;
+ /**Returns the dpi of the output device.
+ @note: this method was added in version 1.2*/
+ int dpi() const {return mDpi;}
+ /**Sets the output device resolution.
+ @note: this method was added in version 1.2*/
+ void setDpi(int dpi){mDpi = dpi;}
+
+
protected:
+ /**Dots per intch. Extended WMS (e.g. QGIS mapserver) support DPI dependent output and therefore
+ are suited for printing. A value of -1 means it has not been set
+ @note: this member has been added in version 1.2*/
+ int mDpi;
};
Modified: trunk/qgis/src/providers/wms/qgswmsprovider.cpp
===================================================================
--- trunk/qgis/src/providers/wms/qgswmsprovider.cpp 2009-06-05 11:24:14 UTC (rev 10884)
+++ trunk/qgis/src/providers/wms/qgswmsprovider.cpp 2009-06-05 13:13:45 UTC (rev 10885)
@@ -454,6 +454,12 @@
url += "&";
url += "FORMAT=" + imageMimeType;
+ //DPI parameter is accepted by QGIS mapserver (and ignored by the other WMS servers)
+ if(mDpi != -1)
+ {
+ url += "&DPI=" + QString::number(mDpi);
+ }
+
//MH: jpeg does not support transparency and some servers complain if jpg and transparent=true
if ( !imageMimeType.contains( "jpeg", Qt::CaseInsensitive ) && !imageMimeType.contains( "jpg", Qt::CaseInsensitive ) )
{
More information about the QGIS-commit
mailing list