svx/source/tbxctrls/fontworkgallery.cxx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)
New commits: commit 29c15be71f8c12e1116ef80d515fe3f734cd183f Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Wed Jan 20 10:02:53 2021 +0100 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Wed Jan 20 11:23:15 2021 +0100 Don't insert fontwork outside view Change-Id: Ib518cc6c70e2595cc191cd353b628729fd220de7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109665 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/svx/source/tbxctrls/fontworkgallery.cxx b/svx/source/tbxctrls/fontworkgallery.cxx index edd3748400fb..e04978139236 100644 --- a/svx/source/tbxctrls/fontworkgallery.cxx +++ b/svx/source/tbxctrls/fontworkgallery.cxx @@ -200,10 +200,19 @@ void FontWorkGalleryDialog::insertSelectedFontwork() // pNewObject->SetPage(nullptr); tools::Rectangle aObjRect( pNewObject->GetLogicRect() ); - tools::Rectangle aVisArea = pOutDev->PixelToLogic(tools::Rectangle(Point(0,0), pOutDev->GetOutputSizePixel())); + Size aSize = pOutDev->GetOutputSizePixel(); + tools::Rectangle aVisArea = pOutDev->PixelToLogic(tools::Rectangle(Point(0,0), aSize)); + Point aPagePos = aVisArea.Center(); - aPagePos.AdjustX( -(aObjRect.GetWidth() / 2) ); - aPagePos.AdjustY( -(aObjRect.GetHeight() / 2) ); + bool bIsInsertedObjectSmallerThanVisibleArea = + aVisArea.GetSize().getHeight() > aObjRect.GetSize().getHeight() + && aVisArea.GetSize().getWidth() > aObjRect.GetSize().getWidth(); + if (bIsInsertedObjectSmallerThanVisibleArea) + { + aPagePos.AdjustX( -(aObjRect.GetWidth() / 2) ); + aPagePos.AdjustY( -(aObjRect.GetHeight() / 2) ); + } + tools::Rectangle aNewObjectRectangle(aPagePos, aObjRect.GetSize()); pNewObject->SetLogicRect(aNewObjectRectangle); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits