drawinglayer/source/primitive2d/borderlineprimitive2d.cxx | 2 svx/source/dialog/framelinkarray.cxx | 78 +++++++++++--- 2 files changed, 67 insertions(+), 13 deletions(-)
New commits: commit 048c2a5842e6eccb5c6422e120140cd3ac4a3e16 Author: Armin Le Grand <armin.le.gr...@cib.de> Date: Fri Jul 7 13:32:45 2017 +0200 borderline: correct line dash visualization When a dashed line is used, a factor of 10.0 was applied in the original coded, added that. Also the orientation of vertical borders was inverted since it was simpler to exchange Start/End, but this also mirrors the line dash visualisation, corrected that Change-Id: I77418cc6c84ebb0632f8c3448976e82ce612d6b6 diff --git a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx index 2bb7eb869289..f9a3ce78f468 100644 --- a/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/borderlineprimitive2d.cxx @@ -62,7 +62,7 @@ namespace drawinglayer aPolygon.append(rEnd); const attribute::LineAttribute aLineAttribute(rColor, fWidth); - static double fPatScFact(1.0); // 10.0 multiply, see old code + static double fPatScFact(10.0); // 10.0 multiply, see old code const std::vector<double> aDashing(svtools::GetLineDashing(aStyle, fPatternScale * fPatScFact)); if (aDashing.empty()) diff --git a/svx/source/dialog/framelinkarray.cxx b/svx/source/dialog/framelinkarray.cxx index 1b3406eafcdf..24f432e3b97d 100644 --- a/svx/source/dialog/framelinkarray.cxx +++ b/svx/source/dialog/framelinkarray.cxx @@ -1005,9 +1005,20 @@ void Array::DrawRange( drawinglayer::processor2d::BaseProcessor2D& rProcessor, drawinglayer::primitive2d::Primitive2DContainer aSequence(1); aSequence.append( CreateBorderPrimitives( - aStartPos, aEndPos, *pStart, - aStartLFromTR, *pStartLFromT, *pStartLFromL, *pStartLFromB, aStartLFromBR, - aEndRFromTL, *pEndRFromT, *pEndRFromR, *pEndRFromB, aEndRFromBL, pForceColor)); + aStartPos, + aEndPos, + *pStart, + aStartLFromTR, + *pStartLFromT, + *pStartLFromL, + *pStartLFromB, + aStartLFromBR, + aEndRFromTL, + *pEndRFromT, + *pEndRFromR, + *pEndRFromB, + aEndRFromBL, + pForceColor)); rProcessor.process(aSequence); } @@ -1036,9 +1047,20 @@ void Array::DrawRange( drawinglayer::processor2d::BaseProcessor2D& rProcessor, drawinglayer::primitive2d::Primitive2DContainer aSequence(1); aSequence.append( CreateBorderPrimitives( - aStartPos, aEndPos, *pStart, - aStartLFromTR, *pStartLFromT, *pStartLFromL, *pStartLFromB, aStartLFromBR, - aEndRFromTL, *pEndRFromT, *pEndRFromR, *pEndRFromB, aEndRFromBL, pForceColor)); + aStartPos, + aEndPos, + *pStart, + aStartLFromTR, + *pStartLFromT, + *pStartLFromL, + *pStartLFromB, + aStartLFromBR, + aEndRFromTL, + *pEndRFromT, + *pEndRFromR, + *pEndRFromB, + aEndRFromBL, + pForceColor)); rProcessor.process(aSequence); } } @@ -1095,9 +1117,28 @@ void Array::DrawRange( drawinglayer::processor2d::BaseProcessor2D& rProcessor, drawinglayer::primitive2d::Primitive2DContainer aSequence(1); aSequence.append( CreateBorderPrimitives( - aEndPos, aStartPos, *pStart, - aEndBFromTL, *pEndBFromL, *pEndBFromB, *pEndBFromR, aEndBFromTR, - aStartTFromBL, *pStartTFromL, *pStartTFromT, *pStartTFromR, aStartTFromBR, pForceColor)); + // This replaces DrawVerFrameBorder which went from top to bottom. To be able to use + // the same method as for horizontal (CreateBorderPrimitives), the given borders + // have to be rearranged. Best is to look at the explanations of parameters in + // framelink.hxx and the former calls to DrawVerFrameBorder and it's parameters. + // In principle, the order of the five TFrom and BFrom has to be + // inverted to get the same orientation. Before, EndPos and StartPos were changed + // which avoids the reordering, but also leads to inverted line patters for vertical + // lines + aStartPos, + aEndPos, + *pStart, + aStartTFromBR, + *pStartTFromR, + *pStartTFromT, + *pStartTFromL, + aStartTFromBL, + aEndBFromTR, + *pEndBFromR, + *pEndBFromB, + *pEndBFromL, + aEndBFromTL, + pForceColor)); rProcessor.process(aSequence); } @@ -1125,9 +1166,22 @@ void Array::DrawRange( drawinglayer::processor2d::BaseProcessor2D& rProcessor, { drawinglayer::primitive2d::Primitive2DContainer aSequence(1); aSequence.append( - CreateBorderPrimitives(aEndPos, aStartPos, *pStart, - aEndBFromTL, *pEndBFromL, *pEndBFromB, *pEndBFromR, aEndBFromTR, - aStartTFromBL, *pStartTFromL, *pStartTFromT, *pStartTFromR, aStartTFromBR, pForceColor)); + CreateBorderPrimitives( + // also reordered, see call to CreateBorderPrimitives above + aStartPos, + aEndPos, + *pStart, + aStartTFromBR, + *pStartTFromR, + *pStartTFromT, + *pStartTFromL, + aStartTFromBL, + aEndBFromTR, + *pEndBFromR, + *pEndBFromB, + *pEndBFromL, + aEndBFromTL, + pForceColor)); rProcessor.process(aSequence); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits