diff options
-rw-r--r-- | vcl/source/outdev/polyline.cxx | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/vcl/source/outdev/polyline.cxx b/vcl/source/outdev/polyline.cxx index 499651c78879..f699147c2edf 100644 --- a/vcl/source/outdev/polyline.cxx +++ b/vcl/source/outdev/polyline.cxx @@ -116,17 +116,28 @@ void OutputDevice::DrawPolyLine( const tools::Polygon& rPoly, const LineInfo& rL return; } - // #i101491# - // Try direct Fallback to B2D-Version of DrawPolyLine - if (LineStyle::Solid == rLineInfo.GetStyle() && IsDeviceOutputNecessary()) + if (IsDeviceOutputNecessary()) { - DrawPolyLine( - rPoly.getB2DPolygon(), - rLineInfo.GetWidth(), - rLineInfo.GetLineJoin(), - rLineInfo.GetLineCap(), - basegfx::deg2rad(15.0) /* default fMiterMinimumAngle, value not available in LineInfo */); - return; + auto eLineStyle = rLineInfo.GetStyle(); + switch (eLineStyle) + { + case LineStyle::NONE: + case LineStyle::Dash: + // use drawPolyLine for these + break; + case LineStyle::Solid: + // #i101491# Try direct Fallback to B2D-Version of DrawPolyLine + DrawPolyLine( + rPoly.getB2DPolygon(), + rLineInfo.GetWidth(), + rLineInfo.GetLineJoin(), + rLineInfo.GetLineCap(), + basegfx::deg2rad(15.0) /* default fMiterMinimumAngle, value not available in LineInfo */); + return; + default: + SAL_WARN("vcl.gdi", "Unknown LineStyle: " << static_cast<int>(eLineStyle)); + return; + } } if ( mpMetaFile ) |