diff options
Diffstat (limited to 'drawinglayer/source/processor2d/vclpixelprocessor2d.cxx')
-rw-r--r-- | drawinglayer/source/processor2d/vclpixelprocessor2d.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx index 03012fb5d35a..db65dc3de4bb 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx @@ -140,6 +140,16 @@ namespace drawinglayer mpOutputDevice->SetLineColor(Color(aLineColor)); //aLocalPolygon.transform(maCurrentTransformation); + if (getOptionsDrawinglayer().IsAntiAliasing() && getOptionsDrawinglayer().IsSnapHorVerLinesToDiscrete()) + { + if (basegfx::utils::containsOnlyHorizontalOrVerticalLines(rLocalPolygon)) + { + // DrawPolyLineDirect() only works in AA mode, but pure horizontal or vertical + // lines are better with AA off. + return false; + } + } + // try drawing; if it did not work, use standard fallback return mpOutputDevice->DrawPolyLineDirect( maCurrentTransformation, |