sw/source/ui/misc/outline.cxx | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-)
New commits: commit 718e49e1f4281cfc77d05e537aab0cf701f6e341 Author: Julien Nabet <serval2...@yahoo.fr> AuthorDate: Tue Feb 19 23:24:58 2019 +0100 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Wed Mar 13 17:00:40 2019 +0100 tdf#123547: do the same as in lcl_DrawBullet from cui/numpages.cxx See bt https://bugs.documentfoundation.org/attachment.cgi?id=149389 It seems the method from cui/numpages.cxx takes more things into account At least, it doesn't crash for the attachment of this tracker Change-Id: I05ca0b019ac483890bea4acdbb695d73b660e638 Reviewed-on: https://gerrit.libreoffice.org/68033 Tested-by: Jenkins (cherry picked from commit 684fcf2fce915f3e3e553c67fb57bdbfc8f159d5) Reviewed-on: https://gerrit.libreoffice.org/68843 Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit 7f2322afea3b25bc45f438b8ae9d4977ac378c1c) Reviewed-on: https://gerrit.libreoffice.org/69172 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sw/source/ui/misc/outline.cxx b/sw/source/ui/misc/outline.cxx index c23794861501..23bb9c66ca4d 100644 --- a/sw/source/ui/misc/outline.cxx +++ b/sw/source/ui/misc/outline.cxx @@ -822,13 +822,30 @@ static long lcl_DrawBullet(vcl::RenderContext* pVDev, const SwNumFormat& rFormat { vcl::Font aTmpFont(pVDev->GetFont()); - vcl::Font aFont(*rFormat.GetBulletFont()); - aFont.SetFontSize(rSize); + // via Uno it's possible that no font has been set! + vcl::Font aFont(rFormat.GetBulletFont() ? *rFormat.GetBulletFont() : aTmpFont); + Size aTmpSize(rSize); + aTmpSize.setWidth( aTmpSize.Width() * ( rFormat.GetBulletRelSize()) ); + aTmpSize.setWidth( aTmpSize.Width() / 100 ) ; + aTmpSize.setHeight( aTmpSize.Height() * ( rFormat.GetBulletRelSize()) ); + aTmpSize.setHeight( aTmpSize.Height() / 100 ) ; + // in case of a height of zero it is drawn in original height + if(!aTmpSize.Height()) + aTmpSize.setHeight( 1 ); + aFont.SetFontSize(aTmpSize); aFont.SetTransparent(true); - pVDev->SetFont(aFont); + Color aBulletColor = rFormat.GetBulletColor(); + if(aBulletColor == COL_AUTO) + aBulletColor = pVDev->GetFillColor().IsDark() ? COL_WHITE : COL_BLACK; + else if(aBulletColor == pVDev->GetFillColor()) + aBulletColor.Invert(); + aFont.SetColor(aBulletColor); + pVDev->SetFont( aFont ); OUString aText(rFormat.GetBulletChar()); - pVDev->DrawText(Point(nXStart, nYStart), aText); - const long nRet = pVDev->GetTextWidth(aText); + long nY = nYStart; + nY -= ((aTmpSize.Height() - rSize.Height())/ 2); + pVDev->DrawText( Point(nXStart, nY), aText ); + long nRet = pVDev->GetTextWidth(aText); pVDev->SetFont(aTmpFont); return nRet; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits