6
6
7
7
#include < QPainter>
8
8
9
- QgsSimpleFillSymbolLayerV2::QgsSimpleFillSymbolLayerV2 (QColor color, QColor borderColor, Qt::BrushStyle style )
10
- : mBrushStyle(style), mBorderColor(borderColor)
9
+ QgsSimpleFillSymbolLayerV2::QgsSimpleFillSymbolLayerV2 (QColor color, Qt::BrushStyle style, QColor borderColor, Qt::PenStyle borderStyle, double borderWidth )
10
+ : mBrushStyle(style), mBorderColor(borderColor), mBorderStyle(borderStyle), mBorderWidth(borderWidth)
11
11
{
12
12
mColor = color;
13
13
}
@@ -16,17 +16,23 @@ QgsSimpleFillSymbolLayerV2::QgsSimpleFillSymbolLayerV2(QColor color, QColor bord
16
16
QgsSymbolLayerV2* QgsSimpleFillSymbolLayerV2::create (const QgsStringMap& props)
17
17
{
18
18
QColor color = DEFAULT_SIMPLEFILL_COLOR;
19
- QColor borderColor = DEFAULT_SIMPLEFILL_BORDERCOLOR;
20
19
Qt::BrushStyle style = DEFAULT_SIMPLEFILL_STYLE;
21
-
20
+ QColor borderColor = DEFAULT_SIMPLEFILL_BORDERCOLOR;
21
+ Qt::PenStyle borderStyle = DEFAULT_SIMPLEFILL_BORDERSTYLE;
22
+ double borderWidth = DEFAULT_SIMPLEFILL_BORDERWIDTH;
23
+
22
24
if (props.contains (" color" ))
23
25
color = QgsSymbolLayerV2Utils::decodeColor (props[" color" ]);
24
- if (props.contains (" color_border" ))
25
- borderColor = QgsSymbolLayerV2Utils::decodeColor (props[" color_border" ]);
26
26
if (props.contains (" style" ))
27
27
style = QgsSymbolLayerV2Utils::decodeBrushStyle (props[" style" ]);
28
-
29
- return new QgsSimpleFillSymbolLayerV2 (color, borderColor, style);
28
+ if (props.contains (" color_border" ))
29
+ borderColor = QgsSymbolLayerV2Utils::decodeColor (props[" color_border" ]);
30
+ if (props.contains (" style_border" ))
31
+ borderStyle = QgsSymbolLayerV2Utils::decodePenStyle (props[" style_border" ]);
32
+ if (props.contains (" width_border" ))
33
+ borderWidth = props[" width_border" ].toDouble ();
34
+
35
+ return new QgsSimpleFillSymbolLayerV2 (color, style, borderColor, borderStyle, borderWidth);
30
36
}
31
37
32
38
@@ -39,6 +45,8 @@ void QgsSimpleFillSymbolLayerV2::startRender(QgsRenderContext& context)
39
45
{
40
46
mBrush = QBrush (mColor , mBrushStyle );
41
47
mPen = QPen (mBorderColor );
48
+ mPen .setStyle (mBorderStyle );
49
+ mPen .setWidthF (mBorderWidth );
42
50
}
43
51
44
52
void QgsSimpleFillSymbolLayerV2::stopRender (QgsRenderContext& context)
@@ -73,12 +81,14 @@ QgsStringMap QgsSimpleFillSymbolLayerV2::properties() const
73
81
{
74
82
QgsStringMap map;
75
83
map[" color" ] = QgsSymbolLayerV2Utils::encodeColor (mColor );
76
- map[" color_border" ] = QgsSymbolLayerV2Utils::encodeColor (mBorderColor );
77
84
map[" style" ] = QgsSymbolLayerV2Utils::encodeBrushStyle (mBrushStyle );
85
+ map[" color_border" ] = QgsSymbolLayerV2Utils::encodeColor (mBorderColor );
86
+ map[" style_border" ] = QgsSymbolLayerV2Utils::encodePenStyle (mBorderStyle );
87
+ map[" width_border" ] = QString::number (mBorderWidth );
78
88
return map;
79
89
}
80
90
81
91
QgsSymbolLayerV2* QgsSimpleFillSymbolLayerV2::clone () const
82
92
{
83
- return new QgsSimpleFillSymbolLayerV2 (mColor , mBorderColor , mBrushStyle );
93
+ return new QgsSimpleFillSymbolLayerV2 (mColor , mBrushStyle , mBorderColor , mBorderStyle , mBorderWidth );
84
94
}
0 commit comments