void QgsMapOverviewCanvas::refresh() { updateFullExtent(); if ( !mSettings.hasValidSettings() ) { mPixmap = QPixmap(); update(); return; // makes no sense to render anything } if ( mJob ) { QgsDebugMsg( "oveview - cancelling old" ); mJob->cancel(); QgsDebugMsg( "oveview - deleting old" ); delete mJob; // get rid of previous job (if any) } QgsDebugMsg( "oveview - starting new" ); // TODO: setup overview mode mJob = new QgsMapRendererSequentialJob( mSettings ); connect( mJob, SIGNAL( finished() ), this, SLOT( mapRenderingFinished() ) ); mJob->start(); setBackgroundColor( mMapCanvas->mapSettings().backgroundColor() ); // schedule repaint update(); // update panning widget drawExtentRect(); }
void QgsMapOverviewCanvas::refresh() { if ( mPixmap.isNull() || mPixmap.paintingActive() ) return; mPixmap.fill( mBgColor ); //palette().color(backgroundRole()); QPainter painter; painter.begin( &mPixmap ); // antialiasing if ( mAntiAliasing ) painter.setRenderHint( QPainter::Antialiasing ); // render image mMapRenderer->render( &painter ); painter.end(); // schedule repaint update(); // update panning widget drawExtentRect(); }
QgsMapOverviewCanvas::QgsMapOverviewCanvas( QWidget * parent, QgsMapCanvas* mapCanvas ) : QWidget( parent ) , mMapCanvas( mapCanvas ) , mJob( 0 ) { setObjectName( "theOverviewCanvas" ); mPanningWidget = new QgsPanningWidget( this ); mSettings.setFlag( QgsMapSettings::DrawLabeling, false ); connect( mMapCanvas, SIGNAL( extentsChanged() ), this, SLOT( drawExtentRect() ) ); }
void QgsMapOverviewCanvas::updateFullExtent() { QgsRectangle rect; if ( mSettings.hasValidSettings() ) rect = mSettings.fullExtent(); else rect = mMapCanvas->fullExtent(); // expand a bit to keep features on margin rect.scale( 1.1 ); mSettings.setExtent( rect ); drawExtentRect(); }
void QgsMapOverviewCanvas::updateFullExtent( const QgsRectangle& rect ) { mMapRenderer->setExtent( rect ); drawExtentRect(); }