summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--canvas/source/vcl/canvashelper.cxx25
1 files changed, 3 insertions, 22 deletions
diff --git a/canvas/source/vcl/canvashelper.cxx b/canvas/source/vcl/canvashelper.cxx
index cbbd18a376d9..3aa16f1baf4e 100644
--- a/canvas/source/vcl/canvashelper.cxx
+++ b/canvas/source/vcl/canvashelper.cxx
@@ -315,31 +315,12 @@ namespace vclcanvas
::basegfx::B2DPolyPolygon aPolyPoly(
::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(xPolyPolygon) );
- std::vector<double> aDashArray;
- if( strokeAttributes.DashArray.hasElements() )
- aDashArray = ::comphelper::sequenceToContainer< std::vector<double> >(strokeAttributes.DashArray);
-
- // First try to draw directly using VCL.
- bool directFailed = false;
- setupOutDevState( viewState, renderState, LINE_COLOR );
- for( sal_uInt32 i=0; i<aPolyPoly.count(); ++i )
- {
- if( !mpOutDevProvider->getOutDev().DrawPolyLineDirect( aMatrix, aPolyPoly.getB2DPolygon(i),
- strokeAttributes.StrokeWidth, 0, !aDashArray.empty() ? &aDashArray : nullptr,
- b2DJoineFromJoin(strokeAttributes.JoinType), unoCapeFromCap(strokeAttributes.StartCapType)))
- {
- directFailed = true;
- break;
- }
- }
- if(!directFailed)
- return uno::Reference< rendering::XCachedPrimitive >(nullptr);
-
- // Do it all manually.
-
// apply dashing, if any
if( strokeAttributes.DashArray.hasElements() )
{
+ const std::vector<double>& aDashArray(
+ ::comphelper::sequenceToContainer< std::vector<double> >(strokeAttributes.DashArray) );
+
::basegfx::B2DPolyPolygon aDashedPolyPoly;
for( sal_uInt32 i=0; i<aPolyPoly.count(); ++i )