Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsmapunitscale.cpp 3 : : ------------------- 4 : : begin : April 2014 5 : : copyright : (C) Sandro Mani 6 : : email : smani at sourcepole dot ch 7 : : 8 : : *************************************************************************** 9 : : * * 10 : : * This program is free software; you can redistribute it and/or modify * 11 : : * it under the terms of the GNU General Public License as published by * 12 : : * the Free Software Foundation; either version 2 of the License, or * 13 : : * (at your option) any later version. * 14 : : * * 15 : : ***************************************************************************/ 16 : : 17 : : #include "qgsmapunitscale.h" 18 : : #include "qgsrendercontext.h" 19 : : 20 : 0 : double QgsMapUnitScale::computeMapUnitsPerPixel( const QgsRenderContext &c ) const 21 : : { 22 : 0 : double mup = c.mapToPixel().mapUnitsPerPixel(); 23 : 0 : double renderScale = c.rendererScale(); 24 : 0 : if ( !qgsDoubleNear( minScale, 0 ) ) 25 : : { 26 : 0 : mup = std::min( mup / ( renderScale / minScale ), mup ); 27 : 0 : } 28 : 0 : if ( !qgsDoubleNear( maxScale, 0 ) ) 29 : : { 30 : 0 : mup = std::max( mup / ( renderScale / maxScale ), mup ); 31 : 0 : } 32 : 0 : return mup; 33 : : }