21 : mType( type ), mLayers( layers ), mOutputUnit( MM ), mAlpha( 1.0 ), mRenderHints( 0 )
25 for (
int i = 0; i <
mLayers.count(); i++ )
43 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
55 default:
QgsDebugMsg(
"unknown layer's geometry type" );
return NULL;
58 s->
setColor( QColor::fromHsv( rand() % 360, 64 + rand() % 192, 128 + rand() % 128 ) );
65 if ( layer < 0 || layer >=
mLayers.count() )
84 if ( index < 0 || index >
mLayers.count() )
106 if ( index < 0 || index >=
mLayers.count() )
117 if ( index < 0 || index >=
mLayers.count() )
120 return mLayers.takeAt( index );
126 if ( index < 0 || index >=
mLayers.count() )
140 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
141 ( *it )->startRender( symbolContext );
147 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
148 ( *it )->stopRender( symbolContext );
153 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
155 if ( !( *it )->isLocked() )
156 ( *it )->setColor( color );
162 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
165 if ( !( *it )->isLocked() )
166 return ( *it )->color();
168 return QColor( 0, 0, 0 );
175 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
184 QPolygonF poly = QRectF( QPointF( 0, 0 ), QPointF( size.width() - 1, size.height() - 1 ) );
190 ( *it )->drawPreviewIcon( symbolContext, size );
197 QImage preview( QSize( 100, 100 ), QImage::Format_ARGB32_Premultiplied );
200 QPainter p( &preview );
201 p.setRenderHint( QPainter::Antialiasing );
202 p.translate( 0.5, 0.5 );
206 p.setPen( QPen( Qt::gray ) );
207 p.drawLine( 0, 50, 100, 50 );
208 p.drawLine( 50, 0, 50, 100 );
217 poly << QPointF( 0, 50 ) << QPointF( 99, 50 );
218 static_cast<QgsLineSymbolV2*
>( this )->renderPolyline( poly, context );
223 polygon << QPointF( 20, 20 ) << QPointF( 80, 20 ) << QPointF( 80, 80 ) << QPointF( 20, 80 ) << QPointF( 20, 20 );
224 static_cast<QgsFillSymbolV2*
>( this )->renderPolygon( polygon, NULL, context );
228 static_cast<QgsMarkerSymbolV2*
>( this )->renderPoint( QPointF( 50, 50 ), context );
244 default: Q_ASSERT( 0 &&
"unknown symbol type" );
248 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
258 for ( QgsSymbolLayerV2List::const_iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
271 : mRenderContext( c ), mOutputUnit( u ), mAlpha( alpha ), mSelected( selected ), mRenderHints( renderHints )
354 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
363 QgsSymbolLayerV2List::const_iterator it =
mLayers.begin();
370 return layer->
angle();
375 double origSize =
size();
377 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
380 if ( layer->
size() == origSize )
395 for ( QgsSymbolLayerV2List::const_iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
398 double lsize = layer->
size();
399 if ( lsize > maxSize )
410 if ( layer >= 0 && layer <
mLayers.count() )
415 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
443 double origWidth =
width();
445 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
448 if ( layer->
width() == origWidth )
455 if ( origWidth != 0 )
464 for ( QgsSymbolLayerV2List::const_iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
468 if ( width > maxWidth )
479 if ( layer >= 0 && layer <
mLayers.count() )
484 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
515 if ( layer >= 0 && layer <
mLayers.count() )
526 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )
553 for ( QgsSymbolLayerV2List::iterator it =
mLayers.begin(); it !=
mLayers.end(); ++it )