[QGIS Commit] r11275 - in trunk/qgis/src: core core/renderer
core/symbology providers/osm
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Wed Aug 5 11:22:00 EDT 2009
Author: homann
Date: 2009-08-05 11:22:00 -0400 (Wed, 05 Aug 2009)
New Revision: 11275
Modified:
trunk/qgis/src/core/qgsvectorlayer.cpp
trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.cpp
trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.h
trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.cpp
trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.h
trunk/qgis/src/core/renderer/qgsrenderer.h
trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.cpp
trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.h
trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp
trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.h
trunk/qgis/src/core/symbology/qgsmarkercatalogue.cpp
trunk/qgis/src/core/symbology/qgsmarkercatalogue.h
trunk/qgis/src/core/symbology/qgssymbol.cpp
trunk/qgis/src/core/symbology/qgssymbol.h
trunk/qgis/src/providers/osm/osmrenderer.cpp
trunk/qgis/src/providers/osm/osmrenderer.h
Log:
Made point symbols respect the layer transparency setting. Fixes #1220
Modified: trunk/qgis/src/core/qgsvectorlayer.cpp
===================================================================
--- trunk/qgis/src/core/qgsvectorlayer.cpp 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/qgsvectorlayer.cpp 2009-08-05 15:22:00 UTC (rev 11275)
@@ -739,8 +739,14 @@
//QgsDebugMsg(QString("markerScale before renderFeature(): %1").arg(markerScaleFactor));
// markerScalerFactore reflects the wanted scaling of the marker
- mRenderer->renderFeature( rendererContext, fet, &marker, sel );
+ double opacity = 1.0;
+ if ( !mRenderer->usesTransparency() )
+ {
+ opacity = ( mTransparencyLevel * 1.0) / 255.0;
+ }
+ mRenderer->renderFeature( rendererContext, fet, &marker, sel, opacity );
+
// markerScalerFactore now reflects the actual scaling of the marker that the render performed.
//QgsDebugMsg(QString("markerScale after renderFeature(): %1").arg(markerScaleFactor));
Modified: trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.cpp 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.cpp 2009-08-05 15:22:00 UTC (rev 11275)
@@ -74,7 +74,7 @@
mMaximumSymbol = sy;
}
-void QgsContinuousColorRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature & f, QImage* img, bool selected )
+void QgsContinuousColorRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature & f, QImage* img, bool selected, double opacity )
{
QPainter *p = renderContext.painter();
@@ -148,7 +148,9 @@
brush.setStyle( Qt::SolidPattern );
*img = QgsMarkerCatalogue::instance()->imageMarker( mMinimumSymbol->pointSymbolName(),
- mMinimumSymbol->pointSize() * renderContext.scaleFactor() * renderContext.rasterScaleFactor(), pen, brush );
+ mMinimumSymbol->pointSize() * renderContext.scaleFactor() * renderContext.rasterScaleFactor(),
+ pen, brush, opacity );
+
}
else if ( mGeometryType == QGis::Line )
{
Modified: trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.h
===================================================================
--- trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.h 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.h 2009-08-05 15:22:00 UTC (rev 11275)
@@ -38,7 +38,7 @@
/**Renders the feature using the minimum and maximum value of the classification field
* added in 1.2 */
- void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected );
+ void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected, double opacity = 1.0 );
/**Returns the number of the classification field*/
int classificationField() const;
Modified: trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.cpp 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.cpp 2009-08-05 15:22:00 UTC (rev 11275)
@@ -116,7 +116,7 @@
return ( symbolForFeature( f ) != 0 );
}
-void QgsGraduatedSymbolRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature & f, QImage* img, bool selected )
+void QgsGraduatedSymbolRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature & f, QImage* img, bool selected, double opacity )
{
QPainter *p = renderContext.painter();
QgsSymbol* theSymbol = symbolForFeature( &f );
@@ -165,7 +165,8 @@
oldName = theSymbol->pointSymbolName();
theSymbol->setNamedPointSymbol( name );
}
- *img = theSymbol->getPointSymbolAsImage( renderContext.scaleFactor(), selected, mSelectionColor, fieldScale, rotation, renderContext.rasterScaleFactor() );
+ *img = theSymbol->getPointSymbolAsImage( renderContext.scaleFactor(), selected, mSelectionColor, fieldScale,
+ rotation, renderContext.rasterScaleFactor(), opacity );
if ( !oldName.isNull() )
{
Modified: trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.h
===================================================================
--- trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.h 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.h 2009-08-05 15:22:00 UTC (rev 11275)
@@ -71,7 +71,7 @@
\param f a pointer to a feature to render
\param t the transform object containing the information how to transform the map coordinates to screen coordinates
\note added in 1.2 */
- void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected );
+ void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected, double opacity = 1.0 );
/**Sets the classicifation field by index
\param field the number of the field to classify*/
Modified: trunk/qgis/src/core/renderer/qgsrenderer.h
===================================================================
--- trunk/qgis/src/core/renderer/qgsrenderer.h 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgsrenderer.h 2009-08-05 15:22:00 UTC (rev 11275)
@@ -72,7 +72,11 @@
/**A vector layer passes features to a renderer object to change the brush and pen of the qpainter
@note added in 1.2 */
- virtual void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* pic, bool selected ) = 0;
+ //void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* pic, bool selected )
+ //{
+ // void renderFeature( renderContext, f, pic, selected, 255);
+ //}
+ virtual void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* pic, bool selected, double opacity = 1.0 ) = 0;
/**Reads the renderer configuration from an XML file
@param rnode the Dom node to read
Modified: trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.cpp 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.cpp 2009-08-05 15:22:00 UTC (rev 11275)
@@ -94,7 +94,7 @@
updateSymbolAttributes();
}
-void QgsSingleSymbolRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature & f, QImage* img, bool selected )
+void QgsSingleSymbolRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature & f, QImage* img, bool selected, double opacity )
{
QPainter *p = renderContext.painter();
@@ -156,7 +156,7 @@
scale *= ( x2 - x1 ) * 0.001;
}
- *img = sy->getPointSymbolAsImage( scale, selected, mSelectionColor, fieldScale, rotation, renderContext.rasterScaleFactor() );
+ *img = sy->getPointSymbolAsImage( scale, selected, mSelectionColor, fieldScale, rotation, renderContext.rasterScaleFactor(), opacity );
}
// Line, polygon
Modified: trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.h
===================================================================
--- trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.h 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.h 2009-08-05 15:22:00 UTC (rev 11275)
@@ -40,7 +40,7 @@
/**Renders a feature
* added in 1.2 */
- void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected );
+ void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected, double opacity = 1.0 );
/**Reads the renderer configuration from an XML file
@param rnode the Dom node to read
Modified: trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp 2009-08-05 15:22:00 UTC (rev 11275)
@@ -105,7 +105,7 @@
return ( symbolForFeature( f ) != 0 );
}
-void QgsUniqueValueRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected )
+void QgsUniqueValueRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected, double opacity )
{
QPainter *p = renderContext.painter();
QgsSymbol* symbol = symbolForFeature( &f );
@@ -152,7 +152,8 @@
}
*img = symbol->getPointSymbolAsImage( renderContext.scaleFactor(), selected, mSelectionColor,
- fieldScale, rotation, renderContext.rasterScaleFactor() );
+ fieldScale, rotation, renderContext.rasterScaleFactor(),
+ opacity );
if ( !oldName.isNull() )
{
symbol->setNamedPointSymbol( oldName );
Modified: trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.h
===================================================================
--- trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.h 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.h 2009-08-05 15:22:00 UTC (rev 11275)
@@ -34,7 +34,7 @@
/** Render feature
* added in 1.2 */
- void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected );
+ void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* img, bool selected, double opacity = 1.0 );
/**Reads the renderer configuration from an XML file
@param rnode the Dom node to read
Modified: trunk/qgis/src/core/symbology/qgsmarkercatalogue.cpp
===================================================================
--- trunk/qgis/src/core/symbology/qgsmarkercatalogue.cpp 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/symbology/qgsmarkercatalogue.cpp 2009-08-05 15:22:00 UTC (rev 11275)
@@ -113,7 +113,7 @@
return QgsMarkerCatalogue::mMarkerCatalogue;
}
-QImage QgsMarkerCatalogue::imageMarker( QString fullName, double size, QPen pen, QBrush brush, bool qtBug )
+QImage QgsMarkerCatalogue::imageMarker( QString fullName, double size, QPen pen, QBrush brush, double opacity )
{
//
@@ -149,6 +149,7 @@
QPainter myPainter;
myPainter.begin( &myImage );
myPainter.setRenderHint( QPainter::Antialiasing );
+ myPainter.setOpacity( opacity );
//
// Now pass the paintdevice along to have the marker rendered on it
@@ -182,7 +183,7 @@
if ( fullName.startsWith( "hard:" ) )
{
- hardMarker( &myPainter, imageSize, fullName.mid( 5 ), size, pen, brush, qtBug );
+ hardMarker( &myPainter, imageSize, fullName.mid( 5 ), size, pen, brush);
#ifdef IMAGEDEBUG
QgsDebugMsg( "*** Saving hard marker to hardMarker.png ***" );
#ifdef QGISDEBUG
@@ -195,7 +196,7 @@
return QImage(); // empty
}
-QPicture QgsMarkerCatalogue::pictureMarker( QString fullName, double size, QPen pen, QBrush brush, bool qtBug )
+QPicture QgsMarkerCatalogue::pictureMarker( QString fullName, double size, QPen pen, QBrush brush, double opacity)
{
//
@@ -218,6 +219,7 @@
QPainter myPainter( &myPicture );
myPainter.setRenderHint( QPainter::Antialiasing );
+ myPainter.setOpacity( opacity );
//
// Now pass the paintdevice along to have the marker rndered on it
@@ -233,7 +235,7 @@
if ( fullName.left( 5 ) == "hard:" )
{
- hardMarker( &myPainter, ( int ) size, fullName.mid( 5 ), size, pen, brush, qtBug );
+ hardMarker( &myPainter, ( int ) size, fullName.mid( 5 ), size, pen, brush );
return myPicture;
}
@@ -285,7 +287,7 @@
return true;
}
-void QgsMarkerCatalogue::hardMarker( QPainter * thepPainter, int imageSize, QString name, double s, QPen pen, QBrush brush, bool qtBug )
+void QgsMarkerCatalogue::hardMarker( QPainter * thepPainter, int imageSize, QString name, double s, QPen pen, QBrush brush )
{
// Size of polygon symbols is calculated so that the boundingbox is circumscribed
// around a circle with diameter mPointSize
Modified: trunk/qgis/src/core/symbology/qgsmarkercatalogue.h
===================================================================
--- trunk/qgis/src/core/symbology/qgsmarkercatalogue.h 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/symbology/qgsmarkercatalogue.h 2009-08-05 15:22:00 UTC (rev 11275)
@@ -43,12 +43,12 @@
/** Returns pixmap of the marker
* \param fullName full name, e.g. hard:circle, svg:/home/usr1/marker1.svg
*/
- QImage imageMarker( QString fullName, double size, QPen pen, QBrush brush, bool qtBug = true );
+ QImage imageMarker( QString fullName, double size, QPen pen, QBrush brush, double opacity = 1.0);
/** Returns qpicture of the marker
* \param fullName full name, e.g. hard:circle, svg:/home/usr1/marker1.svg
*/
- QPicture pictureMarker( QString fullName, double size, QPen pen, QBrush brush, bool qtBug = true );
+ QPicture pictureMarker( QString fullName, double size, QPen pen, QBrush brush, double opacity = 1.0 );
/** Returns a pixmap given a file name of a svg marker
* NOTE: this method needs to be public static for QgsMarkerDialog::visualizeMarkers */
@@ -71,7 +71,7 @@
QStringList mList;
/** Hard coded */
- void hardMarker( QPainter * thepPainter, int imageSize, QString name, double size, QPen pen, QBrush brush, bool qtBug = true );
+ void hardMarker( QPainter * thepPainter, int imageSize, QString name, double size, QPen pen, QBrush brush );
bool fontMarker( QPainter * thepPainter, QString name, double size );
Modified: trunk/qgis/src/core/symbology/qgssymbol.cpp
===================================================================
--- trunk/qgis/src/core/symbology/qgssymbol.cpp 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/symbology/qgssymbol.cpp 2009-08-05 15:22:00 UTC (rev 11275)
@@ -352,19 +352,19 @@
return img; //this is ok because of qts sharing mechanism
}
-QImage QgsSymbol::getCachedPointSymbolAsImage( double widthScale,
- bool selected, QColor selectionColor )
+QImage QgsSymbol::getCachedPointSymbolAsImage( double widthScale, bool selected, QColor selectionColor, double opacity )
{
if ( !mCacheUpToDate2
- || ( selected && mSelectionColor != selectionColor ) )
+ || ( selected && mSelectionColor != selectionColor ) || ( opacity != mOpacity ) )
{
if ( selected )
{
- cache2( widthScale, selectionColor );
+ cache2( widthScale, selectionColor, opacity);
}
else
{
- cache2( widthScale, mSelectionColor );
+
+ cache2( widthScale, mSelectionColor, opacity );
}
}
@@ -379,14 +379,15 @@
}
QImage QgsSymbol::getPointSymbolAsImage( double widthScale, bool selected, QColor selectionColor, double scale,
- double rotation, double rasterScaleFactor )
+double rotation, double rasterScaleFactor, double opacity )
{
+
if ( 1.0 == ( scale * rasterScaleFactor ) && 0 == rotation )
{
if ( mWidthScale < 0 || widthScale == mWidthScale )
{
- // If scale is 1.0 and rotation 0.0, use cached image.
- return getCachedPointSymbolAsImage( widthScale, selected, selectionColor );
+ // If scale is 1.0, rotation 0.0 use cached image.
+ return getCachedPointSymbolAsImage( widthScale, selected, selectionColor, opacity );
}
}
@@ -402,18 +403,19 @@
preRotateImage = QgsMarkerCatalogue::instance()->imageMarker(
mPointSymbolName,
( float )( mSize * scale * widthScale * rasterScaleFactor ),
- pen, mBrush );
+ pen, mBrush, opacity );
}
else
{
- QgsDebugMsg( QString( "marker:%1 mPointSize:%2 mPointSizeUnits:%3 scale:%4 widthScale:%5 rasterScaleFactor:%6" )
- .arg( mPointSymbolName )
- .arg( mSize ).arg( mSizeInMapUnits ? "true" : "false" )
- .arg( scale ).arg( widthScale ).arg( rasterScaleFactor ) );
+ QgsDebugMsg( QString( "marker:%1 mPointSize:%2 mPointSizeUnits:%3 scale:%4 widthScale:%5 rasterScaleFactor:%6 opacity:%7" )
+ .arg( mPointSymbolName ).arg( mSize ).arg( mSizeInMapUnits ? "true" : "false" )
+ .arg( scale ).arg( widthScale ).arg( rasterScaleFactor ).arg( opacity ) );
+
+
preRotateImage = QgsMarkerCatalogue::instance()->imageMarker(
mPointSymbolName,
( float )( mSize * scale * widthScale * rasterScaleFactor ),
- pen, mBrush );
+ pen, mBrush, opacity );
}
QMatrix rotationMatrix;
@@ -443,7 +445,7 @@
mCacheUpToDate = true;
}
-void QgsSymbol::cache2( double widthScale, QColor selectionColor )
+void QgsSymbol::cache2( double widthScale, QColor selectionColor, double opacity )
{
// QgsDebugMsg(QString("widthScale = %1").arg(widthScale));
@@ -451,18 +453,21 @@
pen.setWidthF( widthScale * pen.widthF() );
mPointSymbolImage2 = QgsMarkerCatalogue::instance()->imageMarker( mPointSymbolName, mSize * widthScale,
- pen, mBrush, false );
+ pen, mBrush, opacity);
QBrush brush = mBrush;
brush.setColor( selectionColor );
pen.setColor( selectionColor );
mPointSymbolImageSelected2 = QgsMarkerCatalogue::instance()->imageMarker(
- mPointSymbolName, mSize * widthScale, pen, brush, false );
+ mPointSymbolName, mSize * widthScale, pen, brush, opacity );
mSelectionColor2 = selectionColor;
mWidthScale = widthScale;
+
+ mOpacity = opacity;
+
mCacheUpToDate2 = true;
}
Modified: trunk/qgis/src/core/symbology/qgssymbol.h
===================================================================
--- trunk/qgis/src/core/symbology/qgssymbol.h 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/core/symbology/qgssymbol.h 2009-08-05 15:22:00 UTC (rev 11275)
@@ -108,7 +108,9 @@
/** Get QImage representation of point symbol with current settings
*/
virtual QImage getCachedPointSymbolAsImage( double widthScale = 1.0,
- bool selected = false, QColor selectionColor = Qt::yellow );
+ bool selected = false,
+ QColor selectionColor = Qt::yellow,
+ double opacity = 1.0);
/** Get QImage representation of point symbol with current settings
* and scaled (can be slow when scale != 1.0)
@@ -118,7 +120,8 @@
QColor selectionColor = Qt::yellow,
double scale = 1.0,
double rotation = 0.0,
- double rasterScaleFactor = 1.0 );
+ double rasterScaleFactor = 1.0,
+ double opacity = 1.0);
/**Writes the contents of the symbol to a configuration file
@ return true in case of success*/
@@ -193,11 +196,14 @@
QImage mPointSymbolImage2;
QImage mPointSymbolImageSelected2;
+ /* The alpha channel of the symbol */
+ double mOpacity;
+
/* Create point symbol mPointSymbolImage/mPointSymbolImage cache */
void cache( QColor selectionColor );
/* Create point symbol mPointSymbolImage2 cache */
- void cache2( double widthScale, QColor selectionColor );
+ void cache2( double widthScale, QColor selectionColor, double opacity);
/* mPointSymbolImage/mPointSymbolImage cache updated */
bool mCacheUpToDate;
Modified: trunk/qgis/src/providers/osm/osmrenderer.cpp
===================================================================
--- trunk/qgis/src/providers/osm/osmrenderer.cpp 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/providers/osm/osmrenderer.cpp 2009-08-05 15:22:00 UTC (rev 11275)
@@ -92,7 +92,7 @@
}
-void OsmRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* pic, bool selected )
+void OsmRenderer::renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* pic, bool selected, double opacity )
{
// QgsDebugMsg("RENDERING FEAT:" + f.id());
QPainter* p = renderContext.painter();
@@ -104,7 +104,7 @@
QPen pen = osmstyle.get_pen( tags );
QColor penColor = pen.color();
p->setPen( osmstyle.get_pen( tags ) );
- p->setOpacity( 1.0 );
+ p->setOpacity( opacity );
}
else if ( mGeomType == QGis::Polygon )
{
@@ -112,12 +112,12 @@
p->setPen( osmstyle.get_pen_brush( tags, br ) );
p->setBrush( br );
p->setBackgroundMode( Qt::TransparentMode );
- p->setOpacity( 0.5 );
+ p->setOpacity( opacity );
}
else if ( mGeomType == QGis::Point )
{
*pic = osmstyle.get_image( tags );
- p->setOpacity( 1.0 );
+ p->setOpacity( opacity );
}
}
Modified: trunk/qgis/src/providers/osm/osmrenderer.h
===================================================================
--- trunk/qgis/src/providers/osm/osmrenderer.h 2009-08-05 13:25:06 UTC (rev 11274)
+++ trunk/qgis/src/providers/osm/osmrenderer.h 2009-08-05 15:22:00 UTC (rev 11275)
@@ -40,7 +40,7 @@
bool willRenderFeature( QgsFeature *f );
// A vector layer passes features to a renderer object to change the brush and pen of the qpainter.
- void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* pic, bool selected );
+ void renderFeature( QgsRenderContext &renderContext, QgsFeature& f, QImage* pic, bool selected, double opacity = 1.0 );
// Reads the renderer configuration from an XML file.
int readXML( const QDomNode &rnode, QgsVectorLayer &vl );
More information about the QGIS-commit
mailing list