Skip to content
Permalink
Browse files

Merge branch 'master' of github.com:qgis/Quantum-GIS

  • Loading branch information
timlinux committed Jun 30, 2011
2 parents 4888f51 + b6fa94f commit 127f7c0dd85b34141eb674ed2666e1cf7e2155b6
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd" [
<!ENTITY st0 "fill:none;stroke-width:3;">
<!ENTITY st1 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
<!ENTITY st0 "fill:none;stroke-width:param(outline-width) 3;">
<!ENTITY st1 "fill-rule:nonzero;clip-rule:nonzero;stroke:param(outline) #000000;stroke-miterlimit:4;">
]>
<svg width="109pt" height="109.5pt" viewBox="0 0 109 109.5" xml:space="preserve">
<g id="Layer_x0020_1" style="&st1;">
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd" [
<!ENTITY st0 "fill:none;stroke-width:3;">
<!ENTITY st1 "fill:none;stroke:#003DCE;stroke-width:3;">
<!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
<!ENTITY st0 "fill:none;stroke-width:param(outline-width) 3;">
<!ENTITY st1 "fill:none;stroke:#003DCE;stroke-width:param(outline-width) 3;">
<!ENTITY st2 "fill-rule:nonzero;clip-rule:nonzero;stroke:param(outline) #000000;stroke-miterlimit:4;">
]>
<svg width="109pt" height="109.5pt" viewBox="0 0 109 109.5" xml:space="preserve">
<g id="Layer_x0020_1" style="&st2;">
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd" [
<!ENTITY st0 "fill:none;stroke-width:3;">
<!ENTITY st1 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
<!ENTITY st0 "fill:none;stroke-width:param(outline-width) 3;">
<!ENTITY st1 "fill-rule:nonzero;clip-rule:nonzero;stroke:param(outline) #000000;stroke-miterlimit:4;">
]>
<svg width="113.195pt" height="113.039pt" viewBox="0 0 113.195 113.039" xml:space="preserve">
<g id="Layer_x0020_1" style="&st1;">
@@ -86,7 +86,7 @@
inkscape:groupmode="layer"
sodipodi:insensitive="true">
<rect
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3946"
width="16"
height="16"
@@ -90,7 +90,7 @@
inkscape:groupmode="layer"
sodipodi:insensitive="true">
<rect
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3946"
width="16"
height="16"
@@ -112,7 +112,7 @@
inkscape:radius="0.2593877"
inkscape:original="M 5.6875 7.90625 C 5.5920634 7.9309548 5.5014714 7.992784 5.4375 8.0625 C 5.3834383 8.1054353 5.3452352 8.156256 5.3125 8.21875 C 5.2751819 8.2899943 5.2505865 8.358769 5.25 8.4375 C 4.8692988 9.3217403 3.8654515 9.754957 2.9375 9.4375 C 2.3600674 9.2399573 2.0133307 8.888797 1.8125 8.3125 C 1.7762243 8.1833713 1.6800247 8.064639 1.5625 8 C 1.4449753 7.9353608 1.3159791 7.930236 1.1875 7.96875 C 1.0509325 8.0042168 0.94047034 8.093761 0.875 8.21875 C 0.80952963 8.3437393 0.7951452 8.492538 0.84375 8.625 C 1.1358785 9.4632823 1.7850673 10.118904 2.625 10.40625 C 3.7925772 10.805684 5.0496938 10.384963 5.78125 9.46875 C 6.1159315 9.8869593 6.5407536 10.227757 7.0625 10.40625 C 8.2300772 10.805684 9.4871943 10.384963 10.21875 9.46875 C 10.554718 9.8945333 11.00308 10.22556 11.53125 10.40625 C 13.016117 10.914231 14.648269 10.109868 15.15625 8.625 C 15.246612 8.4497623 15.216803 8.247801 15.09375 8.09375 C 14.970696 7.9396993 14.784624 7.856841 14.59375 7.90625 C 14.402877 7.9556588 14.251603 8.118092 14.21875 8.3125 C 13.885904 9.2854333 12.816683 9.770345 11.84375 9.4375 C 11.288851 9.2476663 10.95406 8.912026 10.75 8.375 C 10.746634 8.3661403 10.753292 8.352722 10.75 8.34375 C 10.748598 8.3296273 10.721349 8.326464 10.71875 8.3125 C 10.700612 8.2479353 10.665883 8.176507 10.625 8.125 C 10.619359 8.1170203 10.631153 8.101453 10.625 8.09375 C 10.501947 7.9396993 10.315873 7.856841 10.125 7.90625 C 10.038142 7.9287338 9.9676439 8.002081 9.90625 8.0625 C 9.873203 8.0950223 9.8354674 8.11568 9.8125 8.15625 C 9.7985624 8.1755263 9.7924279 8.19741 9.78125 8.21875 C 9.7690359 8.2501023 9.7557493 8.278479 9.75 8.3125 C 9.7391707 8.3441543 9.7311091 8.375641 9.71875 8.40625 C 9.3512297 9.3164703 8.3162794 9.759516 7.375 9.4375 C 6.8292558 9.2507983 6.4864361 8.92777 6.28125 8.40625 C 6.2852911 8.2892103 6.2635036 8.188899 6.1875 8.09375 C 6.0644462 7.9396993 5.8783733 7.856841 5.6875 7.90625 z "
xlink:href="#path3173"
style="opacity:1;fill:#6c7be1;fill-opacity:1;stroke:#6c7be1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="opacity:1;fill:param(fill) #6c7be1;fill-opacity:1;stroke:param(outline) #6c7be1;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path3195"
d="M 5.625,7.65625 C 5.4763275,7.6947355 5.3734452,7.7800534 5.28125,7.875 L 5.28125,7.90625 C 5.2060789,7.9712328 5.1344978,8.0159593 5.09375,8.09375 C 5.0594627,8.1592083 5.0469067,8.2556613 5.03125,8.34375 L 5,8.34375 C 4.6726226,9.1041371 3.8366127,9.4630187 3.03125,9.1875 C 2.522755,9.0135412 2.2433025,8.7502184 2.0625,8.25 C 2.0601678,8.2416982 2.0650857,8.2269203 2.0625,8.21875 L 2.03125,8.21875 C 1.9677373,8.0349231 1.8568108,7.8743715 1.6875,7.78125 C 1.5048211,7.6807757 1.3052853,7.6647061 1.125,7.71875 C 0.91856052,7.7723627 0.75373758,7.9076371 0.65625,8.09375 C 0.5587628,8.2798625 0.51780423,8.511776 0.59375,8.71875 C 0.91134529,9.630111 1.6157155,10.34304 2.53125,10.65625 C 3.7167015,11.061799 4.9677669,10.670186 5.78125,9.8125 C 6.1124315,10.170715 6.4807826,10.489313 6.96875,10.65625 C 8.1542015,11.061799 9.4052672,10.670186 10.21875,9.8125 C 10.558335,10.173453 10.951728,10.490065 11.4375,10.65625 C 13.042743,11.205412 14.805018,10.341887 15.375,8.75 C 15.379988,8.7360678 15.401445,8.7327942 15.40625,8.71875 L 15.375,8.71875 C 15.496195,8.4566291 15.454428,8.1543027 15.28125,7.9375 C 15.106922,7.7192596 14.829823,7.5789624 14.53125,7.65625 C 14.261853,7.7259852 14.070939,7.9515882 14,8.21875 L 13.96875,8.21875 C 13.682428,9.0556891 12.782362,9.4765314 11.9375,9.1875 C 11.451007,9.0210684 11.182559,8.7763651 11,8.3125 C 10.998762,8.3000327 11.002886,8.2927802 11,8.28125 C 10.996848,8.2661849 11.007106,8.2693665 11,8.25 L 10.96875,8.25 C 10.958653,8.2140592 10.920825,8.1903391 10.90625,8.15625 C 10.894022,8.1452989 10.914116,8.1304823 10.90625,8.125 C 10.896266,8.1038485 10.887167,8.0830169 10.875,8.0625 C 10.872261,8.0481204 10.874775,8.0306958 10.875,8.03125 C 10.87509,8.0314717 10.880368,8.0098028 10.875,8 C 10.868052,7.9855734 10.853037,7.9878089 10.84375,7.96875 C 10.834463,7.9496911 10.812796,7.9378703 10.8125,7.9375 C 10.638172,7.7192576 10.361073,7.5789619 10.0625,7.65625 C 9.8761163,7.7044967 9.7760966,7.818564 9.71875,7.875 C 9.7173249,7.8764025 9.6747534,7.9364188 9.625,8 C 9.6110069,8.0178822 9.6078818,8.0062873 9.59375,8.03125 C 9.5754361,8.0641374 9.5593201,8.0998207 9.5625,8.09375 C 9.5512134,8.1032588 9.5407588,8.1137134 9.53125,8.125 C 9.526121,8.1381656 9.5107896,8.1852792 9.5,8.21875 C 9.4932565,8.2396692 9.5049005,8.2522517 9.5,8.28125 C 9.4970636,8.2906039 9.4703095,8.3086377 9.46875,8.3125 C 9.1535855,9.0930532 8.2859911,9.4670819 7.46875,9.1875 C 6.9782268,9.0196897 6.7137576,8.7763783 6.53125,8.3125 L 6.5,8.3125 C 6.4889568,8.1819112 6.4681208,8.0540781 6.375,7.9375 C 6.2006717,7.7192589 5.9235731,7.5789621 5.625,7.65625 z"
transform="translate(3.125e-2,3.4509804)" />
@@ -85,7 +85,7 @@
inkscape:groupmode="layer"
sodipodi:insensitive="true">
<rect
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3946"
width="16"
height="16"
@@ -114,7 +114,7 @@
y="0.95529795"
rx="1.2520604" />
<rect
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4087"
width="8"
height="5.170692"
@@ -123,7 +123,7 @@
rx="0.97977364" />
<text
xml:space="preserve"
style="font-size:1.81044257px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold"
style="font-size:1.81044257px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold"
x="6.3120561"
y="2.7528749"
id="text3309"
@@ -165,11 +165,11 @@
sodipodi:cy="10.870588"
sodipodi:cx="4.2352943"
id="path4103"
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4101"
sodipodi:cx="4.2352943"
sodipodi:cy="10.870588"
@@ -187,17 +187,17 @@
height="0.60350877"
width="6.2480907"
id="rect4091"
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4095"
width="6.2480907"
height="0.60350877"
x="4.8759542"
y="10.591549"
rx="0.33431062" />
<rect
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3299"
width="6.2480907"
height="0.60350877"
@@ -211,7 +211,7 @@
height="0.60350877"
width="6.2480907"
id="rect3301"
style="fill:#6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:param(fill) #6c7be1;fill-opacity:1;stroke:none;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</svg>
@@ -37,6 +37,7 @@ SET(QGIS_CORE_SRCS
symbology-ng/qgsvectorcolorrampv2.cpp
symbology-ng/qgsstylev2.cpp
symbology-ng/qgssymbologyv2conversion.cpp
symbology-ng/qgssvgcache.cpp

qgis.cpp
qgsapplication.cpp
@@ -6,6 +6,7 @@
#include "qgsapplication.h"
#include "qgslogger.h"
#include "qgsproject.h"
#include "qgssvgcache.h"

#include <QPainter>
#include <QSvgRenderer>
@@ -449,6 +450,9 @@ QgsSvgMarkerSymbolLayerV2::QgsSvgMarkerSymbolLayerV2( QString name, double size,
mSize = size;
mAngle = angle;
mOffset = QPointF( 0, 0 );
mOutlineWidth = 1.0;
mFillColor = QColor( Qt::black );
mOutlineColor = QColor( Qt::black );
}


@@ -466,11 +470,60 @@ QgsSymbolLayerV2* QgsSvgMarkerSymbolLayerV2::create( const QgsStringMap& props )
angle = props["angle"].toDouble();

QgsSvgMarkerSymbolLayerV2* m = new QgsSvgMarkerSymbolLayerV2( name, size, angle );

//we only check the svg default parameters if necessary, since it could be expensive
if( !props.contains("fill") && !props.contains("outline") && !props.contains("outline-width") )
{
QColor fillColor, outlineColor;
double outlineWidth;
bool hasFillParam, hasOutlineParam, hasOutlineWidthParam;
QgsSvgCache::instance()->containsParams( name, hasFillParam, fillColor, hasOutlineParam, outlineColor, hasOutlineWidthParam, outlineWidth );
if( hasFillParam )
{
m->setFillColor( fillColor );
}
if( hasOutlineParam )
{
m->setOutlineColor( outlineColor );
}
if( hasOutlineWidthParam )
{
m->setOutlineWidth( outlineWidth );
}
}

if ( props.contains( "offset" ) )
m->setOffset( QgsSymbolLayerV2Utils::decodePoint( props["offset"] ) );
if ( props.contains( "fill" ) )
m->setFillColor( QColor( props["fill"] ) );
if ( props.contains( "outline" ) )
m->setOutlineColor( QColor( props["outline"] ) );
if ( props.contains( "outline-width" ) )
m->setOutlineWidth( props["outline-width"].toDouble() );
return m;
}

void QgsSvgMarkerSymbolLayerV2::setPath( QString path )
{
mPath = path;
QColor fillColor, outlineColor;
double outlineWidth;
bool hasFillParam, hasOutlineParam, hasOutlineWidthParam;
QgsSvgCache::instance()->containsParams( path, hasFillParam, fillColor, hasOutlineParam, outlineColor, hasOutlineWidthParam, outlineWidth );
if( hasFillParam )
{
setFillColor( fillColor );
}
if( hasOutlineParam )
{
setOutlineColor( outlineColor );
}
if( hasOutlineWidthParam )
{
setOutlineWidth( outlineWidth );
}
}


QString QgsSvgMarkerSymbolLayerV2::layerType() const
{
@@ -479,30 +532,8 @@ QString QgsSvgMarkerSymbolLayerV2::layerType() const

void QgsSvgMarkerSymbolLayerV2::startRender( QgsSymbolV2RenderContext& context )
{
double pictureSize = 0;
QgsRenderContext& rc = context.renderContext();

if ( rc.painter() && rc.painter()->device() )
{
//correct QPictures DPI correction
pictureSize = context.outputLineWidth( mSize ) / rc.painter()->device()->logicalDpiX() * mPicture.logicalDpiX();
}
else
{
pictureSize = context.outputLineWidth( mSize );
}
QRectF rect( QPointF( -pictureSize / 2.0, -pictureSize / 2.0 ), QSizeF( pictureSize, pictureSize ) );
QSvgRenderer renderer( mPath );
QPainter painter( &mPicture );
renderer.render( &painter, rect );
QPainter selPainter( &mSelPicture );
selPainter.setRenderHint( QPainter::Antialiasing );
selPainter.setBrush( QBrush( context.selectionColor() ) );
selPainter.setPen( Qt::NoPen );
selPainter.drawEllipse( QPointF( 0, 0 ), pictureSize*0.6, pictureSize*0.6 );
renderer.render( &selPainter, rect );

mOrigSize = mSize; // save in case the size would be data defined
Q_UNUSED( context );
}

void QgsSvgMarkerSymbolLayerV2::stopRender( QgsSymbolV2RenderContext& context )
@@ -533,8 +564,28 @@ void QgsSvgMarkerSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Re
if ( mAngle != 0 )
p->rotate( mAngle );

QPicture &pct = context.selected() ? mSelPicture : mPicture;
p->drawPicture( 0, 0, pct );
if ( doubleNear( context.renderContext().rasterScaleFactor(), 1.0, 0.1 ) )
{
const QImage& img = QgsSvgCache::instance()->svgAsImage( mPath, mSize, mFillColor, mOutlineColor, mOutlineWidth,
context.renderContext().scaleFactor(), context.renderContext().rasterScaleFactor() );
p->drawImage( -img.width() / 2.0, -img.width() / 2.0, img );
}
else
{
const QPicture& pct = QgsSvgCache::instance()->svgAsPicture( mPath, mSize, mFillColor, mOutlineColor, mOutlineWidth,
context.renderContext().scaleFactor(), context.renderContext().rasterScaleFactor() );
p->drawPicture( 0, 0, pct );
}

if( context.selected() )
{
QPen pen( context.selectionColor() );
pen.setWidth( context.outputLineWidth( 1.0 ) );
p->setPen( pen );
p->setBrush( Qt::NoBrush );
double sizePixel = context.outputLineWidth( mSize );
p->drawRect( QRectF( -sizePixel / 2.0, -sizePixel / 2.0, sizePixel, sizePixel ) );
}

p->restore();
}
@@ -547,12 +598,18 @@ QgsStringMap QgsSvgMarkerSymbolLayerV2::properties() const
map["size"] = QString::number( mSize );
map["angle"] = QString::number( mAngle );
map["offset"] = QgsSymbolLayerV2Utils::encodePoint( mOffset );
map["fill"] = mFillColor.name();
map["outline"] = mOutlineColor.name();
map["outline-width"] = QString::number( mOutlineWidth );
return map;
}

QgsSymbolLayerV2* QgsSvgMarkerSymbolLayerV2::clone() const
{
QgsSvgMarkerSymbolLayerV2* m = new QgsSvgMarkerSymbolLayerV2( mPath, mSize, mAngle );
m->setFillColor( mFillColor );
m->setOutlineColor( mOutlineColor );
m->setOutlineWidth( mOutlineWidth );
m->setOffset( mOffset );
return m;
}
@@ -112,15 +112,28 @@ class CORE_EXPORT QgsSvgMarkerSymbolLayerV2 : public QgsMarkerSymbolLayerV2
QgsSymbolLayerV2* clone() const;

QString path() const { return mPath; }
void setPath( QString path ) { mPath = path; }
void setPath( QString path );

QColor fillColor() const { return mFillColor; }
void setFillColor( const QColor& c ) { mFillColor = c; }

QColor outlineColor() const { return mOutlineColor; }
void setOutlineColor( const QColor& c ) { mOutlineColor = c; }

double outlineWidth() const { return mOutlineWidth; }
void setOutlineWidth( double w ) { mOutlineWidth = w; }

protected:

void loadSvg();

QString mPath;
QPicture mPicture;
QPicture mSelPicture;

//param(fill), param(outline), param(outline-width) are going
//to be replaced in memory
QColor mFillColor;
QColor mOutlineColor;
double mOutlineWidth;
double mOrigSize;
};

0 comments on commit 127f7c0

Please sign in to comment.
You can’t perform that action at this time.