summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlhan Yesil <ilhanyesil@gmx.de>2018-11-13 11:20:15 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2019-12-12 13:40:21 +0100
commit12b4efb1216fc494443795b06e9ad92bcad2c306 (patch)
treed90e3915ca44ba768bcc83a18b7ffb5fed602af5
parent701b5cfe9d908b346e95054b565d05747775ae79 (diff)
tdf#116051 Right border visible after hiding neighbour column
Added an else statement to take into account that a hidden column has a neighboured left column with a right border. Reviewed-on: https://gerrit.libreoffice.org/63326 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 392729c735bb82eecf29bae5527ec786ca293f34) Reviewed-on: https://gerrit.libreoffice.org/67054 Reviewed-by: Ilhan Yesil <ilhanyesil@gmx.de> Tested-by: Ilhan Yesil <ilhanyesil@gmx.de> (cherry picked from commit efc741c41483b2402378391b7fba36377c886a8e) Reviewed-on: https://gerrit.libreoffice.org/84857 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Change-Id: Ia415d422dd2fa305604e48cce55661408b835ea6
-rw-r--r--svx/source/dialog/framelinkarray.cxx47
1 files changed, 32 insertions, 15 deletions
diff --git a/svx/source/dialog/framelinkarray.cxx b/svx/source/dialog/framelinkarray.cxx
index f0934c48dd7c..9e14810261b9 100644
--- a/svx/source/dialog/framelinkarray.cxx
+++ b/svx/source/dialog/framelinkarray.cxx
@@ -1103,28 +1103,30 @@ drawinglayer::primitive2d::Primitive2DContainer Array::CreateB2DPrimitiveRange(
basegfx::B2DVector aX(basegfx::utils::getColumn(aCoordinateSystem, 0));
basegfx::B2DVector aY(basegfx::utils::getColumn(aCoordinateSystem, 1));
+ // get needed local values
+ basegfx::B2DPoint aOrigin(basegfx::utils::getColumn(aCoordinateSystem, 2));
+ const bool bOverlapX(rCell.mbOverlapX);
+ const bool bFirstCol(nCol == nFirstCol);
+
+ // handle rotation: If cell is rotated, handle lower/right edge inside
+ // this local geometry due to the created CoordinateSystem already representing
+ // the needed transformations.
+ const bool bRotated(rCell.IsRotated());
+
+ // Additionally avoid double-handling by suppressing handling when self not rotated,
+ // but above/left is rotated and thus already handled. Two directly connected
+ // rotated will paint/create both edges, they might be rotated differently.
+ const bool bSupressLeft(!bRotated && nCol > nFirstCol && CELL(nCol - 1, nRow).IsRotated());
+ const bool bSuppressAbove(!bRotated && nRow > nFirstRow && CELL(nCol, nRow - 1).IsRotated());
+
if(!aX.equalZero() && !aY.equalZero())
{
- // get needed local values
- basegfx::B2DPoint aOrigin(basegfx::utils::getColumn(aCoordinateSystem, 2));
- const bool bOverlapX(rCell.mbOverlapX);
+ // additionally needed local values
const bool bOverlapY(rCell.mbOverlapY);
- const bool bFirstCol(nCol == nFirstCol);
const bool bLastCol(nCol == nLastCol);
const bool bFirstRow(nRow == nFirstRow);
const bool bLastRow(nRow == nLastRow);
- // handle rotation: If cell is rotated, handle lower/right edge inside
- // this local geometry due to the created CoordinateSystem already representing
- // the needed transformations.
- const bool bRotated(rCell.IsRotated());
-
- // Additionally avoid double-handling by suppressing handling when self not rotated,
- // but above/left is rotated and thus already handled. Two directly connected
- // rotated will paint/create both edges, they might be rotated differently.
- const bool bSuppressAbove(!bRotated && nRow > nFirstRow && CELL(nCol, nRow - 1).IsRotated());
- const bool bSupressLeft(!bRotated && nCol > nFirstCol && CELL(nCol - 1, nRow).IsRotated());
-
// create upper line for this Cell
if ((!bOverlapY // true for first line in merged cells or cells
|| bFirstRow) // true for non_Calc usages of this tooling
@@ -1281,6 +1283,21 @@ drawinglayer::primitive2d::Primitive2DContainer Array::CreateB2DPrimitiveRange(
}
}
}
+ else
+ {
+ // create left line for this Cell
+ if ((!bOverlapX // true for first column in merged cells or cells
+ || bFirstCol) // true for non_Calc usages of this tooling
+ && !bSupressLeft) // true when left is not rotated, so edge is already handled (see bRotated)
+ {
+ const Style& rLeft(GetCellStyleLeft(nCol, nRow));
+
+ if (rLeft.IsUsed())
+ {
+ HelperCreateVerticalEntry(*this, rLeft, nCol, nRow, aOrigin, aX, aY, aVerticalSequences[nCol - nStartCol], true, pForceColor);
+ }
+ }
+ }
}
}