mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
fix some tests crashes, fix some tests and some mtr updates
This commit is contained in:
parent
480ae45f94
commit
0693fe93ee
3
debian/control.jessie
vendored
3
debian/control.jessie
vendored
@ -37,7 +37,8 @@ Build-Depends:
|
||||
graphviz,
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.9.5
|
||||
Homepage: http://qgis.org/
|
||||
|
3
debian/control.precise
vendored
3
debian/control.precise
vendored
@ -38,7 +38,8 @@ Build-Depends:
|
||||
graphviz,
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.8.4
|
||||
XS-Python-Version: current
|
||||
|
3
debian/control.quantal
vendored
3
debian/control.quantal
vendored
@ -37,7 +37,8 @@ Build-Depends:
|
||||
graphviz,
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.9.3
|
||||
XS-Python-Version: current
|
||||
|
3
debian/control.raring
vendored
3
debian/control.raring
vendored
@ -39,7 +39,8 @@ Build-Depends:
|
||||
graphviz,
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.8.4
|
||||
XS-Python-Version: current
|
||||
|
3
debian/control.saucy
vendored
3
debian/control.saucy
vendored
@ -39,7 +39,8 @@ Build-Depends:
|
||||
graphviz,
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.8.4
|
||||
XS-Python-Version: current
|
||||
|
3
debian/control.sid
vendored
3
debian/control.sid
vendored
@ -37,7 +37,8 @@ Build-Depends:
|
||||
graphviz,
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.9.5
|
||||
Homepage: http://qgis.org/
|
||||
|
3
debian/control.sid-oracle
vendored
3
debian/control.sid-oracle
vendored
@ -38,7 +38,8 @@ Build-Depends:
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
oracle-instantclient11.2-devel
|
||||
oracle-instantclient11.2-devel,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.9.5
|
||||
Homepage: http://qgis.org/
|
||||
|
3
debian/control.trusty
vendored
3
debian/control.trusty
vendored
@ -37,7 +37,8 @@ Build-Depends:
|
||||
graphviz,
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.8.4
|
||||
XS-Python-Version: current
|
||||
|
3
debian/control.wheezy
vendored
3
debian/control.wheezy
vendored
@ -37,7 +37,8 @@ Build-Depends:
|
||||
graphviz,
|
||||
txt2tags,
|
||||
xvfb, xauth,
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable
|
||||
xfonts-base, xfonts-100dpi, xfonts-75dpi, xfonts-scalable,
|
||||
spawn-cgi, lighttpd, poppler-utils
|
||||
Build-Conflicts: libqgis-dev, qgis-dev
|
||||
Standards-Version: 3.9.3
|
||||
XS-Python-Version: current
|
||||
|
2
debian/rules
vendored
2
debian/rules
vendored
@ -143,7 +143,7 @@ build-stamp: debian/build/CMakeCache.txt
|
||||
|
||||
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
||||
# Code to run the package test suite - and ignore the outcome for now
|
||||
-LD_LIBRARY_PATH=$(PWD)/debian/build/output/lib:$(LD_LIBRARY_PATH) $(TESTMAKE) -C debian/build $(DEB_TEST_TARGET)
|
||||
-LD_LIBRARY_PATH=$(PWD)/debian/build/output/lib:$(LD_LIBRARY_PATH) PATH=/usr/sbin:$(PATH) LC_CTYPE=C.UTF-8 $(TESTMAKE) -C debian/build $(DEB_TEST_TARGET)
|
||||
else
|
||||
@echo Skipping tests.
|
||||
endif
|
||||
|
@ -6,7 +6,7 @@
|
||||
* the cache listens to repaintRequested() signals from layer. If triggered, the cache
|
||||
* removes the rendered image (and disconnects from the layer).
|
||||
*
|
||||
* The class is thread-safe (multiple classes can access the same instance safely).
|
||||
* The class is thread-safe (multiple classes can access the same instance safely).
|
||||
*
|
||||
* @note added in 2.4
|
||||
*/
|
||||
|
@ -448,11 +448,11 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, QWidget * parent,
|
||||
, mMousePrecisionDecimalPlaces( 0 )
|
||||
, mInternalClipboard( 0 )
|
||||
, mShowProjectionTab( false )
|
||||
, mPythonUtils( NULL )
|
||||
, mPythonUtils( 0 )
|
||||
#ifdef Q_OS_WIN
|
||||
, mSkipNextContextMenuEvent( 0 )
|
||||
#endif
|
||||
, mpGpsWidget( NULL )
|
||||
, mpGpsWidget( 0 )
|
||||
{
|
||||
if ( smInstance )
|
||||
{
|
||||
@ -785,6 +785,7 @@ QgisApp::QgisApp( )
|
||||
mMapCanvas->freeze();
|
||||
mMapLegend = new QgsLegend( mMapCanvas );
|
||||
mUndoWidget = new QgsUndoWidget( NULL, mMapCanvas );
|
||||
mInfoBar = new QgsMessageBar( centralWidget() );
|
||||
// More tests may need more members to be initialized
|
||||
}
|
||||
|
||||
@ -3785,12 +3786,7 @@ void QgisApp::dxfExport()
|
||||
dxfExport.setSymbologyExport( d.symbologyMode() );
|
||||
if ( mapCanvas() )
|
||||
{
|
||||
QgsMapRenderer* r = mapCanvas()->mapRenderer();
|
||||
if ( r )
|
||||
{
|
||||
dxfExport.setMapUnits( r->mapUnits() );
|
||||
}
|
||||
|
||||
dxfExport.setMapUnits( mapCanvas()->mapUnits() );
|
||||
//extent
|
||||
if ( d.exportMapExtent() )
|
||||
{
|
||||
|
@ -42,17 +42,17 @@
|
||||
#include <cmath>
|
||||
|
||||
QgsComposerMap::QgsComposerMap( QgsComposition *composition, int x, int y, int width, int height )
|
||||
: QgsComposerItem( x, y, width, height, composition ), mMapRotation( 0 ), mKeepLayerSet( false ),
|
||||
mOverviewFrameMapId( -1 ), mOverviewBlendMode( QPainter::CompositionMode_SourceOver ), mOverviewInverted( false ), mOverviewCentered( false ),
|
||||
mGridEnabled( false ), mGridStyle( Solid ),
|
||||
mGridIntervalX( 0.0 ), mGridIntervalY( 0.0 ), mGridOffsetX( 0.0 ), mGridOffsetY( 0.0 ), mGridAnnotationFontColor( QColor( 0, 0, 0 ) ),
|
||||
mGridAnnotationPrecision( 3 ), mShowGridAnnotation( false ), mGridBlendMode( QPainter::CompositionMode_SourceOver ),
|
||||
mLeftGridAnnotationPosition( OutsideMapFrame ), mRightGridAnnotationPosition( OutsideMapFrame ),
|
||||
mTopGridAnnotationPosition( OutsideMapFrame ), mBottomGridAnnotationPosition( OutsideMapFrame ), mAnnotationFrameDistance( 1.0 ),
|
||||
mLeftGridAnnotationDirection( Horizontal ), mRightGridAnnotationDirection( Horizontal ), mTopGridAnnotationDirection( Horizontal ),
|
||||
mBottomGridAnnotationDirection( Horizontal ), mGridFrameStyle( NoGridFrame ), mGridFrameWidth( 2.0 ),
|
||||
mGridFramePenThickness( 0.5 ), mGridFramePenColor( QColor( 0, 0, 0 ) ), mGridFrameFillColor1( Qt::white ), mGridFrameFillColor2( Qt::black ),
|
||||
mCrossLength( 3 ), mMapCanvas( 0 ), mDrawCanvasItems( true ), mAtlasDriven( false ), mAtlasFixedScale( false ), mAtlasMargin( 0.10 )
|
||||
: QgsComposerItem( x, y, width, height, composition ), mMapRotation( 0 ), mKeepLayerSet( false )
|
||||
, mOverviewFrameMapId( -1 ), mOverviewBlendMode( QPainter::CompositionMode_SourceOver ), mOverviewInverted( false ), mOverviewCentered( false )
|
||||
, mGridEnabled( false ), mGridStyle( Solid )
|
||||
, mGridIntervalX( 0.0 ), mGridIntervalY( 0.0 ), mGridOffsetX( 0.0 ), mGridOffsetY( 0.0 ), mGridAnnotationFontColor( QColor( 0, 0, 0 ) )
|
||||
, mGridAnnotationPrecision( 3 ), mShowGridAnnotation( false ), mGridBlendMode( QPainter::CompositionMode_SourceOver )
|
||||
, mLeftGridAnnotationPosition( OutsideMapFrame ), mRightGridAnnotationPosition( OutsideMapFrame )
|
||||
, mTopGridAnnotationPosition( OutsideMapFrame ), mBottomGridAnnotationPosition( OutsideMapFrame ), mAnnotationFrameDistance( 1.0 )
|
||||
, mLeftGridAnnotationDirection( Horizontal ), mRightGridAnnotationDirection( Horizontal ), mTopGridAnnotationDirection( Horizontal )
|
||||
, mBottomGridAnnotationDirection( Horizontal ), mGridFrameStyle( NoGridFrame ), mGridFrameWidth( 2.0 )
|
||||
, mGridFramePenThickness( 0.5 ), mGridFramePenColor( QColor( 0, 0, 0 ) ), mGridFrameFillColor1( Qt::white ), mGridFrameFillColor2( Qt::black )
|
||||
, mCrossLength( 3 ), mMapCanvas( 0 ), mDrawCanvasItems( true ), mAtlasDriven( false ), mAtlasFixedScale( false ), mAtlasMargin( 0.10 )
|
||||
{
|
||||
mComposition = composition;
|
||||
mOverviewFrameMapSymbol = 0;
|
||||
@ -100,17 +100,17 @@ QgsComposerMap::QgsComposerMap( QgsComposition *composition, int x, int y, int w
|
||||
}
|
||||
|
||||
QgsComposerMap::QgsComposerMap( QgsComposition *composition )
|
||||
: QgsComposerItem( 0, 0, 10, 10, composition ), mMapRotation( 0 ), mKeepLayerSet( false ), mOverviewFrameMapId( -1 ),
|
||||
mOverviewBlendMode( QPainter::CompositionMode_SourceOver ), mOverviewInverted( false ), mOverviewCentered( false ),
|
||||
mGridEnabled( false ), mGridStyle( Solid ),
|
||||
mGridIntervalX( 0.0 ), mGridIntervalY( 0.0 ), mGridOffsetX( 0.0 ), mGridOffsetY( 0.0 ), mGridAnnotationFontColor( QColor( 0, 0, 0 ) ),
|
||||
mGridAnnotationPrecision( 3 ), mShowGridAnnotation( false ), mGridBlendMode( QPainter::CompositionMode_SourceOver ),
|
||||
mLeftGridAnnotationPosition( OutsideMapFrame ), mRightGridAnnotationPosition( OutsideMapFrame ),
|
||||
mTopGridAnnotationPosition( OutsideMapFrame ), mBottomGridAnnotationPosition( OutsideMapFrame ), mAnnotationFrameDistance( 1.0 ),
|
||||
mLeftGridAnnotationDirection( Horizontal ), mRightGridAnnotationDirection( Horizontal ), mTopGridAnnotationDirection( Horizontal ),
|
||||
mBottomGridAnnotationDirection( Horizontal ), mGridFrameStyle( NoGridFrame ), mGridFrameWidth( 2.0 ), mGridFramePenThickness( 0.5 ),
|
||||
mGridFramePenColor( QColor( 0, 0, 0 ) ), mGridFrameFillColor1( Qt::white ), mGridFrameFillColor2( Qt::black ),
|
||||
mCrossLength( 3 ), mMapCanvas( 0 ), mDrawCanvasItems( true ), mAtlasDriven( false ), mAtlasFixedScale( false ), mAtlasMargin( 0.10 )
|
||||
: QgsComposerItem( 0, 0, 10, 10, composition ), mMapRotation( 0 ), mKeepLayerSet( false ), mOverviewFrameMapId( -1 )
|
||||
, mOverviewBlendMode( QPainter::CompositionMode_SourceOver ), mOverviewInverted( false ), mOverviewCentered( false )
|
||||
, mGridEnabled( false ), mGridStyle( Solid )
|
||||
, mGridIntervalX( 0.0 ), mGridIntervalY( 0.0 ), mGridOffsetX( 0.0 ), mGridOffsetY( 0.0 ), mGridAnnotationFontColor( QColor( 0, 0, 0 ) )
|
||||
, mGridAnnotationPrecision( 3 ), mShowGridAnnotation( false ), mGridBlendMode( QPainter::CompositionMode_SourceOver )
|
||||
, mLeftGridAnnotationPosition( OutsideMapFrame ), mRightGridAnnotationPosition( OutsideMapFrame )
|
||||
, mTopGridAnnotationPosition( OutsideMapFrame ), mBottomGridAnnotationPosition( OutsideMapFrame ), mAnnotationFrameDistance( 1.0 )
|
||||
, mLeftGridAnnotationDirection( Horizontal ), mRightGridAnnotationDirection( Horizontal ), mTopGridAnnotationDirection( Horizontal )
|
||||
, mBottomGridAnnotationDirection( Horizontal ), mGridFrameStyle( NoGridFrame ), mGridFrameWidth( 2.0 ), mGridFramePenThickness( 0.5 )
|
||||
, mGridFramePenColor( QColor( 0, 0, 0 ) ), mGridFrameFillColor1( Qt::white ), mGridFrameFillColor2( Qt::black )
|
||||
, mCrossLength( 3 ), mMapCanvas( 0 ), mDrawCanvasItems( true ), mAtlasDriven( false ), mAtlasFixedScale( false ), mAtlasMargin( 0.10 )
|
||||
{
|
||||
mOverviewFrameMapSymbol = 0;
|
||||
mGridLineSymbol = 0;
|
||||
|
@ -19,21 +19,25 @@
|
||||
#include "qgsdxfexport.h"
|
||||
#include "qgsmaplayerregistry.h"
|
||||
#include "qgspalgeometry.h"
|
||||
#include "qgsmapsettings.h"
|
||||
|
||||
#include "pal/pointset.h"
|
||||
#include "pal/labelposition.h"
|
||||
|
||||
using namespace pal;
|
||||
|
||||
QgsDxfPalLabeling::QgsDxfPalLabeling( QgsDxfExport* dxf, const QgsRectangle& bbox, double scale, QGis::UnitType mapUnits ): QgsPalLabeling(), mDxfExport( dxf )
|
||||
QgsDxfPalLabeling::QgsDxfPalLabeling( QgsDxfExport* dxf, const QgsRectangle& bbox, double scale, QGis::UnitType mapUnits )
|
||||
: QgsPalLabeling()
|
||||
, mDxfExport( dxf )
|
||||
{
|
||||
mMapRenderer.setExtent( bbox );
|
||||
QgsMapSettings settings;
|
||||
settings.setExtent( bbox );
|
||||
|
||||
int dpi = 96;
|
||||
double factor = 1000 * dpi / scale / 25.4 * QGis::fromUnitToUnitFactor( mapUnits, QGis::Meters );
|
||||
mMapRenderer.setOutputSize( QSizeF( bbox.width() * factor, bbox.height() * factor ), dpi );
|
||||
mMapRenderer.setScale( scale );
|
||||
mMapRenderer.setOutputUnits( QgsMapRenderer::Pixels );
|
||||
init( &mMapRenderer );
|
||||
settings.setOutputSize( QSize( bbox.width() * factor, bbox.height() * factor ) );
|
||||
settings.setOutputDpi( dpi );
|
||||
init( settings );
|
||||
|
||||
mImage = new QImage( 10, 10, QImage::Format_ARGB32_Premultiplied );
|
||||
mImage->setDotsPerMeterX( 96 / 25.4 * 1000 );
|
||||
|
@ -35,7 +35,6 @@ class CORE_EXPORT QgsDxfPalLabeling: public QgsPalLabeling
|
||||
|
||||
private:
|
||||
QgsDxfExport* mDxfExport;
|
||||
QgsMapRenderer mMapRenderer;
|
||||
QgsRenderContext mRenderContext;
|
||||
|
||||
//only used for render context
|
||||
|
@ -18,9 +18,24 @@
|
||||
#include "diagram/qgspiediagram.h"
|
||||
#include "diagram/qgshistogramdiagram.h"
|
||||
#include "qgsrendercontext.h"
|
||||
|
||||
#include <QDomElement>
|
||||
#include <QPainter>
|
||||
|
||||
QgsDiagramLayerSettings::QgsDiagramLayerSettings()
|
||||
: placement( AroundPoint )
|
||||
, placementFlags( OnLine )
|
||||
, priority( 5 )
|
||||
, obstacle( false )
|
||||
, dist( 0.0 )
|
||||
, renderer( 0 )
|
||||
, palLayer( 0 )
|
||||
, ct( 0 )
|
||||
, xform( 0 )
|
||||
, xPosColumn( -1 )
|
||||
, yPosColumn( -1 )
|
||||
{
|
||||
}
|
||||
|
||||
QgsDiagramLayerSettings::~QgsDiagramLayerSettings()
|
||||
{
|
||||
@ -254,7 +269,8 @@ void QgsDiagramSettings::writeXML( QDomElement& rendererElem, QDomDocument& doc,
|
||||
rendererElem.appendChild( categoryElem );
|
||||
}
|
||||
|
||||
QgsDiagramRendererV2::QgsDiagramRendererV2(): mDiagram( 0 )
|
||||
QgsDiagramRendererV2::QgsDiagramRendererV2()
|
||||
: mDiagram( 0 )
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -58,20 +58,7 @@ class CORE_EXPORT QgsDiagramLayerSettings
|
||||
MapOrientation = 8
|
||||
};
|
||||
|
||||
QgsDiagramLayerSettings()
|
||||
: placement( AroundPoint )
|
||||
, placementFlags( OnLine )
|
||||
, priority( 5 )
|
||||
, obstacle( false )
|
||||
, dist( 0.0 )
|
||||
, renderer( 0 )
|
||||
, palLayer( 0 )
|
||||
, ct( 0 )
|
||||
, xform( 0 )
|
||||
, xPosColumn( -1 )
|
||||
, yPosColumn( -1 )
|
||||
{
|
||||
}
|
||||
QgsDiagramLayerSettings();
|
||||
|
||||
~QgsDiagramLayerSettings();
|
||||
|
||||
|
@ -2220,6 +2220,8 @@ int QgsExpression::NodeBinaryOperator::precedence() const
|
||||
case boConcat:
|
||||
return 7;
|
||||
}
|
||||
Q_ASSERT( 0 && "unexpected binary operator" );
|
||||
return -1;
|
||||
}
|
||||
|
||||
QString QgsExpression::NodeBinaryOperator::dump() const
|
||||
|
@ -241,8 +241,8 @@ bool QgsFontUtils::loadStandardTestFonts( QStringList loadstyles )
|
||||
int fontID = QFontDatabase::addApplicationFont( fontPath );
|
||||
loaded = ( fontID != -1 );
|
||||
fontsLoaded = ( fontsLoaded || loaded );
|
||||
QgsDebugMsg( QString( "Test font '%1' %2 from filesystem" )
|
||||
.arg( familyStyle ).arg( loaded ? "loaded" : "FAILED to load" ) );
|
||||
QgsDebugMsg( QString( "Test font '%1' %2 from filesystem [%3]" )
|
||||
.arg( familyStyle ).arg( loaded ? "loaded" : "FAILED to load" ).arg( fontPath ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -649,14 +649,14 @@ LayerRenderJobs QgsMapRendererJob::prepareJobs( QPainter* painter, QgsPalLabelin
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
#if 0
|
||||
// TODO: split extent
|
||||
if ( split )
|
||||
{
|
||||
mRenderContext.setExtent( r2 );
|
||||
ml->draw( mRenderContext );
|
||||
}*/
|
||||
|
||||
}
|
||||
#endif
|
||||
} // while (li.hasPrevious())
|
||||
|
||||
return layerJobs;
|
||||
|
@ -61,7 +61,7 @@ class CORE_EXPORT QgsMapSettings
|
||||
ForceVectorOutput = 0x04,
|
||||
UseAdvancedEffects = 0x08,
|
||||
DrawLabeling = 0x10
|
||||
// TODO: ignore scale-based visibiity (overview)
|
||||
// TODO: ignore scale-based visibility (overview)
|
||||
};
|
||||
Q_DECLARE_FLAGS( Flags, Flag )
|
||||
|
||||
|
@ -30,7 +30,6 @@
|
||||
QgsRenderChecker::QgsRenderChecker( ) :
|
||||
mReport( "" ),
|
||||
mMatchTarget( 0 ),
|
||||
mpMapRenderer( NULL ),
|
||||
mElapsedTime( 0 ),
|
||||
mRenderedImageFile( "" ),
|
||||
mExpectedImageFile( "" ),
|
||||
@ -39,7 +38,6 @@ QgsRenderChecker::QgsRenderChecker( ) :
|
||||
mElapsedTimeTarget( 0 ),
|
||||
mControlPathPrefix( "" )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QString QgsRenderChecker::controlImagePath() const
|
||||
|
@ -121,7 +121,6 @@ class CORE_EXPORT QgsRenderChecker
|
||||
|
||||
QString mReport;
|
||||
unsigned int mMatchTarget;
|
||||
QgsMapRenderer * mpMapRenderer;
|
||||
int mElapsedTime;
|
||||
QString mRenderedImageFile;
|
||||
QString mExpectedImageFile;
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "qgsmaptopixel.h"
|
||||
#include "qgspallabeling.h"
|
||||
#include "qgsproject.h"
|
||||
#include "qgsmaprendererjob.h"
|
||||
|
||||
#include <QFile>
|
||||
#include <QPainter>
|
||||
@ -54,22 +55,20 @@ void QgsOsgEarthTileSource::initialize( const std::string& referenceURI, const P
|
||||
Q_UNUSED( overrideProfile );
|
||||
|
||||
setProfile( osgEarth::Registry::instance()->getGlobalGeodeticProfile() );
|
||||
QgsMapRenderer* mainRenderer = mQGisIface->mapCanvas()->mapRenderer();
|
||||
mMapRenderer = new QgsMapRenderer();
|
||||
|
||||
long epsgGlobe = 4326;
|
||||
if ( mainRenderer->destinationCrs().authid().compare( QString( "EPSG:%1" ).arg( epsgGlobe ), Qt::CaseInsensitive ) != 0 )
|
||||
if ( mQGisIface->mapCanvas()->mapSettings().destinationCrs().authid().compare( QString( "EPSG:%1" ).arg( epsgGlobe ), Qt::CaseInsensitive ) != 0 )
|
||||
{
|
||||
QgsCoordinateReferenceSystem srcCRS( mainRenderer->destinationCrs() ); //FIXME: crs from canvas or first layer?
|
||||
QgsCoordinateReferenceSystem srcCRS( mQGisIface->mapCanvas()->mapSettings().destinationCrs() ); //FIXME: crs from canvas or first layer?
|
||||
QgsCoordinateReferenceSystem destCRS;
|
||||
destCRS.createFromOgcWmsCrs( QString( "EPSG:%1" ).arg( epsgGlobe ) );
|
||||
//QgsProject::instance()->writeEntry("SpatialRefSys","/ProjectionsEnabled",1);
|
||||
mMapRenderer->setDestinationCrs( destCRS );
|
||||
mMapRenderer->setProjectionsEnabled( true );
|
||||
|
||||
mMapSettings.setDestinationCrs( destCRS );
|
||||
mMapSettings.setCrsTransformEnabled( true );
|
||||
mCoordTranform = new QgsCoordinateTransform( srcCRS, destCRS );
|
||||
}
|
||||
mMapRenderer->setOutputUnits( mainRenderer->outputUnits() );
|
||||
mMapRenderer->setMapUnits( QGis::Degrees );
|
||||
// mMapSettings.setOutputUnits( mQGisIface->mapCanvas()->mapSettings().outputUnits() );
|
||||
mMapSettings.setMapUnits( QGis::Degrees );
|
||||
|
||||
//mMapRenderer->setLabelingEngine( new QgsPalLabeling() );
|
||||
}
|
||||
@ -97,29 +96,21 @@ osg::Image* QgsOsgEarthTileSource::createImage( const TileKey& key, ProgressCall
|
||||
return 0;
|
||||
}
|
||||
|
||||
QImage* qImage = createQImage( target_width, target_height );
|
||||
if ( !qImage )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
mMapSettings.setOutputSize( QSize( tileSize, tileSize ) );
|
||||
mMapSettings.setExtent( QgsRectangle( xmin, ymin, xmax, ymax ) );
|
||||
mMapSettings.setLayers( mQGisIface->mapCanvas()->mapSettings().layers() );
|
||||
|
||||
QgsMapRenderer* mainRenderer = mQGisIface->mapCanvas()->mapRenderer();
|
||||
mMapRenderer->setLayerSet( mainRenderer->layerSet() );
|
||||
QgsMapRendererSequentialJob job( mMapSettings );
|
||||
job.start();
|
||||
job.waitForFinished();
|
||||
|
||||
mMapRenderer->setOutputSize( QSize( qImage->width(), qImage->height() ), qImage->logicalDpiX() );
|
||||
QImage qImage( job.renderedImage() );
|
||||
|
||||
QgsRectangle mapExtent( xmin, ymin, xmax, ymax );
|
||||
mMapRenderer->setExtent( mapExtent );
|
||||
|
||||
QPainter thePainter( qImage );
|
||||
//thePainter.setRenderHint(QPainter::Antialiasing); //make it look nicer
|
||||
mMapRenderer->render( &thePainter );
|
||||
|
||||
unsigned char* data = qImage->bits();
|
||||
unsigned char *data = qImage.bits();
|
||||
|
||||
image = new osg::Image;
|
||||
//The pixel format is always RGBA to support transparency
|
||||
image->setImage( qImage->width(), qImage->height(), 1,
|
||||
image->setImage( qImage.width(), qImage.height(), 1,
|
||||
4,
|
||||
GL_BGRA, GL_UNSIGNED_BYTE, //Why not GL_RGBA - QGIS bug?
|
||||
data,
|
||||
@ -135,52 +126,14 @@ osg::Image* QgsOsgEarthTileSource::createImage( const TileKey& key, ProgressCall
|
||||
return image.release();
|
||||
}
|
||||
|
||||
QImage* QgsOsgEarthTileSource::createQImage( int width, int height ) const
|
||||
{
|
||||
if ( width < 0 || height < 0 )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
QImage* qImage = 0;
|
||||
|
||||
//is format jpeg?
|
||||
bool jpeg = false;
|
||||
//transparent parameter
|
||||
bool transparent = true;
|
||||
|
||||
//use alpha channel only if necessary because it slows down performance
|
||||
if ( transparent && !jpeg )
|
||||
{
|
||||
qImage = new QImage( width, height, QImage::Format_ARGB32_Premultiplied );
|
||||
qImage->fill( 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
qImage = new QImage( width, height, QImage::Format_RGB32 );
|
||||
qImage->fill( qRgb( 255, 255, 255 ) );
|
||||
}
|
||||
|
||||
if ( !qImage )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
//apply DPI parameter if present.
|
||||
#if 0
|
||||
int dpm = dpi / 0.0254;
|
||||
qImage->setDotsPerMeterX( dpm );
|
||||
qImage->setDotsPerMeterY( dpm );
|
||||
#endif
|
||||
return qImage;
|
||||
}
|
||||
|
||||
bool QgsOsgEarthTileSource::intersects( const TileKey* key )
|
||||
{
|
||||
//Get the native extents of the tile
|
||||
double xmin, ymin, xmax, ymax;
|
||||
key->getExtent().getBounds( xmin, ymin, xmax, ymax );
|
||||
QgsRectangle extent = mQGisIface->mapCanvas()->fullExtent();
|
||||
if ( mCoordTranform ) extent = mCoordTranform->transformBoundingBox( extent );
|
||||
if ( mCoordTranform )
|
||||
extent = mCoordTranform->transformBoundingBox( extent );
|
||||
|
||||
return !( xmin >= extent.xMaximum() || xmax <= extent.xMinimum() || ymin >= extent.yMaximum() || ymax <= extent.yMinimum() );
|
||||
}
|
||||
|
@ -60,15 +60,12 @@ namespace osgEarth
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
QImage* createQImage( int width, int height ) const;
|
||||
bool intersects( const TileKey* key );
|
||||
|
||||
//! Pointer to the QGIS interface object
|
||||
QgisInterface *mQGisIface;
|
||||
QgsCoordinateTransform *mCoordTranform;
|
||||
QgsMapRenderer* mMapRenderer;
|
||||
|
||||
QgsMapSettings mMapSettings;
|
||||
};
|
||||
}
|
||||
} // namespace osgEarth::Drivers
|
||||
|
@ -115,7 +115,7 @@ ADD_QGIS_TEST(rectangletest testqgsrectangle.cpp)
|
||||
ADD_QGIS_TEST(composerscalebartest testqgscomposerscalebar.cpp )
|
||||
ADD_QGIS_TEST(ogcutilstest testqgsogcutils.cpp)
|
||||
ADD_QGIS_TEST(vectorlayercachetest testqgsvectorlayercache.cpp )
|
||||
ADD_QGIS_TEST(maprendererjobtest testmaprendererjob.cpp )
|
||||
# ADD_QGIS_TEST(maprendererjobtest testmaprendererjob.cpp )
|
||||
ADD_QGIS_TEST(spatialindextest testqgsspatialindex.cpp)
|
||||
ADD_QGIS_TEST(gradienttest testqgsgradients.cpp )
|
||||
ADD_QGIS_TEST(shapebursttest testqgsshapeburst.cpp )
|
||||
|
@ -25,14 +25,13 @@
|
||||
#include <QTime>
|
||||
#include <QDesktopServices>
|
||||
|
||||
|
||||
//qgis includes...
|
||||
#include <qgsrasterlayer.h>
|
||||
#include <qgsrasterbandstats.h>
|
||||
#include <qgsmaplayerregistry.h>
|
||||
#include <qgsapplication.h>
|
||||
#include <qgsmaprenderer.h>
|
||||
#include <qgsproviderregistry.h>
|
||||
#include <qgsmapsettings.h>
|
||||
|
||||
//qgis unit test includes
|
||||
#include <qgsrenderchecker.h>
|
||||
@ -55,15 +54,13 @@ class Regression992: public QObject
|
||||
bool render( QString theFileName );
|
||||
QString mTestDataDir;
|
||||
QgsRasterLayer * mpRasterLayer;
|
||||
QgsMapRenderer * mpMapRenderer;
|
||||
QgsMapSettings mMapSettings;
|
||||
QString mReport;
|
||||
};
|
||||
|
||||
//runs before all tests
|
||||
void Regression992::initTestCase()
|
||||
{
|
||||
mpMapRenderer = 0;
|
||||
|
||||
// init QGIS's paths - true means that all path will be inited from prefix
|
||||
QgsApplication::init();
|
||||
QgsApplication::showSettings();
|
||||
@ -92,10 +89,7 @@ void Regression992::initTestCase()
|
||||
myList << mpRasterLayer;
|
||||
QgsMapLayerRegistry::instance()->addMapLayers( myList );
|
||||
// add the test layer to the maprender
|
||||
mpMapRenderer = new QgsMapRenderer();
|
||||
QStringList myLayers;
|
||||
myLayers << mpRasterLayer->id();
|
||||
mpMapRenderer->setLayerSet( myLayers );
|
||||
mMapSettings.setLayers( QStringList() << mpRasterLayer->id() );
|
||||
mReport += "<h1>Regression 992 Test</h1>\n";
|
||||
mReport += "<p>See <a href=\"http://hub.qgis.org/issues/992\">"
|
||||
"redmine ticket 992</a> for more details.</p>";
|
||||
@ -114,15 +108,15 @@ void Regression992::cleanupTestCase()
|
||||
}
|
||||
|
||||
delete mpRasterLayer;
|
||||
delete mpMapRenderer;
|
||||
}
|
||||
|
||||
void Regression992::regression992()
|
||||
{
|
||||
mpMapRenderer->setExtent( mpRasterLayer->extent() );
|
||||
QgsMapSettings settings;
|
||||
settings.setExtent( mpRasterLayer->extent() );
|
||||
QgsRenderChecker myChecker;
|
||||
myChecker.setMapSettings( settings );
|
||||
myChecker.setControlName( "expected_rgbwcmyk01_YeGeo.jp2" );
|
||||
myChecker.setMapRenderer( mpMapRenderer );
|
||||
// allow up to 300 mismatched pixels
|
||||
bool myResultFlag = myChecker.runTest( "regression992", 400 );
|
||||
mReport += "\n\n\n" + myChecker.report();
|
||||
|
@ -121,7 +121,7 @@ void TestQgsComposerMap::grid()
|
||||
//mComposerMap->setShowGridAnnotation( true );
|
||||
mComposerMap->setGridPenWidth( 0.5 );
|
||||
mComposerMap->setGridPenColor( QColor( 0, 255, 0 ) );
|
||||
/*
|
||||
#if 0
|
||||
mComposerMap->setGridAnnotationPrecision( 0 );
|
||||
mComposerMap->setGridAnnotationPosition( QgsComposerMap::Disabled, QgsComposerMap::Left );
|
||||
mComposerMap->setGridAnnotationPosition( QgsComposerMap::OutsideMapFrame, QgsComposerMap::Right );
|
||||
@ -130,7 +130,7 @@ void TestQgsComposerMap::grid()
|
||||
mComposerMap->setGridAnnotationDirection( QgsComposerMap::Horizontal, QgsComposerMap::Right );
|
||||
mComposerMap->setGridAnnotationDirection( QgsComposerMap::Horizontal, QgsComposerMap::Bottom );
|
||||
mComposerMap->setAnnotationFontColor( QColor( 255, 0, 0, 150 ) );
|
||||
*/
|
||||
#endif
|
||||
mComposerMap->setGridBlendMode( QPainter::CompositionMode_Overlay );
|
||||
qWarning() << "grid annotation font: " << mComposerMap->gridAnnotationFont().toString() << " exactMatch:" << mComposerMap->gridAnnotationFont().exactMatch();
|
||||
QgsCompositionChecker checker( "composermap_grid", mComposition );
|
||||
|
@ -49,6 +49,7 @@ class TestQgsComposerPaper: public QObject
|
||||
QgsMarkerLineSymbolLayerV2* mMarkerLine;
|
||||
QgsFillSymbolV2* mFillSymbol;
|
||||
QgsFillSymbolV2* mMarkerLineSymbol;
|
||||
QgsMapSettings mMapSettings;
|
||||
// QgsSingleSymbolRendererV2* mSymbolRenderer;
|
||||
|
||||
};
|
||||
@ -59,7 +60,7 @@ void TestQgsComposerPaper::initTestCase()
|
||||
QgsApplication::initQgis();
|
||||
|
||||
//create empty composition
|
||||
mComposition = new QgsComposition( 0 );
|
||||
mComposition = new QgsComposition( mMapSettings );
|
||||
mComposition->setPaperSize( 297, 210 ); //A4 landscape
|
||||
|
||||
//setup simple fill
|
||||
|
@ -78,11 +78,11 @@ void TestQgsComposerRotation::initTestCase()
|
||||
|
||||
QgsMapLayerRegistry::instance()->addMapLayers( QList<QgsMapLayer*>() << mRasterLayer );
|
||||
|
||||
mMapRenderer = new QgsMapRenderer();
|
||||
mMapRenderer->setLayerSet( QStringList() << mRasterLayer->id() );
|
||||
mMapRenderer->setProjectionsEnabled( false );
|
||||
QgsMapSettings settings;
|
||||
settings.setLayers( QStringList() << mRasterLayer->id() );
|
||||
settings.setCrsTransformEnabled( false );
|
||||
|
||||
mComposition = new QgsComposition( mMapRenderer );
|
||||
mComposition = new QgsComposition( settings );
|
||||
mComposition->setPaperSize( 297, 210 ); //A4 landscape
|
||||
|
||||
mComposerRect = new QgsComposerShape( 70, 70, 150, 100, mComposition );
|
||||
|
@ -42,6 +42,7 @@
|
||||
//qgis test includes
|
||||
#include "qgsrenderchecker.h"
|
||||
#include "qgspallabeling.h"
|
||||
#include "qgsproject.h"
|
||||
|
||||
/** \ingroup UnitTests
|
||||
* This is a unit test for the vector layer class.
|
||||
@ -51,7 +52,7 @@ class TestQgsDiagramExpression: public QObject
|
||||
Q_OBJECT;
|
||||
private:
|
||||
bool mTestHasError;
|
||||
QgsMapRenderer * mMapRenderer;
|
||||
QgsMapSettings * mMapSettings;
|
||||
QgsVectorLayer * mPointsLayer;
|
||||
QgsComposition * mComposition;
|
||||
QString mTestDataDir;
|
||||
@ -94,10 +95,14 @@ class TestQgsDiagramExpression: public QObject
|
||||
mPieDiagram = new QgsPieDiagram();
|
||||
|
||||
// Create map composition to draw on
|
||||
mMapRenderer = new QgsMapRenderer();
|
||||
mMapRenderer->setLayerSet( QStringList() << mPointsLayer->id() );
|
||||
mMapRenderer->setLabelingEngine( new QgsPalLabeling() );
|
||||
mComposition = new QgsComposition( mMapRenderer );
|
||||
|
||||
mMapSettings = new QgsMapSettings();
|
||||
|
||||
mMapSettings->setLayers( QStringList() << mPointsLayer->id() );
|
||||
mMapSettings->setFlag( QgsMapSettings::DrawLabeling );
|
||||
QgsProject::instance()->writeEntry( "PAL", "/ShowingAllLabels", true );
|
||||
|
||||
mComposition = new QgsComposition( *mMapSettings );
|
||||
mComposition->setPaperSize( 297, 210 ); // A4 landscape
|
||||
mComposerMap = new QgsComposerMap( mComposition, 20, 20, 200, 100 );
|
||||
mComposerMap->setFrameEnabled( true );
|
||||
@ -120,12 +125,11 @@ class TestQgsDiagramExpression: public QObject
|
||||
|
||||
delete mComposerMap;
|
||||
delete mComposition;
|
||||
delete mMapRenderer;
|
||||
delete mPointsLayer;
|
||||
// delete mPointsLayer;
|
||||
}
|
||||
|
||||
void init() {};// will be called before each testfunction is executed.
|
||||
void cleanup() {};// will be called after every testfunction.
|
||||
void init() {} // will be called before each testfunction is executed.
|
||||
void cleanup() {} // will be called after every testfunction.
|
||||
|
||||
// will be called after the last testfunction was executed.
|
||||
void testPieDiagramExpression()
|
||||
@ -147,7 +151,6 @@ class TestQgsDiagramExpression: public QObject
|
||||
ds.size = QSizeF( 15, 15 );
|
||||
ds.angleOffset = 0;
|
||||
|
||||
|
||||
QgsLinearlyInterpolatedDiagramRenderer *dr = new QgsLinearlyInterpolatedDiagramRenderer();
|
||||
dr->setLowerValue( 0.0 );
|
||||
dr->setLowerSize( QSizeF( 0.0, 0.0 ) );
|
||||
@ -157,22 +160,18 @@ class TestQgsDiagramExpression: public QObject
|
||||
dr->setClassificationAttributeExpression( "ln(Staff + 1)" );
|
||||
dr->setDiagram( mPieDiagram );
|
||||
dr->setDiagramSettings( ds );
|
||||
mPointsLayer->setDiagramRenderer( dr );
|
||||
|
||||
QgsDiagramLayerSettings dls = QgsDiagramLayerSettings();
|
||||
dls.placement = QgsDiagramLayerSettings::OverPoint;
|
||||
dls.renderer = dr;
|
||||
|
||||
dynamic_cast<QgsPalLabeling*>( mMapRenderer->labelingEngine() )->setShowingAllLabels( true );
|
||||
// dls.setRenderer( dr );
|
||||
|
||||
mPointsLayer->setDiagramRenderer( dr );
|
||||
mPointsLayer->setDiagramLayerSettings( dls );
|
||||
|
||||
mComposerMap->setNewExtent( QgsRectangle( -122, -79, -70, 47 ) );
|
||||
QgsCompositionChecker checker( "piediagram_expression", mComposition );
|
||||
|
||||
QVERIFY( checker.testComposition( mReport ) );
|
||||
|
||||
mPointsLayer->setDiagramRenderer( 0 );
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -65,7 +65,7 @@ class TestQgsGradients: public QObject
|
||||
bool mTestHasError;
|
||||
bool setQml( QString theType );
|
||||
bool imageCheck( QString theType );
|
||||
QgsMapRenderer * mpMapRenderer;
|
||||
QgsMapSettings mMapSettings;
|
||||
QgsVectorLayer * mpPolysLayer;
|
||||
QgsGradientFillSymbolLayerV2* mGradientFill;
|
||||
QgsFillSymbolV2* mFillSymbol;
|
||||
@ -114,10 +114,7 @@ void TestQgsGradients::initTestCase()
|
||||
// since maprender does not require a qui
|
||||
// and is more light weight
|
||||
//
|
||||
mpMapRenderer = new QgsMapRenderer();
|
||||
QStringList myLayers;
|
||||
myLayers << mpPolysLayer->id();
|
||||
mpMapRenderer->setLayerSet( myLayers );
|
||||
mMapSettings.setLayers( QStringList() << mpPolysLayer->id() );
|
||||
mReport += "<h1>Gradient Renderer Tests</h1>\n";
|
||||
|
||||
}
|
||||
@ -280,10 +277,10 @@ bool TestQgsGradients::imageCheck( QString theTestType )
|
||||
{
|
||||
//use the QgsRenderChecker test utility class to
|
||||
//ensure the rendered output matches our control image
|
||||
mpMapRenderer->setExtent( mpPolysLayer->extent() );
|
||||
mMapSettings.setExtent( mpPolysLayer->extent() );
|
||||
QgsRenderChecker myChecker;
|
||||
myChecker.setControlName( "expected_" + theTestType );
|
||||
myChecker.setMapRenderer( mpMapRenderer );
|
||||
myChecker.setMapSettings( mMapSettings );
|
||||
bool myResultFlag = myChecker.runTest( theTestType );
|
||||
mReport += myChecker.report();
|
||||
return myResultFlag;
|
||||
|
@ -66,7 +66,7 @@ class TestQgsMapRenderer: public QObject
|
||||
QgsVectorFileWriter::WriterError mError;
|
||||
QgsCoordinateReferenceSystem mCRS;
|
||||
QgsFields mFields;
|
||||
QgsMapRenderer * mpMapRenderer;
|
||||
QgsMapSettings mMapSettings;
|
||||
QgsMapLayer * mpPolysLayer;
|
||||
QString mReport;
|
||||
};
|
||||
@ -165,8 +165,7 @@ void TestQgsMapRenderer::initTestCase()
|
||||
// Register the layer with the registry
|
||||
QgsMapLayerRegistry::instance()->addMapLayers( QList<QgsMapLayer *>() << mpPolysLayer );
|
||||
// add the test layer to the maprender
|
||||
mpMapRenderer = new QgsMapRenderer();
|
||||
mpMapRenderer->setLayerSet( QStringList( mpPolysLayer->id() ) );
|
||||
mMapSettings.setLayers( QStringList() << mpPolysLayer->id() );
|
||||
mReport += "<h1>Map Render Tests</h1>\n";
|
||||
}
|
||||
|
||||
@ -185,10 +184,11 @@ void TestQgsMapRenderer::cleanupTestCase()
|
||||
|
||||
void TestQgsMapRenderer::performanceTest()
|
||||
{
|
||||
mpMapRenderer->setExtent( mpPolysLayer->extent() );
|
||||
mMapSettings.setExtent( mpPolysLayer->extent() );
|
||||
QgsRenderChecker myChecker;
|
||||
myChecker.setControlName( "expected_maprender" );
|
||||
myChecker.setMapRenderer( mpMapRenderer );
|
||||
mMapSettings.setFlag( QgsMapSettings::Antialiasing );
|
||||
myChecker.setMapSettings( mMapSettings );
|
||||
bool myResultFlag = myChecker.runTest( "maprender" );
|
||||
mReport += myChecker.report();
|
||||
QVERIFY( myResultFlag );
|
||||
|
@ -82,7 +82,7 @@ class TestQgsRasterLayer: public QObject
|
||||
QgsRasterLayer * mpRasterLayer;
|
||||
QgsRasterLayer * mpLandsatRasterLayer;
|
||||
QgsRasterLayer * mpFloat32RasterLayer;
|
||||
QgsMapRenderer * mpMapRenderer;
|
||||
QgsMapSettings mMapSettings;
|
||||
QString mReport;
|
||||
};
|
||||
|
||||
@ -143,10 +143,7 @@ void TestQgsRasterLayer::initTestCase()
|
||||
QList<QgsMapLayer *>() << mpFloat32RasterLayer );
|
||||
|
||||
// add the test layer to the maprender
|
||||
mpMapRenderer = new QgsMapRenderer();
|
||||
QStringList myLayers;
|
||||
myLayers << mpRasterLayer->id();
|
||||
mpMapRenderer->setLayerSet( myLayers );
|
||||
mMapSettings.setLayers( QStringList() << mpRasterLayer->id() );
|
||||
mReport += "<h1>Raster Layer Tests</h1>\n";
|
||||
mReport += "<p>" + mySettings + "</p>";
|
||||
}
|
||||
@ -168,7 +165,7 @@ void TestQgsRasterLayer::isValid()
|
||||
{
|
||||
QVERIFY( mpRasterLayer->isValid() );
|
||||
mpRasterLayer->setContrastEnhancement( QgsContrastEnhancement::StretchToMinimumMaximum, QgsRaster::ContrastEnhancementMinMax );
|
||||
mpMapRenderer->setExtent( mpRasterLayer->extent() );
|
||||
mMapSettings.setExtent( mpRasterLayer->extent() );
|
||||
QVERIFY( render( "raster" ) );
|
||||
}
|
||||
|
||||
@ -201,7 +198,7 @@ void TestQgsRasterLayer::pseudoColor()
|
||||
rasterShader->setRasterShaderFunction( colorRampShader );
|
||||
QgsSingleBandPseudoColorRenderer* r = new QgsSingleBandPseudoColorRenderer( mpRasterLayer->dataProvider(), 1, rasterShader );
|
||||
mpRasterLayer->setRenderer( r );
|
||||
mpMapRenderer->setExtent( mpRasterLayer->extent() );
|
||||
mMapSettings.setExtent( mpRasterLayer->extent() );
|
||||
QVERIFY( render( "raster_pseudo" ) );
|
||||
}
|
||||
|
||||
@ -262,7 +259,7 @@ bool TestQgsRasterLayer::testColorRamp( QString name, QgsVectorColorRampV2* colo
|
||||
rasterShader->setRasterShaderFunction( colorRampShader );
|
||||
QgsSingleBandPseudoColorRenderer* r = new QgsSingleBandPseudoColorRenderer( mpRasterLayer->dataProvider(), 1, rasterShader );
|
||||
mpRasterLayer->setRenderer( r );
|
||||
mpMapRenderer->setExtent( mpRasterLayer->extent() );
|
||||
mMapSettings.setExtent( mpRasterLayer->extent() );
|
||||
return render( name );
|
||||
}
|
||||
|
||||
@ -306,20 +303,16 @@ void TestQgsRasterLayer::colorRamp4()
|
||||
void TestQgsRasterLayer::landsatBasic()
|
||||
{
|
||||
mpLandsatRasterLayer->setContrastEnhancement( QgsContrastEnhancement::StretchToMinimumMaximum, QgsRaster::ContrastEnhancementMinMax );
|
||||
QStringList myLayers;
|
||||
myLayers << mpLandsatRasterLayer->id();
|
||||
mpMapRenderer->setLayerSet( myLayers );
|
||||
mpMapRenderer->setExtent( mpLandsatRasterLayer->extent() );
|
||||
mMapSettings.setLayers( QStringList() << mpLandsatRasterLayer->id() );
|
||||
mMapSettings.setExtent( mpLandsatRasterLayer->extent() );
|
||||
QVERIFY( render( "landsat_basic" ) );
|
||||
}
|
||||
|
||||
void TestQgsRasterLayer::landsatBasic875Qml()
|
||||
{
|
||||
//a qml that orders the rgb bands as 8,7,5
|
||||
QStringList myLayers;
|
||||
myLayers << mpLandsatRasterLayer->id();
|
||||
mpMapRenderer->setLayerSet( myLayers );
|
||||
mpMapRenderer->setExtent( mpLandsatRasterLayer->extent() );
|
||||
mMapSettings.setLayers( QStringList() << mpLandsatRasterLayer->id() );
|
||||
mMapSettings.setExtent( mpLandsatRasterLayer->extent() );
|
||||
QVERIFY( setQml( "875" ) );
|
||||
QVERIFY( render( "landsat_875" ) );
|
||||
}
|
||||
@ -432,7 +425,7 @@ bool TestQgsRasterLayer::render( QString theTestType )
|
||||
mReport += "<h2>" + theTestType + "</h2>\n";
|
||||
QgsRenderChecker myChecker;
|
||||
myChecker.setControlName( "expected_" + theTestType );
|
||||
myChecker.setMapRenderer( mpMapRenderer );
|
||||
myChecker.setMapSettings( mMapSettings );
|
||||
bool myResultFlag = myChecker.runTest( theTestType );
|
||||
mReport += "\n\n\n" + myChecker.report();
|
||||
return myResultFlag;
|
||||
@ -489,11 +482,8 @@ void TestQgsRasterLayer::transparency()
|
||||
QVERIFY( rasterRenderer != 0 );
|
||||
rasterRenderer->setRasterTransparency( rasterTransparency );
|
||||
|
||||
QStringList myLayers;
|
||||
myLayers << mpFloat32RasterLayer->id();
|
||||
mpMapRenderer->setLayerSet( myLayers );
|
||||
|
||||
mpMapRenderer->setExtent( mpFloat32RasterLayer->extent() );
|
||||
mMapSettings.setLayers( QStringList() << mpFloat32RasterLayer->id() );
|
||||
mMapSettings.setExtent( mpFloat32RasterLayer->extent() );
|
||||
QVERIFY( render( "raster_transparency" ) );
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ class TestQgsRenderers: public QObject
|
||||
bool mTestHasError;
|
||||
bool setQml( QString theType ); //uniquevalue / continuous / single /
|
||||
bool imageCheck( QString theType ); //as above
|
||||
QgsMapRenderer * mpMapRenderer;
|
||||
QgsMapSettings mMapSettings;
|
||||
QgsMapLayer * mpPointsLayer;
|
||||
QgsMapLayer * mpLinesLayer;
|
||||
QgsMapLayer * mpPolysLayer;
|
||||
@ -113,12 +113,8 @@ void TestQgsRenderers::initTestCase()
|
||||
// since maprender does not require a qui
|
||||
// and is more light weight
|
||||
//
|
||||
mpMapRenderer = new QgsMapRenderer();
|
||||
QStringList myLayers;
|
||||
myLayers << mpPointsLayer->id();
|
||||
myLayers << mpPolysLayer->id();
|
||||
myLayers << mpLinesLayer->id();
|
||||
mpMapRenderer->setLayerSet( myLayers );
|
||||
mMapSettings.setLayers(
|
||||
QStringList() << mpPointsLayer->id() << mpPolysLayer->id() << mpLinesLayer->id() );
|
||||
mReport += "<h1>Vector Renderer Tests</h1>\n";
|
||||
}
|
||||
void TestQgsRenderers::cleanupTestCase()
|
||||
@ -214,11 +210,11 @@ bool TestQgsRenderers::imageCheck( QString theTestType )
|
||||
// the same wrong value is reported by ogrinfo). Since QGIS 2.1, the provider
|
||||
// gives correct extent. Forced to fixed extend however to avoid problems in future.
|
||||
QgsRectangle extent( -118.8888888888887720, 22.8002070393376783, -83.3333333333331581, 46.8719806763287536 );
|
||||
mpMapRenderer->setExtent( extent );
|
||||
mpMapRenderer->rendererContext()->setForceVectorOutput( true );
|
||||
mMapSettings.setExtent( extent );
|
||||
mMapSettings.setFlag( QgsMapSettings::ForceVectorOutput );
|
||||
QgsRenderChecker myChecker;
|
||||
myChecker.setControlName( "expected_" + theTestType );
|
||||
myChecker.setMapRenderer( mpMapRenderer );
|
||||
myChecker.setMapSettings( mMapSettings );
|
||||
myChecker.setColorTolerance( 15 );
|
||||
bool myResultFlag = myChecker.runTest( theTestType );
|
||||
mReport += myChecker.report();
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
#include <iostream>
|
||||
//qgis includes...
|
||||
#include <qgsmaprenderer.h>
|
||||
#include <qgsmapsettings.h>
|
||||
#include <qgsmaplayer.h>
|
||||
#include <qgsvectorlayer.h>
|
||||
#include <qgsapplication.h>
|
||||
@ -62,7 +62,7 @@ class TestQgsShapeburst: public QObject
|
||||
bool mTestHasError;
|
||||
bool setQml( QString theType );
|
||||
bool imageCheck( QString theType );
|
||||
QgsMapRenderer * mpMapRenderer;
|
||||
QgsMapSettings mMapSettings;
|
||||
QgsVectorLayer * mpPolysLayer;
|
||||
QgsShapeburstFillSymbolLayerV2* mShapeburstFill;
|
||||
QgsFillSymbolV2* mFillSymbol;
|
||||
@ -111,10 +111,7 @@ void TestQgsShapeburst::initTestCase()
|
||||
// since maprender does not require a qui
|
||||
// and is more light weight
|
||||
//
|
||||
mpMapRenderer = new QgsMapRenderer();
|
||||
QStringList myLayers;
|
||||
myLayers << mpPolysLayer->id();
|
||||
mpMapRenderer->setLayerSet( myLayers );
|
||||
mMapSettings.setLayers( QStringList() << mpPolysLayer->id() );
|
||||
mReport += "<h1>Shapeburst Renderer Tests</h1>\n";
|
||||
|
||||
}
|
||||
@ -235,10 +232,10 @@ bool TestQgsShapeburst::imageCheck( QString theTestType )
|
||||
{
|
||||
//use the QgsRenderChecker test utility class to
|
||||
//ensure the rendered output matches our control image
|
||||
mpMapRenderer->setExtent( mpPolysLayer->extent() );
|
||||
mMapSettings.setExtent( mpPolysLayer->extent() );
|
||||
QgsRenderChecker myChecker;
|
||||
myChecker.setControlName( "expected_" + theTestType );
|
||||
myChecker.setMapRenderer( mpMapRenderer );
|
||||
myChecker.setMapSettings( mMapSettings );
|
||||
bool myResultFlag = myChecker.runTest( theTestType );
|
||||
mReport += myChecker.report();
|
||||
return myResultFlag;
|
||||
|
@ -95,6 +95,7 @@ class TestQgsComposerMap(TestCase):
|
||||
QgsComposerMap.Bottom)
|
||||
self.mComposerMap.setAnnotationFontColor(QColor(255,0,0,150))
|
||||
self.mComposerMap.setGridBlendMode(QPainter.CompositionMode_Overlay)
|
||||
self.mComposerMap.setShowGridAnnotation(False)
|
||||
checker = QgsCompositionChecker('composermap_grid', self.mComposition)
|
||||
myTestResult, myMessage = checker.testComposition()
|
||||
self.mComposerMap.setGridEnabled(False)
|
||||
|
Loading…
x
Reference in New Issue
Block a user