本文整理汇总了C++中QgsSimpleLineSymbolLayerV2::penStyle方法的典型用法代码示例。如果您正苦于以下问题:C++ QgsSimpleLineSymbolLayerV2::penStyle方法的具体用法?C++ QgsSimpleLineSymbolLayerV2::penStyle怎么用?C++ QgsSimpleLineSymbolLayerV2::penStyle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QgsSimpleLineSymbolLayerV2
的用法示例。
在下文中一共展示了QgsSimpleLineSymbolLayerV2::penStyle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
QgsSymbol* QgsSymbologyV2Conversion::symbolV2toV1( QgsSymbolV2* s )
{
if ( s == NULL || s->symbolLayerCount() == 0 )
return NULL;
// we will use only the first symbol layer
QgsSymbolLayerV2* sl = s->symbolLayer( 0 );
switch ( sl->type() )
{
case QgsSymbolV2::Marker:
{
QgsMarkerSymbolLayerV2* msl = static_cast<QgsMarkerSymbolLayerV2*>( sl );
QgsSymbol* sOld = new QgsSymbol( QGis::Point );
sOld->setFillColor( sl->color() );
sOld->setFillStyle( Qt::SolidPattern );
sOld->setPointSize( msl->size() );
if ( sl->layerType() == "SimpleMarker" )
{
QgsSimpleMarkerSymbolLayerV2* smsl = static_cast<QgsSimpleMarkerSymbolLayerV2*>( sl );
sOld->setColor( smsl->borderColor() );
sOld->setNamedPointSymbol( "hard:" + smsl->name() );
}
else if ( sl->layerType() == "SvgMarker" )
{
QgsSvgMarkerSymbolLayerV2* smsl = static_cast<QgsSvgMarkerSymbolLayerV2*>( sl );
sOld->setNamedPointSymbol( "svg:" + smsl->path() );
}
return sOld;
}
break;
case QgsSymbolV2::Line:
{
QgsLineSymbolLayerV2* lsl = static_cast<QgsLineSymbolLayerV2*>( sl );
QgsSymbol* sOld = new QgsSymbol( QGis::Line );
sOld->setColor( sl->color() );
sOld->setLineWidth( lsl->width() );
if ( sl->layerType() == "SimpleLine" )
{
// add specific settings
QgsSimpleLineSymbolLayerV2* slsl = static_cast<QgsSimpleLineSymbolLayerV2*>( sl );
sOld->setLineStyle( slsl->penStyle() );
}
return sOld;
}
case QgsSymbolV2::Fill:
{
QgsSymbol* sOld = new QgsSymbol( QGis::Polygon );
sOld->setFillColor( sl->color() );
if ( sl->layerType() == "SimpleFill" )
{
// add specifc settings
QgsSimpleFillSymbolLayerV2* sfsl = static_cast<QgsSimpleFillSymbolLayerV2*>( sl );
sOld->setColor( sfsl->borderColor() );
sOld->setLineWidth( sfsl->borderWidth() );
sOld->setLineStyle( sfsl->borderStyle() );
sOld->setFillStyle( sfsl->brushStyle() );
}
return sOld;
}
}
return NULL; // should never get here
}