summaryrefslogtreecommitdiffstats
path: root/sc/source/ui/view/output.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-05-11 19:50:53 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-05-11 19:53:44 -0400
commit224b235971a01971de626d38ccc8506d0a55771b (patch)
treee0bd218c24edbe74505b068a6cf0c8a9cec5f7d4 /sc/source/ui/view/output.cxx
parentKill DECL_PROP1IMPL and related (odk part) (diff)
downloadcore-224b235971a01971de626d38ccc8506d0a55771b.tar.gz
core-224b235971a01971de626d38ccc8506d0a55771b.zip
fdo#78535: Don't process borders of 0 width.
Or they would get drawn for real. Change-Id: Iec24e70a80ff8aa1ef7512e71249a99243297c4e
Diffstat (limited to 'sc/source/ui/view/output.cxx')
-rw-r--r--sc/source/ui/view/output.cxx96
1 files changed, 54 insertions, 42 deletions
diff --git a/sc/source/ui/view/output.cxx b/sc/source/ui/view/output.cxx
index a804f91f114d..6dae6ef6d1ed 100644
--- a/sc/source/ui/view/output.cxx
+++ b/sc/source/ui/view/output.cxx
@@ -1681,50 +1681,62 @@ void ScOutputData::DrawRotatedFrame( const Color* pForceColor )
const svx::frame::Style noStyle;
// Horizontal lines
- long nUpperRotate = lcl_getRotate( mpDoc, nTab, nX, nY - 1 );
- pProcessor->process( svx::frame::CreateBorderPrimitives(
- aPoints[bLayoutRTL?1:0], aPoints[bLayoutRTL?0:1], aTopLine,
- svx::frame::Style(),
- svx::frame::Style(),
- aLeftLine,
- svx::frame::Style(),
- svx::frame::Style(),
- aRightLine,
- pForceColor, nUpperRotate, nAttrRotate ) );
-
- long nLowerRotate = lcl_getRotate( mpDoc, nTab, nX, nY + 1 );
- pProcessor->process( svx::frame::CreateBorderPrimitives(
- aPoints[bLayoutRTL?2:3], aPoints[bLayoutRTL?3:2], aBottomLine,
- aLeftLine,
- svx::frame::Style(),
- svx::frame::Style(),
- aRightLine,
- svx::frame::Style(),
- svx::frame::Style(),
- pForceColor, 18000 - nAttrRotate, 18000 - nLowerRotate ) );
+ if (aTopLine.Prim() || aTopLine.Secn())
+ {
+ long nUpperRotate = lcl_getRotate( mpDoc, nTab, nX, nY - 1 );
+ pProcessor->process( svx::frame::CreateBorderPrimitives(
+ aPoints[bLayoutRTL?1:0], aPoints[bLayoutRTL?0:1], aTopLine,
+ svx::frame::Style(),
+ svx::frame::Style(),
+ aLeftLine,
+ svx::frame::Style(),
+ svx::frame::Style(),
+ aRightLine,
+ pForceColor, nUpperRotate, nAttrRotate ) );
+ }
+
+ if (aBottomLine.Prim() || aBottomLine.Secn())
+ {
+ long nLowerRotate = lcl_getRotate( mpDoc, nTab, nX, nY + 1 );
+ pProcessor->process( svx::frame::CreateBorderPrimitives(
+ aPoints[bLayoutRTL?2:3], aPoints[bLayoutRTL?3:2], aBottomLine,
+ aLeftLine,
+ svx::frame::Style(),
+ svx::frame::Style(),
+ aRightLine,
+ svx::frame::Style(),
+ svx::frame::Style(),
+ pForceColor, 18000 - nAttrRotate, 18000 - nLowerRotate ) );
+ }
// Vertical slanted lines
- long nLeftRotate = lcl_getRotate( mpDoc, nTab, nX - 1, nY );
- pProcessor->process( svx::frame::CreateBorderPrimitives(
- aPoints[0], aPoints[3], aLeftLine,
- aTopLine,
- svx::frame::Style(),
- svx::frame::Style(),
- aBottomLine,
- svx::frame::Style(),
- svx::frame::Style(),
- pForceColor, nAttrRotate, nLeftRotate ) );
-
- long nRightRotate = lcl_getRotate( mpDoc, nTab, nX + 1, nY );
- pProcessor->process( svx::frame::CreateBorderPrimitives(
- aPoints[1], aPoints[2], aRightLine,
- svx::frame::Style(),
- svx::frame::Style(),
- aTopLine,
- svx::frame::Style(),
- svx::frame::Style(),
- aBottomLine,
- pForceColor, 18000 - nRightRotate, 18000 - nAttrRotate ) );
+ if (aLeftLine.Prim() || aLeftLine.Secn())
+ {
+ long nLeftRotate = lcl_getRotate( mpDoc, nTab, nX - 1, nY );
+ pProcessor->process( svx::frame::CreateBorderPrimitives(
+ aPoints[0], aPoints[3], aLeftLine,
+ aTopLine,
+ svx::frame::Style(),
+ svx::frame::Style(),
+ aBottomLine,
+ svx::frame::Style(),
+ svx::frame::Style(),
+ pForceColor, nAttrRotate, nLeftRotate ) );
+ }
+
+ if (aRightLine.Prim() || aRightLine.Secn())
+ {
+ long nRightRotate = lcl_getRotate( mpDoc, nTab, nX + 1, nY );
+ pProcessor->process( svx::frame::CreateBorderPrimitives(
+ aPoints[1], aPoints[2], aRightLine,
+ svx::frame::Style(),
+ svx::frame::Style(),
+ aTopLine,
+ svx::frame::Style(),
+ svx::frame::Style(),
+ aBottomLine,
+ pForceColor, 18000 - nRightRotate, 18000 - nAttrRotate ) );
+ }
}
}
nPosX += nColWidth * nLayoutSign;