Kaydet (Commit) 224b2359 authored tarafından Kohei Yoshida's avatar Kohei Yoshida

fdo#78535: Don't process borders of 0 width.

Or they would get drawn for real.

Change-Id: Iec24e70a80ff8aa1ef7512e71249a99243297c4e
üst 5e2918bc
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment