diff options
author | aqcoder <flw.aquarius@gmail.com> | 2015-12-13 19:11:28 +0800 |
---|---|---|
committer | jan iversen <jani@documentfoundation.org> | 2015-12-15 12:51:27 +0000 |
commit | 9a95520948de1d92c55252aa5f90606b01d6ac9e (patch) | |
tree | dd70cf753fbb260c70066ee683c421ee89838dd2 /sw | |
parent | 0204cc6ab2416efe62e0a416d4bbf04315dabf51 (diff) |
fix paint table border in DOUBLE_THIN style
it always paint partial table border which have line style of DOUBLE_THIN.
Becouse the partial of the border line is out of the invalid window rect.
so, we extend it.
Change-Id: I9d95ca71a96cfa869c68d9d2200f29c7cd447eca
Reviewed-on: https://gerrit.libreoffice.org/20701
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/layout/paintfrm.cxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 4fb7c8957e87..08003e07f25a 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -2742,6 +2742,24 @@ void SwTabFramePainter::PaintLines(OutputDevice& rDev, const SwRect& rRect) cons aPaintEnd.Y() += static_cast<long>(offsetEnd + 0.5); } + if( rEntryStyle.Type() == table::BorderLineStyle::DOUBLE_THIN ) + { + long aPixel = rDev.PixelToLogic( Point(1, 1) ).getX(); + SwRect aPaintEx( aPaintStart, aPaintEnd ); + if( bHori ) + { + aPaintEx.Pos().Y() -= aPixel; + aPaintEx.SSize().Height() += aPixel * 2; + } + else + { + aPaintEx.Pos().X() -= aPixel; + aPaintEx.SSize().Width() += aPixel * 2; + } + + gProp.pSGlobalShell->InvalidateWindows( aPaintEx ); + } + if (bHori) { mrTabFrame.ProcessPrimitives( svx::frame::CreateBorderPrimitives( |