Rebased ref, commits from common ancestor: commit ff64c2acebdabc78483953d4f5734ed4c3ad1848 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Thu Feb 2 19:22:23 2023 +0900 Commit: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> CommitDate: Tue May 27 08:44:19 2025 +0900
svx: change SdrPage size and border to use gfx::Length Change-Id: I382cfba6189eab02581057ab5af437cd1d163138 diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx index 8550bf6805f4..69ebc5f8defc 100644 --- a/basctl/source/dlged/dlged.cxx +++ b/basctl/source/dlged/dlged.cxx @@ -218,12 +218,13 @@ DlgEditor::DlgEditor ( aMarkIdle.SetInvokeHandler( LINK( this, DlgEditor, MarkTimeout ) ); rWindow.SetMapMode( MapMode( MapUnit::Map100thMM ) ); - pDlgEdPage->SetSize( rWindow.PixelToLogic( Size(DLGED_PAGE_WIDTH_MIN, DLGED_PAGE_HEIGHT_MIN) ) ); + Size aPageSize = rWindow.PixelToLogic(Size(DLGED_PAGE_WIDTH_MIN, DLGED_PAGE_HEIGHT_MIN)); + pDlgEdPage->setToolsSize(aPageSize); pDlgEdView->ShowSdrPage(pDlgEdView->GetModel().GetPage(0)); pDlgEdView->SetLayerVisible( u"HiddenLayer"_ustr, false ); pDlgEdView->SetMoveSnapOnlyTopLeft(true); - pDlgEdView->SetWorkArea( tools::Rectangle( Point( 0, 0 ), pDlgEdPage->GetSize() ) ); + pDlgEdView->SetWorkArea(pDlgEdPage->getRectangle().toToolsRect()); Size aGridSize( 100, 100 ); // 100TH_MM pDlgEdView->SetGridCoarse( aGridSize ); @@ -269,7 +270,7 @@ void DlgEditor::InitScrollBars() return; Size aOutSize = rWindow.GetOutDev()->GetOutputSize(); - Size aPgSize = pDlgEdPage->GetSize(); + Size aPgSize = pDlgEdPage->getSize().toToolsSize(); pHScroll->SetRange( Range( 0, aPgSize.Width() )); pVScroll->SetRange( Range( 0, aPgSize.Height() )); @@ -1202,11 +1203,11 @@ bool DlgEditor::AdjustPageSize() if ( pDlgEdPage ) { - Size aPageSize = pDlgEdPage->GetSize(); + Size aPageSize = pDlgEdPage->getSize().toToolsSize(); if ( nNewPageWidth != aPageSize.Width() || nNewPageHeight != aPageSize.Height() ) { Size aNewPageSize( nNewPageWidth, nNewPageHeight ); - pDlgEdPage->SetSize( aNewPageSize ); + pDlgEdPage->setToolsSize(aNewPageSize); pDlgEdView->SetWorkArea( tools::Rectangle( Point( 0, 0 ), aNewPageSize ) ); bAdjustedPageSize = true; } diff --git a/basctl/source/dlged/dlgedobj.cxx b/basctl/source/dlged/dlgedobj.cxx index bc714d51c768..c545fdd37faa 100644 --- a/basctl/source/dlged/dlgedobj.cxx +++ b/basctl/source/dlged/dlgedobj.cxx @@ -419,7 +419,7 @@ void DlgEdObj::PositionAndSizeChange( const beans::PropertyChangeEvent& evt ) DBG_ASSERT( pDlgEdForm, "DlgEdObj::PositionAndSizeChange: no form!" ); DlgEdPage& rPage = pDlgEdForm->GetDlgEditor().GetPage(); { - Size aPageSize = rPage.GetSize(); + Size aPageSize = rPage.getSize().toToolsSize(); sal_Int32 nPageWidthIn = aPageSize.Width(); sal_Int32 nPageHeightIn = aPageSize.Height(); sal_Int32 nPageX, nPageY, nPageWidth, nPageHeight; @@ -1294,7 +1294,7 @@ void DlgEdForm::PositionAndSizeChange( const beans::PropertyChangeEvent& evt ) sal_Int32 nPageXIn = 0; sal_Int32 nPageYIn = 0; - Size aPageSize = rPage.GetSize(); + Size aPageSize = rPage.getSize().toToolsSize(); sal_Int32 nPageWidthIn = aPageSize.Width(); sal_Int32 nPageHeightIn = aPageSize.Height(); sal_Int32 nPageX, nPageY, nPageWidth, nPageHeight; @@ -1344,7 +1344,7 @@ void DlgEdForm::PositionAndSizeChange( const beans::PropertyChangeEvent& evt ) if ( bAdjustedPageSize ) { rEditor.InitScrollBars(); - aPageSize = rPage.GetSize(); + aPageSize = rPage.getSize().toToolsSize(); nPageWidthIn = aPageSize.Width(); nPageHeightIn = aPageSize.Height(); if ( TransformSdrToControlCoordinates( nPageXIn, nPageYIn, nPageWidthIn, nPageHeightIn, nPageX, nPageY, nPageWidth, nPageHeight ) ) diff --git a/basctl/source/dlged/dlgedview.cxx b/basctl/source/dlged/dlgedview.cxx index 5ffe5185a2fb..4a3c0281b46e 100644 --- a/basctl/source/dlged/dlgedview.cxx +++ b/basctl/source/dlged/dlgedview.cxx @@ -90,7 +90,7 @@ void DlgEdView::MakeVisible( const tools::Rectangle& rRect, vcl::Window& rWin ) nScrollY -= nDeltaY; // don't scroll beyond the page size - Size aPageSize = rDlgEditor.GetPage().GetSize(); + Size aPageSize = rDlgEditor.GetPage().getSize().toToolsSize(); sal_Int32 nPageWidth = aPageSize.Width(); sal_Int32 nPageHeight = aPageSize.Height(); diff --git a/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx b/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx index 51b163d1fccd..c468e7ee87c4 100644 --- a/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx +++ b/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx @@ -147,7 +147,7 @@ Graphic ViewElementListProvider::GetSymbolGraphic( sal_Int32 nStandardSymbol, co new SdrModel()); rtl::Reference<SdrPage> pPage = new SdrPage( *pModel, false ); - pPage->SetSize(Size(1000,1000)); + pPage->setSize({ 1000_hmm, 1000_hmm }); pModel->InsertPage( pPage.get(), 0 ); SdrView aView(*pModel, pVDev); aView.hideMarkHandles(); diff --git a/chart2/source/controller/main/DrawCommandDispatch.cxx b/chart2/source/controller/main/DrawCommandDispatch.cxx index 2065e123ebcd..434070ad990c 100644 --- a/chart2/source/controller/main/DrawCommandDispatch.cxx +++ b/chart2/source/controller/main/DrawCommandDispatch.cxx @@ -416,7 +416,7 @@ rtl::Reference<SdrObject> DrawCommandDispatch::createDefaultObject( const ChartC if ( pObj ) { Size aObjectSize( 4000, 2500 ); - tools::Rectangle aPageRect( tools::Rectangle( Point( 0, 0 ), pPage->GetSize() ) ); + tools::Rectangle aPageRect(pPage->getRectangle().toToolsRect()); Point aObjectPos = aPageRect.Center(); aObjectPos.AdjustX( -(aObjectSize.Width() / 2) ); aObjectPos.AdjustY( -(aObjectSize.Height() / 2) ); diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx index 60192c88fdef..88ed9ec50363 100644 --- a/chart2/source/view/main/ChartView.cxx +++ b/chart2/source/view/main/ChartView.cxx @@ -1397,7 +1397,7 @@ void ChartView::createShapes() if (pPage) //it is necessary to use the implementation here as the uno page does not provide a propertyset { - pPage->SetSize(Size(aPageSize.Width,aPageSize.Height)); + pPage->setSize({ gfx::Length::hmm(aPageSize.Width), gfx::Length::hmm(aPageSize.Height) }); } else { diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx index 8a55cbf12870..a5fe8ca1ffed 100644 --- a/cui/source/tabpages/tpline.cxx +++ b/cui/source/tabpages/tpline.cxx @@ -820,7 +820,7 @@ void SvxLineTabPage::Reset( const SfxItemSet* rAttrs ) std::unique_ptr<SdrModel> pModel( new SdrModel(nullptr, nullptr, true)); rtl::Reference<SdrPage> pPage = new SdrPage( *pModel, false ); - pPage->SetSize(Size(1000,1000)); + pPage->setSize({ 1_cm, 1_cm }); pModel->InsertPage( pPage.get(), 0 ); { SdrView aView( *pModel, pVDev ); @@ -1446,7 +1446,7 @@ void SvxLineTabPage::PopulateMenus() new SdrModel(nullptr, nullptr, true)); // Page rtl::Reference<SdrPage> pPage = new SdrPage( *pModel, false ); - pPage->SetSize(Size(1000,1000)); + pPage->setSize({ 1_cm, 1_cm }); pModel->InsertPage( pPage.get(), 0 ); { // 3D View diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index 20d3e5d9bc96..3f69def9cf52 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -1247,7 +1247,7 @@ rtl::Reference<SdrObject> SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData { if ( rObjData.nSpFlags & ShapeFlag::Background ) { - pRet->NbcSetSnapRect( tools::Rectangle( Point(), rData.pPage.page->GetSize() ) ); // set size + pRet->NbcSetSnapRect(rData.pPage.page->getRectangle().toToolsRect()); // set size } if (rPersistEntry.xSolverContainer) { @@ -2663,7 +2663,8 @@ bool SdrPowerPointImport::SeekToShape( SvStream& rSt, SvxMSDffClientData* pClien rtl::Reference<SdrPage> SdrPowerPointImport::MakeBlankPage( bool bMaster ) const { rtl::Reference<SdrPage> pRet = pSdrModel->AllocPage( bMaster ); - pRet->SetSize( GetPageSize() ); + Size const& rSize = GetPageSize(); + pRet->setSize({ gfx::Length::hmm(rSize.Width()), gfx::Length::hmm(rSize.Height()) }); return pRet; } @@ -2805,7 +2806,7 @@ void SdrPowerPointImport::ImportPage( SdrPage* pRet, const PptSlidePersistEntry* { case DFF_msofbtSpContainer : { - tools::Rectangle aPageSize( Point(), pRet->GetSize() ); + tools::Rectangle aPageSize = pRet->getRectangle().toToolsRect(); if ( rSlidePersist.aSlideAtom.nFlags & 4 ) // follow master background? { if ( HasMasterPage( m_nCurrentPageNum, m_eCurrentPageKind ) ) @@ -3053,15 +3054,8 @@ rtl::Reference<SdrObject> SdrPowerPointImport::ImportPageBackgroundObject( const pSet->Put( XFillStyleItem( drawing::FillStyle_NONE ) ); } pSet->Put( XLineStyleItem( drawing::LineStyle_NONE ) ); - tools::Rectangle aRect( - rPage.GetLeftBorder(), - rPage.GetUpperBorder(), - rPage.GetWidth() - rPage.GetRightBorder(), - rPage.GetHeight() - rPage.GetLowerBorder()); - - pRet = new SdrRectObj( - *pSdrModel, - aRect); + tools::Rectangle aRect = rPage.getInnerRectangle().toToolsRect(); + pRet = new SdrRectObj(*pSdrModel, aRect); pRet->SetMergedItemSet(*pSet); pRet->SetMarkProtect( true ); diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx index 04514f029425..ed2495a2ede1 100644 --- a/filter/source/svg/svgfilter.cxx +++ b/filter/source/svg/svgfilter.cxx @@ -389,12 +389,12 @@ bool SVGFilter::filterImpressOrDraw( const Sequence< PropertyValue >& rDescripto // in comparison. Use a common scaling factor for hor/ver to not get // asynchronous border distances, though. All in all this will adapt borders // nicely and is based on office-defaults for standard-page-border-sizes. - const Size aPageSize(pTargetSdrPage->GetSize()); + const gfx::Size2DL aPageSize = pTargetSdrPage->getSize(); const double fBorderRelation(( - static_cast< double >(pTargetSdrPage->GetLeftBorder()) / aPageSize.Width() + - static_cast< double >(pTargetSdrPage->GetRightBorder()) / aPageSize.Width() + - static_cast< double >(pTargetSdrPage->GetUpperBorder()) / aPageSize.Height() + - static_cast< double >(pTargetSdrPage->GetLowerBorder()) / aPageSize.Height()) / 4.0); + pTargetSdrPage->getBorder().getLeft() / aPageSize.getWidth() + + pTargetSdrPage->getBorder().getRight() / aPageSize.getWidth() + + pTargetSdrPage->getBorder().getUpper() / aPageSize.getHeight() + + pTargetSdrPage->getBorder().getLower() / aPageSize.getHeight()) / 4.0); const tools::Long nAllBorder(basegfx::fround<tools::Long>((aGraphicSize.Width() + aGraphicSize.Height()) * fBorderRelation * 0.5)); // Adapt PageSize and Border stuff. To get all MasterPages and PresObjs diff --git a/include/svx/svdmodel.hxx b/include/svx/svdmodel.hxx index 15b756b1c9e1..0d1e6098d70b 100644 --- a/include/svx/svdmodel.hxx +++ b/include/svx/svdmodel.hxx @@ -39,6 +39,7 @@ #include <svx/svdtypes.hxx> #include <svx/svxdllapi.h> +#include <basegfx/units/Length.hxx> #include <rtl/ref.hxx> #include <deque> @@ -362,6 +363,13 @@ public: MapUnit GetScaleUnit() const { return m_eObjUnit; } void SetScaleUnit(MapUnit eMap); + gfx::LengthUnit getUnit() const + { + return m_eObjUnit == MapUnit::MapTwip + ? gfx::LengthUnit::twip + : gfx::LengthUnit::hmm; + } + // maximal size e.g. for auto growing texts const Size& GetMaxObjSize() const { return m_aMaxObjSize; } void SetMaxObjSize(const Size& rSiz) { m_aMaxObjSize=rSiz; } diff --git a/include/svx/svdpage.hxx b/include/svx/svdpage.hxx index 3d9c60401544..ea3131367a6b 100644 --- a/include/svx/svdpage.hxx +++ b/include/svx/svdpage.hxx @@ -24,6 +24,7 @@ #include <vcl/prntypes.hxx> #include <svl/itemset.hxx> #include <svx/sdrpageuser.hxx> +#include <svx/svdmodel.hxx> #include <svx/sdr/contact/viewobjectcontactredirector.hxx> #include <svx/sdrmasterpagedescriptor.hxx> #include <svx/svxdllapi.h> @@ -31,11 +32,14 @@ #include <com/sun/star/drawing/XDrawPage.hpp> #include <svx/svdobj.hxx> #include <unotools/weakref.hxx> +#include <basegfx/units/Length.hxx> #include <memory> #include <optional> #include <vector> #include <deque> #include <tools/UniqueID.hxx> +#include <basegfx/units/Size2DLWrap.hxx> +#include <basegfx/units/Range2DLWrap.hxx> // predefines namespace model { class Theme; } @@ -359,6 +363,77 @@ public: void dumpAsXml(xmlTextWriterPtr pWriter) const; }; +namespace svx +{ + +class Border +{ +private: + gfx::Length maLeft; + gfx::Length maRight; + gfx::Length maUpper; + gfx::Length maLower; + gfx::LengthUnit meUnit; + +public: + Border(gfx::LengthUnit eUnit = gfx::LengthUnit::hmm) + : maLeft(0_emu) + , maRight(0_emu) + , maUpper(0_emu) + , maLower(0_emu) + , meUnit(eUnit) + {} + + gfx::Length const& left() const { return maLeft; } + gfx::Length const& right() const { return maRight; } + gfx::Length const& upper() const { return maUpper; } + gfx::Length const& lower() const { return maLower; } + + gfx::Length const& getLeft() const { return maLeft; } + gfx::Length const& getRight() const { return maRight; } + gfx::Length const& getUpper() const { return maUpper; } + gfx::Length const& getLower() const { return maLower; } + + tools::Long leftUnit() const { return maLeft.as(meUnit); } + tools::Long rightUnit() const { return maRight.as(meUnit); } + tools::Long upperUnit() const { return maUpper.as(meUnit); } + tools::Long lowerUnit() const { return maLower.as(meUnit); } + + tools::Rectangle toToolsRect() const + { + return tools::Rectangle(leftUnit(), upperUnit(), rightUnit(), lowerUnit()); + } + + bool isEmpty() const + { + return maLeft == 0_emu + && maRight == 0_emu + && maUpper == 0_emu + && maLower == 0_emu; + } + + void setLeft(gfx::Length const& rLeft) + { + maLeft = rLeft; + } + + void setRight(gfx::Length const& rRight) + { + maRight = rRight; + } + + void setUpper(gfx::Length const& rUpper) + { + maUpper = rUpper; + } + + void setLower(gfx::Length const& rLower) + { + maLower = rLower; + } +}; + +} // end svx /** A SdrPage contains exactly one SdrObjList and a description of the physical @@ -425,12 +500,8 @@ protected: std::vector<rtl::Reference<sdr::annotation::Annotation>> maAnnotations; private: - tools::Long mnWidth; // page size - tools::Long mnHeight; // page size - sal_Int32 mnBorderLeft; // left page margin - sal_Int32 mnBorderUpper; // top page margin - sal_Int32 mnBorderRight; // right page margin - sal_Int32 mnBorderLower; // bottom page margin + gfx::Size2DLWrap maSize; + svx::Border maBorder; UniqueID maUniqueID; bool mbBackgroundFullSize = false; ///< Background object to represent the whole page. @@ -488,21 +559,50 @@ public: void setPageBorderOnlyLeftRight(bool bNew) { mbPageBorderOnlyLeftRight = bNew; } bool getPageBorderOnlyLeftRight() const { return mbPageBorderOnlyLeftRight; } - virtual void SetSize(const Size& aSiz); - Size GetSize() const; + gfx::LengthUnit getUnit() const { return getSdrModelFromSdrPage().getUnit(); } + virtual void setSize(gfx::Size2DLWrap const& rSize); + + void setToolsSize(Size const rSize) + { + setSize(gfx::Size2DLWrap::create(rSize, getUnit())); + } + + const gfx::Size2DLWrap& getSize() const + { + return maSize; + } + + gfx::Range2DLWrap getRectangle() const + { + return gfx::Range2DLWrap(0_emu, 0_emu, maSize.getWidth(), maSize.getHeight(), getUnit()); + } + + gfx::Range2DLWrap getInnerRectangle() const + { + return gfx::Range2DLWrap(maBorder.getLeft(), maBorder.getUpper(), + maSize.getWidth() - maBorder.getRight(), + maSize.getHeight() - maBorder.getLower(), + getUnit()); + } + virtual void SetOrientation(Orientation eOri); virtual Orientation GetOrientation() const; - tools::Long GetWidth() const; - tools::Long GetHeight() const; - virtual void SetBorder(sal_Int32 nLft, sal_Int32 nUpp, sal_Int32 nRgt, sal_Int32 Lwr); + + virtual svx::Border const& getBorder() const + { + return maBorder; + } + + virtual void setBorder(svx::Border const& rBorder) + { + maBorder = rBorder; + } + + virtual void SetBorder(sal_Int32 nLeft, sal_Int32 nUpper, sal_Int32 nRight, sal_Int32 Lower); virtual void SetLeftBorder(sal_Int32 nBorder); virtual void SetUpperBorder(sal_Int32 nBorder); virtual void SetRightBorder(sal_Int32 nBorder); virtual void SetLowerBorder(sal_Int32 nBorder); - sal_Int32 GetLeftBorder() const; - sal_Int32 GetUpperBorder() const; - sal_Int32 GetRightBorder() const; - sal_Int32 GetLowerBorder() const; sal_uInt64 GetUniqueID() const { return maUniqueID.getID(); } void SetBackgroundFullSize(bool bIn); bool IsBackgroundFullSize() const; diff --git a/reportdesign/source/ui/report/ReportSection.cxx b/reportdesign/source/ui/report/ReportSection.cxx index de7f0ef69be4..e3072be03ac4 100644 --- a/reportdesign/source/ui/report/ReportSection.cxx +++ b/reportdesign/source/ui/report/ReportSection.cxx @@ -221,9 +221,10 @@ void OReportSection::fill() // m_pPage->SetUpperBorder(-10000); m_pView->SetDesignMode(); - - m_pPage->SetSize( Size( getStyleProperty<awt::Size>(xReportDefinition,PROPERTY_PAPERSIZE).Width,5*m_xSection->getHeight()) ); - const Size aPageSize = m_pPage->GetSize(); + auto aWidth = getStyleProperty<awt::Size>(xReportDefinition, PROPERTY_PAPERSIZE).Width; + auto aHeight = 5 * m_xSection->getHeight(); + m_pPage->setToolsSize(Size(aWidth, aHeight)); + const Size aPageSize = m_pPage->getSize().toToolsSize(); m_pView->SetWorkArea( tools::Rectangle( Point( nLeftMargin, 0), Size(aPageSize.Width() - nLeftMargin - nRightMargin,aPageSize.Height()) ) ); } @@ -482,12 +483,12 @@ void OReportSection::_propertyChanged(const beans::PropertyChangeEvent& _rEvent) { m_pPage->SetRightBorder(nRightMargin); } - const Size aOldPageSize = m_pPage->GetSize(); + const Size aOldPageSize = m_pPage->getSize().toToolsSize(); sal_Int32 nNewHeight = 5*m_xSection->getHeight(); if ( aOldPageSize.Height() != nNewHeight || nPaperWidth != aOldPageSize.Width() ) { - m_pPage->SetSize( Size( nPaperWidth,nNewHeight) ); - const Size aPageSize = m_pPage->GetSize(); + m_pPage->setToolsSize(Size(nPaperWidth, nNewHeight)); + const Size aPageSize = m_pPage->getSize().toToolsSize(); m_pView->SetWorkArea( tools::Rectangle( Point( nLeftMargin, 0), Size(aPageSize.Width() - nLeftMargin - nRightMargin,aPageSize.Height()) ) ); } impl_adjustObjectSizePosition(nPaperWidth,nLeftMargin,nRightMargin); diff --git a/reportdesign/source/ui/report/SectionView.cxx b/reportdesign/source/ui/report/SectionView.cxx index 4a4bf32ad1b4..72619bd82393 100644 --- a/reportdesign/source/ui/report/SectionView.cxx +++ b/reportdesign/source/ui/report/SectionView.cxx @@ -85,7 +85,7 @@ void OSectionView::MakeVisible( const tools::Rectangle& rRect, vcl::Window& rWin const sal_Int32 nVisBottom = aVisRect.Bottom(); // don't scroll beyond the page size - Size aPageSize = m_pSectionWindow->getPage()->GetSize(); + Size aPageSize = m_pSectionWindow->getPage()->getSize().toToolsSize(); const sal_Int32 nPageWidth = aPageSize.Width(); const sal_Int32 nPageHeight = aPageSize.Height(); diff --git a/sc/source/core/data/drawpage.cxx b/sc/source/core/data/drawpage.cxx index 9baa9be3ca6a..43034dde81f5 100644 --- a/sc/source/core/data/drawpage.cxx +++ b/sc/source/core/data/drawpage.cxx @@ -24,8 +24,8 @@ ScDrawPage::ScDrawPage(ScDrawLayer& rNewModel, bool bMasterPage) : FmFormPage(rNewModel, bMasterPage) { - SetSize( Size( SAL_MAX_INT32, SAL_MAX_INT32 ) ); - // largest size supported by sal_Int32 SdrPage::mnWidth/Height + setToolsSize(Size(SAL_MAX_INT32, SAL_MAX_INT32)); + // largest size supported by sal_Int32 SdrPage::mnWidth/Height } ScDrawPage::~ScDrawPage() diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx index d41f21e86d71..4d09f4a662bb 100644 --- a/sc/source/core/data/drwlayer.cxx +++ b/sc/source/core/data/drwlayer.cxx @@ -644,9 +644,9 @@ void ScDrawLayer::SetPageSize(sal_uInt16 nPageNo, const Size& rSize, bool bUpdat if (!pPage) return; - if ( rSize != pPage->GetSize() ) + if (rSize != pPage->getSize().toToolsSize()) { - pPage->SetSize( rSize ); + pPage->setToolsSize(rSize); Broadcast( ScTabSizeChangedHint( static_cast<SCTAB>(nPageNo) ) ); // SetWorkArea() on the views } diff --git a/sc/source/core/data/postit.cxx b/sc/source/core/data/postit.cxx index 817c33566ba3..8ea866c1a0e5 100644 --- a/sc/source/core/data/postit.cxx +++ b/sc/source/core/data/postit.cxx @@ -353,7 +353,7 @@ void ScCaptionCreator::Initialize() mbNegPage = mrDoc.IsNegativePage( maPos.Tab() ); if( SdrPage* pDrawPage = GetDrawPage() ) { - maPageRect = tools::Rectangle( Point( 0, 0 ), pDrawPage->GetSize() ); + maPageRect = pDrawPage->getRectangle().toToolsRect(); /* #i98141# SdrPage::GetSize() returns negative width in RTL mode. The call to Rectangle::Adjust() orders left/right coordinate accordingly. */ diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx index f2f50c276beb..f97c60574db1 100644 --- a/sc/source/filter/rtf/eeimpars.cxx +++ b/sc/source/filter/rtf/eeimpars.cxx @@ -604,7 +604,7 @@ void ScEEImport::InsertGraphic( SCCOL nCol, SCROW nRow, SCTAB nTab, aLogicSize = pDefaultDev->PixelToLogic( aSizePix, MapMode( MapUnit::Map100thMM ) ); // Limit size - ::ScLimitSizeOnDrawPage( aLogicSize, aInsertPos, pPage->GetSize() ); + ::ScLimitSizeOnDrawPage(aLogicSize, aInsertPos, pPage->getSize().toToolsSize()); if ( pI->oGraphic ) { diff --git a/sc/source/ui/app/client.cxx b/sc/source/ui/app/client.cxx index 5c44bc077e83..5960a9239c37 100644 --- a/sc/source/ui/app/client.cxx +++ b/sc/source/ui/app/client.cxx @@ -99,7 +99,7 @@ void ScClient::RequestNewObjectArea( tools::Rectangle& aLogicRect ) return; Point aPos; - Size aSize = pPage->GetSize(); + Size aSize = pPage->getSize().toToolsSize(); if ( aSize.Width() < 0 ) { aPos.setX( aSize.Width() + 1 ); // negative diff --git a/sc/source/ui/drawfunc/fuins1.cxx b/sc/source/ui/drawfunc/fuins1.cxx index 728865a43f4d..a506bc8207a3 100644 --- a/sc/source/ui/drawfunc/fuins1.cxx +++ b/sc/source/ui/drawfunc/fuins1.cxx @@ -183,7 +183,7 @@ static void lcl_InsertGraphic( const Graphic& rGraphic, if ( rData.GetDocument().IsNegativePage( rData.GetTabNo() ) ) aInsertPos.AdjustX( -(aLogicSize.Width()) ); // move position to left edge - ScLimitSizeOnDrawPage( aLogicSize, aInsertPos, pPage->GetSize() ); + ScLimitSizeOnDrawPage(aLogicSize, aInsertPos, pPage->getSize().toToolsSize()); tools::Rectangle aRect ( aInsertPos, aLogicSize ); @@ -237,7 +237,7 @@ static void lcl_InsertMedia( const OUString& rMediaURL, bool bApi, else aSize = Size( 5000, 5000 ); - ScLimitSizeOnDrawPage( aSize, aInsertPos, pPage->GetSize() ); + ScLimitSizeOnDrawPage(aSize, aInsertPos, pPage->getSize().toToolsSize()); if( rData.GetDocument().IsNegativePage( rData.GetTabNo() ) ) aInsertPos.AdjustX( -(aSize.Width()) ); diff --git a/sc/source/ui/view/drawview.cxx b/sc/source/ui/view/drawview.cxx index 8794d3f89521..6a4299967e5b 100644 --- a/sc/source/ui/view/drawview.cxx +++ b/sc/source/ui/view/drawview.cxx @@ -258,9 +258,9 @@ void ScDrawView::UpdateWorkArea() SdrPage* pPage = GetModel().GetPage(static_cast<sal_uInt16>(nTab)); if (pPage) { - Size aPageSize( pPage->GetSize() ); + Size aPageSize(pPage->getSize().toToolsSize()); tools::Rectangle aNewArea( Point(), aPageSize ); - if ( aPageSize.Width() < 0 ) + if (aPageSize.Width() < 0) { // RTL: from max.negative (left) to zero (right) aNewArea.SetRight( 0 ); diff --git a/sc/source/ui/view/viewfun7.cxx b/sc/source/ui/view/viewfun7.cxx index 87b25b9dc8eb..d832d7f78187 100644 --- a/sc/source/ui/view/viewfun7.cxx +++ b/sc/source/ui/view/viewfun7.cxx @@ -57,7 +57,7 @@ static void lcl_AdjustInsertPos( ScViewData& rData, Point& rPos, const Size& rSi { SdrPage* pPage = rData.GetScDrawView()->GetModel().GetPage( static_cast<sal_uInt16>(rData.GetTabNo()) ); assert(pPage && "pPage ???"); - Size aPgSize( pPage->GetSize() ); + Size aPgSize(pPage->getSize().toToolsSize()); if (aPgSize.Width() < 0) aPgSize.setWidth( -aPgSize.Width() ); tools::Long x = aPgSize.Width() - rPos.X() - rSize.Width(); diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx index 37bd5aa91a8a..8c8a784d68cb 100644 --- a/sd/inc/drawdoc.hxx +++ b/sd/inc/drawdoc.hxx @@ -22,9 +22,11 @@ #include <com/sun/star/text/WritingMode.hpp> #include <svl/style.hxx> #include <svx/fmmodel.hxx> +#include <svx/svdpage.hxx> #include <unotools/charclass.hxx> #include <vcl/prntypes.hxx> #include <xmloff/autolayout.hxx> +#include <basegfx/units/Size2DLWrap.hxx> #include <vector> #include <memory> @@ -267,11 +269,8 @@ struct InsertBookmarkOptions */ struct PageProperties { - Size size; // Page size dimensions - sal_Int32 left; // Left margin - sal_Int32 right; // Right margin - sal_Int32 upper; // Upper (top) margin - sal_Int32 lower; // Lower (bottom) margin + gfx::Size2DLWrap size; // Page size dimensions + svx::Border border; Orientation orientation; // Page orientation (portrait/landscape) SdPage* pPage; // Pointer to the page object }; diff --git a/sd/inc/sdpage.hxx b/sd/inc/sdpage.hxx index f5245ddecc1c..c0a55dc59b5f 100644 --- a/sd/inc/sdpage.hxx +++ b/sd/inc/sdpage.hxx @@ -153,7 +153,8 @@ public: virtual rtl::Reference<SdrPage> CloneSdrPage(SdrModel& rTargetModel) const override; - virtual void SetSize(const Size& aSize) override; + virtual void setSize(gfx::Size2DLWrap const& rSize) override; + virtual void SetBorder(sal_Int32 nLft, sal_Int32 nUpp, sal_Int32 nRgt, sal_Int32 Lwr) override; virtual void SetLeftBorder(sal_Int32 nBorder) override; virtual void SetRightBorder(sal_Int32 nBorder) override; diff --git a/sd/source/core/CustomAnimationEffect.cxx b/sd/source/core/CustomAnimationEffect.cxx index 009cdbdb910c..858a7109ea37 100644 --- a/sd/source/core/CustomAnimationEffect.cxx +++ b/sd/source/core/CustomAnimationEffect.cxx @@ -1584,8 +1584,8 @@ void CustomAnimationEffect::updateSdrPathObjFromPath( SdrPathObj& rPathObj ) SdrPage* pPage = pObj->getSdrPageFromSdrObject(); if( pPage ) { - const Size aPageSize( pPage->GetSize() ); - aPolyPoly.transform(basegfx::utils::createScaleB2DHomMatrix(static_cast<double>(aPageSize.Width()), static_cast<double>(aPageSize.Height()))); + const auto aPageSize = pPage->getSize().toB2DSize(); + aPolyPoly.transform(basegfx::utils::createScaleB2DHomMatrix(aPageSize.getWidth(), aPageSize.getHeight())); } const ::tools::Rectangle aBoundRect( pObj->GetCurrentBoundRect() ); @@ -1625,9 +1625,10 @@ void CustomAnimationEffect::updatePathFromSdrPathObj( const SdrPathObj& rPathObj SdrPage* pPage = pObj->getSdrPageFromSdrObject(); if( pPage ) { - const Size aPageSize( pPage->GetSize() ); + const auto aPageSize = pPage->getSize().toB2DSize(); aPolyPoly.transform(basegfx::utils::createScaleB2DHomMatrix( - 1.0 / static_cast<double>(aPageSize.Width()), 1.0 / static_cast<double>(aPageSize.Height()))); + 1.0 / aPageSize.getWidth(), + 1.0 / aPageSize.getHeight())); } } diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx index a07d24e4ffcb..7f6d5b1a5ab3 100644 --- a/sd/source/core/drawdoc.cxx +++ b/sd/source/core/drawdoc.cxx @@ -461,9 +461,11 @@ void SdDrawDocument::AdaptPageSizeForAllPages( new SdPageFormatUndoAction( this, pPage, - pPage->GetSize(), - pPage->GetLeftBorder(), pPage->GetRightBorder(), - pPage->GetUpperBorder(), pPage->GetLowerBorder(), + pPage->getSize().toToolsSize(), + pPage->getBorder().leftUnit(), + pPage->getBorder().rightUnit(), + pPage->getBorder().upperUnit(), + pPage->getBorder().lowerUnit(), pPage->GetOrientation(), pPage->GetPaperBin(), pPage->IsBackgroundFullSize(), @@ -484,7 +486,7 @@ void SdDrawDocument::AdaptPageSizeForAllPages( if (rNewSize.Width() > 0) { - pPage->SetSize(rNewSize); + pPage->setToolsSize(rNewSize); } } @@ -516,9 +518,11 @@ void SdDrawDocument::AdaptPageSizeForAllPages( new SdPageFormatUndoAction( this, pPage, - pPage->GetSize(), - pPage->GetLeftBorder(), pPage->GetRightBorder(), - pPage->GetUpperBorder(), pPage->GetLowerBorder(), + pPage->getSize().toToolsSize(), + pPage->getBorder().leftUnit(), + pPage->getBorder().rightUnit(), + pPage->getBorder().upperUnit(), + pPage->getBorder().lowerUnit(), pPage->GetOrientation(), pPage->GetPaperBin(), pPage->IsBackgroundFullSize(), @@ -539,7 +543,7 @@ void SdDrawDocument::AdaptPageSizeForAllPages( if (rNewSize.Width() > 0) { - pPage->SetSize(rNewSize); + pPage->setToolsSize(rNewSize); } } diff --git a/sd/source/core/drawdoc2.cxx b/sd/source/core/drawdoc2.cxx index c89b605a90e3..f865737eed67 100644 --- a/sd/source/core/drawdoc2.cxx +++ b/sd/source/core/drawdoc2.cxx @@ -578,12 +578,12 @@ void SdDrawDocument::CreateFirstPages( SdDrawDocument const * pRefDocument /* = if( pRefPage ) { - pHandoutPage->SetSize(pRefPage->GetSize()); - pHandoutPage->SetBorder( pRefPage->GetLeftBorder(), pRefPage->GetUpperBorder(), pRefPage->GetRightBorder(), pRefPage->GetLowerBorder() ); + pHandoutPage->setSize(pRefPage->getSize()); + pHandoutPage->setBorder(pRefPage->getBorder()); } else { - pHandoutPage->SetSize(aDefSize); + pHandoutPage->setToolsSize(aDefSize); pHandoutPage->SetBorder(0, 0, 0, 0); } @@ -593,12 +593,9 @@ void SdDrawDocument::CreateFirstPages( SdDrawDocument const * pRefDocument /* = // Insert master page and register this with the handout page rtl::Reference<SdPage> pHandoutMPage = AllocSdPage(true); - pHandoutMPage->SetSize( pHandoutPage->GetSize() ); + pHandoutMPage->setSize(pHandoutPage->getSize()); pHandoutMPage->SetPageKind(PageKind::Handout); - pHandoutMPage->SetBorder( pHandoutPage->GetLeftBorder(), - pHandoutPage->GetUpperBorder(), - pHandoutPage->GetRightBorder(), - pHandoutPage->GetLowerBorder() ); + pHandoutMPage->setBorder(pHandoutPage->getBorder()); InsertMasterPage(pHandoutMPage.get(), 0); pHandoutPage->TRG_SetMasterPage( *pHandoutMPage ); @@ -617,13 +614,13 @@ void SdDrawDocument::CreateFirstPages( SdDrawDocument const * pRefDocument /* = if( pRefPage ) { - pPage->SetSize( pRefPage->GetSize() ); - pPage->SetBorder( pRefPage->GetLeftBorder(), pRefPage->GetUpperBorder(), pRefPage->GetRightBorder(), pRefPage->GetLowerBorder() ); + pPage->setSize(pRefPage->getSize()); + pPage->setBorder(pRefPage->getBorder()); } else if (meDocType == DocumentType::Draw) { // Draw: always use default size with margins - pPage->SetSize(aDefSize); + pPage->setToolsSize(aDefSize); SfxPrinter* pPrinter = mpDocSh->GetPrinter(false); if (pPrinter && pPrinter->IsValid()) @@ -653,9 +650,9 @@ void SdDrawDocument::CreateFirstPages( SdDrawDocument const * pRefDocument /* = else { // Impress: always use screen format, landscape. - Size aSz( SvxPaperInfo::GetPaperSize(PAPER_SCREEN_16_9, MapUnit::Map100thMM) ); - pPage->SetSize( Size( aSz.Height(), aSz.Width() ) ); - pPage->SetBorder(0, 0, 0, 0); + Size aSize = SvxPaperInfo::GetPaperSize(PAPER_SCREEN_16_9, MapUnit::Map100thMM); + pPage->setToolsSize(Size(aSize.Height(), aSize.Width())); + pPage->setBorder(svx::Border()); } InsertPage(pPage.get(), 1); @@ -668,11 +665,8 @@ void SdDrawDocument::CreateFirstPages( SdDrawDocument const * pRefDocument /* = // Insert master page, then register this with the page rtl::Reference<SdPage> pMPage = AllocSdPage(true); - pMPage->SetSize( pPage->GetSize() ); - pMPage->SetBorder( pPage->GetLeftBorder(), - pPage->GetUpperBorder(), - pPage->GetRightBorder(), - pPage->GetLowerBorder() ); + pMPage->setSize(pPage->getSize()); + pMPage->setBorder(pPage->getBorder()); InsertMasterPage(pMPage.get(), 1); pPage->TRG_SetMasterPage( *pMPage ); if( bClipboard ) @@ -686,19 +680,19 @@ void SdDrawDocument::CreateFirstPages( SdDrawDocument const * pRefDocument /* = if( pRefPage ) { - pNotesPage->SetSize( pRefPage->GetSize() ); - pNotesPage->SetBorder( pRefPage->GetLeftBorder(), pRefPage->GetUpperBorder(), pRefPage->GetRightBorder(), pRefPage->GetLowerBorder() ); + pNotesPage->setSize(pRefPage->getSize()); + pNotesPage->setBorder(pRefPage->getBorder()); } else { // Always use portrait format if (aDefSize.Height() >= aDefSize.Width()) { - pNotesPage->SetSize(aDefSize); + pNotesPage->setToolsSize(aDefSize); } else { - pNotesPage->SetSize( Size(aDefSize.Height(), aDefSize.Width()) ); + pNotesPage->setToolsSize(Size(aDefSize.Height(), aDefSize.Width())); } pNotesPage->SetBorder(0, 0, 0, 0); @@ -710,12 +704,9 @@ void SdDrawDocument::CreateFirstPages( SdDrawDocument const * pRefDocument /* = // Insert master page, then register this with the notes page rtl::Reference<SdPage> pNotesMPage = AllocSdPage(true); - pNotesMPage->SetSize( pNotesPage->GetSize() ); + pNotesMPage->setSize(pNotesPage->getSize()); pNotesMPage->SetPageKind(PageKind::Notes); - pNotesMPage->SetBorder( pNotesPage->GetLeftBorder(), - pNotesPage->GetUpperBorder(), - pNotesPage->GetRightBorder(), - pNotesPage->GetLowerBorder() ); + pNotesMPage->setBorder(pNotesPage->getBorder()); InsertMasterPage(pNotesMPage.get(), 2); pNotesPage->TRG_SetMasterPage( *pNotesMPage ); if( bClipboard ) @@ -1163,11 +1154,8 @@ void SdDrawDocument::CheckMasterPages() pNewNotesPage->SetPageKind(PageKind::Notes); if( pRefNotesPage ) { - pNewNotesPage->SetSize( pRefNotesPage->GetSize() ); - pNewNotesPage->SetBorder( pRefNotesPage->GetLeftBorder(), - pRefNotesPage->GetUpperBorder(), - pRefNotesPage->GetRightBorder(), - pRefNotesPage->GetLowerBorder() ); + pNewNotesPage->setSize(pRefNotesPage->getSize()); + pNewNotesPage->setBorder(pRefNotesPage->getBorder()); } InsertMasterPage(pNewNotesPage.get(), nPage ); pNewNotesPage->SetLayoutName( pPage->GetLayoutName() ); @@ -1233,11 +1221,8 @@ sal_uInt16 SdDrawDocument::CreatePage ( // Set the size here since else the presobj autolayout // will be wrong. - pStandardPage->SetSize( pPreviousStandardPage->GetSize() ); - pStandardPage->SetBorder( pPreviousStandardPage->GetLeftBorder(), - pPreviousStandardPage->GetUpperBorder(), - pPreviousStandardPage->GetRightBorder(), - pPreviousStandardPage->GetLowerBorder() ); + pStandardPage->setSize(pPreviousStandardPage->getSize()); + pStandardPage->setBorder(pPreviousStandardPage->getBorder()); // Use master page of current page. pStandardPage->TRG_SetMasterPage(pPreviousStandardPage->TRG_GetMasterPage()); @@ -1422,11 +1407,8 @@ void SdDrawDocument::SetupNewPage ( { if (pPreviousPage != nullptr) { - pPage->SetSize( pPreviousPage->GetSize() ); - pPage->SetBorder( pPreviousPage->GetLeftBorder(), - pPreviousPage->GetUpperBorder(), - pPreviousPage->GetRightBorder(), - pPreviousPage->GetLowerBorder() ); + pPage->setSize(pPreviousPage->getSize()); + pPage->setBorder(pPreviousPage->getBorder()); } pPage->SetName(sPageName); diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx index 9d3c48404330..45a39d060db4 100644 --- a/sd/source/core/drawdoc3.cxx +++ b/sd/source/core/drawdoc3.cxx @@ -412,20 +412,14 @@ void SdDrawDocument::getPageProperties(PageProperties& mainProps, PageProperties { // Get the properties from the first Standard page. mainProps.pPage = GetSdPage(0, PageKind::Standard); - mainProps.size = mainProps.pPage->GetSize(); - mainProps.left = mainProps.pPage->GetLeftBorder(); - mainProps.right = mainProps.pPage->GetRightBorder(); - mainProps.upper = mainProps.pPage->GetUpperBorder(); - mainProps.lower = mainProps.pPage->GetLowerBorder(); + mainProps.size = mainProps.pPage->getSize(); + mainProps.border = mainProps.pPage->getBorder(); mainProps.orientation = mainProps.pPage->GetOrientation(); // Similarly for the first Notes page. notesProps.pPage = GetSdPage(0, PageKind::Notes); - notesProps.size = notesProps.pPage->GetSize(); - notesProps.left = notesProps.pPage->GetLeftBorder(); - notesProps.right = notesProps.pPage->GetRightBorder(); - notesProps.upper = notesProps.pPage->GetUpperBorder(); - notesProps.lower = notesProps.pPage->GetLowerBorder(); + notesProps.size = notesProps.pPage->getSize(); + notesProps.border = notesProps.pPage->getBorder(); notesProps.orientation = notesProps.pPage->GetOrientation(); // Adapt the main page properties using the last standard page. @@ -458,11 +452,11 @@ bool SdDrawDocument::determineScaleObjects(bool bNoDialogs, { // If not dialog-less, compare the first bookmark page with our reference page. SdPage* pBMPage = rParams.pBookmarkDoc->GetSdPage(0, PageKind::Standard); - if (pBMPage->GetSize() != rParams.mainProps.pPage->GetSize() || - pBMPage->GetLeftBorder() != rParams.mainProps.pPage->GetLeftBorder() || - pBMPage->GetRightBorder() != rParams.mainProps.pPage->GetRightBorder() || - pBMPage->GetUpperBorder() != rParams.mainProps.pPage->GetUpperBorder() || - pBMPage->GetLowerBorder() != rParams.mainProps.pPage->GetLowerBorder()) + if (pBMPage->getSize() != rParams.mainProps.pPage->getSize() || + pBMPage->getBorder().getLeft() != rParams.mainProps.pPage->getBorder().getLeft() || + pBMPage->getBorder().getRight() != rParams.mainProps.pPage->getBorder().getRight() || + pBMPage->getBorder().getUpper() != rParams.mainProps.pPage->getBorder().getUpper() || + pBMPage->getBorder().getLower() != rParams.mainProps.pPage->getBorder().getLower()) { OUString aStr(SdResId(STR_SCALE_OBJECTS)); std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(nullptr, @@ -936,11 +930,10 @@ void SdDrawDocument::updateInsertedPages(PageInsertionParams& rParams, if (rParams.bScaleObjects) { - ::tools::Rectangle aBorderRect(rParams.mainProps.left, rParams.mainProps.upper, rParams.mainProps.right, rParams.mainProps.lower); - rParams.mainProps.pPage->ScaleObjects(rParams.mainProps.size, aBorderRect, true); + rParams.mainProps.pPage->ScaleObjects(rParams.mainProps.size.toToolsSize(), rParams.mainProps.border.toToolsRect(), true); } - rParams.mainProps.pPage->SetSize(rParams.mainProps.size); - rParams.mainProps.pPage->SetBorder(rParams.mainProps.left, rParams.mainProps.upper, rParams.mainProps.right, rParams.mainProps.lower); + rParams.mainProps.pPage->setSize(rParams.mainProps.size); + rParams.mainProps.pPage->setBorder(rParams.mainProps.border); rParams.mainProps.pPage->SetOrientation(rParams.mainProps.orientation); if (bRemoveEmptyPresObj) @@ -955,12 +948,11 @@ void SdDrawDocument::updateInsertedPages(PageInsertionParams& rParams, if (rParams.bScaleObjects) { - ::tools::Rectangle aBorderRect(rParams.notesProps.left, rParams.notesProps.upper, rParams.notesProps.right, rParams.notesProps.lower); - rParams.notesProps.pPage->ScaleObjects(rParams.notesProps.size, aBorderRect, true); + rParams.notesProps.pPage->ScaleObjects(rParams.notesProps.size.toToolsSize(), rParams.notesProps.border.toToolsRect(), true); } - rParams.notesProps.pPage->SetSize(rParams.notesProps.size); - rParams.notesProps.pPage->SetBorder(rParams.notesProps.left, rParams.notesProps.upper, rParams.notesProps.right, rParams.notesProps.lower); + rParams.notesProps.pPage->setSize(rParams.notesProps.size); + rParams.notesProps.pPage->setBorder(rParams.notesProps.border); rParams.notesProps.pPage->SetOrientation(rParams.notesProps.orientation); if (bRemoveEmptyPresObj) @@ -977,11 +969,10 @@ void SdDrawDocument::updateInsertedPages(PageInsertionParams& rParams, { if (rParams.bScaleObjects) { - ::tools::Rectangle aBorderRect(rParams.mainProps.left, rParams.mainProps.upper, rParams.mainProps.right, rParams.mainProps.lower); - rParams.mainProps.pPage->ScaleObjects(rParams.mainProps.size, aBorderRect, true); + rParams.mainProps.pPage->ScaleObjects(rParams.mainProps.size.toToolsSize(), rParams.mainProps.border.toToolsRect(), true); } - rParams.mainProps.pPage->SetSize(rParams.mainProps.size); - rParams.mainProps.pPage->SetBorder(rParams.mainProps.left, rParams.mainProps.upper, rParams.mainProps.right, rParams.mainProps.lower); + rParams.mainProps.pPage->setSize(rParams.mainProps.size); + rParams.mainProps.pPage->setBorder(rParams.mainProps.border); rParams.mainProps.pPage->SetOrientation(rParams.mainProps.orientation); uno::Reference<drawing::XDrawPage> xNewPage(GetMasterPage(nPage)->getUnoPage(), uno::UNO_QUERY_THROW); @@ -1012,11 +1003,10 @@ void SdDrawDocument::updateInsertedPages(PageInsertionParams& rParams, { if (rParams.bScaleObjects) { - ::tools::Rectangle aBorderRect(rParams.notesProps.left, rParams.notesProps.upper, rParams.notesProps.right, rParams.notesProps.lower); - rParams.notesProps.pPage->ScaleObjects(rParams.notesProps.size, aBorderRect, true); + rParams.notesProps.pPage->ScaleObjects(rParams.notesProps.size.toToolsSize(), rParams.notesProps.border.toToolsRect(), true); } - rParams.notesProps.pPage->SetSize(rParams.notesProps.size); - rParams.notesProps.pPage->SetBorder(rParams.notesProps.left, rParams.notesProps.upper, rParams.notesProps.right, rParams.notesProps.lower); + rParams.notesProps.pPage->setSize(rParams.notesProps.size); + rParams.notesProps.pPage->setBorder(rParams.notesProps.border); rParams.notesProps.pPage->SetOrientation(rParams.notesProps.orientation); } @@ -1188,7 +1178,7 @@ bool SdDrawDocument::InsertBookmarkAsObject( } else { - aObjPos = ::tools::Rectangle(Point(), pPage->GetSize()).Center(); + aObjPos = ::tools::Rectangle(Point(), pPage->getSize().toToolsSize()).Center(); } size_t nCountBefore = 0; @@ -1873,31 +1863,21 @@ void SdDrawDocument::SetMasterPage(sal_uInt16 nSdPageNum, // Adapt new master pages if (pSourceDoc != this) { - Size aSize(rOldMaster.GetSize()); - ::tools::Rectangle aBorderRect(rOldMaster.GetLeftBorder(), - rOldMaster.GetUpperBorder(), - rOldMaster.GetRightBorder(), - rOldMaster.GetLowerBorder()); + Size aSize = rOldMaster.getSize().toToolsSize(); + + tools::Rectangle aBorderRect(rOldMaster.getBorder().toToolsRect()); + pMaster->ScaleObjects(aSize, aBorderRect, true); - pMaster->SetSize(aSize); - pMaster->SetBorder(rOldMaster.GetLeftBorder(), - rOldMaster.GetUpperBorder(), - rOldMaster.GetRightBorder(), - rOldMaster.GetLowerBorder()); + pMaster->setSize(rOldMaster.getSize()); + pMaster->setBorder(rOldMaster.getBorder()); pMaster->SetOrientation( rOldMaster.GetOrientation() ); pMaster->SetAutoLayout(pMaster->GetAutoLayout()); - aSize = rOldNotesMaster.GetSize(); - ::tools::Rectangle aNotesBorderRect(rOldNotesMaster.GetLeftBorder(), - rOldNotesMaster.GetUpperBorder(), - rOldNotesMaster.GetRightBorder(), - rOldNotesMaster.GetLowerBorder()); + aSize = rOldNotesMaster.getSize().toToolsSize(); + tools::Rectangle aNotesBorderRect(rOldNotesMaster.getBorder().toToolsRect()); pNotesMaster->ScaleObjects(aSize, aNotesBorderRect, true); - pNotesMaster->SetSize(aSize); - pNotesMaster->SetBorder(rOldNotesMaster.GetLeftBorder(), - rOldNotesMaster.GetUpperBorder(), - rOldNotesMaster.GetRightBorder(), - rOldNotesMaster.GetLowerBorder()); + pNotesMaster->setSize(rOldNotesMaster.getSize()); + pNotesMaster->setBorder(rOldNotesMaster.getBorder()); pNotesMaster->SetOrientation( rOldNotesMaster.GetOrientation() ); pNotesMaster->SetAutoLayout(pNotesMaster->GetAutoLayout()); @@ -1932,11 +1912,8 @@ void SdDrawDocument::SetMasterPage(sal_uInt16 nSdPageNum, } pMaster = AllocSdPage(true); - pMaster->SetSize(pSelectedPage->GetSize()); - pMaster->SetBorder(pSelectedPage->GetLeftBorder(), - pSelectedPage->GetUpperBorder(), - pSelectedPage->GetRightBorder(), - pSelectedPage->GetLowerBorder() ); + pMaster->setSize(pSelectedPage->getSize()); + pMaster->setBorder(pSelectedPage->getBorder()); pMaster->SetName(aName); pMaster->SetLayoutName(aPageLayoutName); InsertMasterPage(pMaster.get()); @@ -1948,11 +1925,8 @@ void SdDrawDocument::SetMasterPage(sal_uInt16 nSdPageNum, pNotesMaster = AllocSdPage(true); pNotesMaster->SetPageKind(PageKind::Notes); - pNotesMaster->SetSize(pNotes->GetSize()); - pNotesMaster->SetBorder(pNotes->GetLeftBorder(), - pNotes->GetUpperBorder(), - pNotes->GetRightBorder(), - pNotes->GetLowerBorder() ); + pNotesMaster->setSize(pNotes->getSize()); + pNotesMaster->setBorder(pNotes->getBorder()); pNotesMaster->SetName(aName); pNotesMaster->SetLayoutName(aPageLayoutName); InsertMasterPage(pNotesMaster.get()); diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 501c2da5b8ed..5ae97e8bdf21 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -1000,18 +1000,14 @@ rtl::Reference<SdrObject> SdPage::CreateDefaultPresObj(PresObjKind eObjKind) // create footer objects for standard master page if( mePageKind == PageKind::Standard ) { - const ::tools::Long nLftBorder = GetLeftBorder(); - const ::tools::Long nUppBorder = GetUpperBorder(); - - Point aPos ( nLftBorder, nUppBorder ); - Size aSize ( GetSize() ); - - aSize.AdjustWidth( -(nLftBorder + GetRightBorder()) ); - aSize.AdjustHeight( -(nUppBorder + GetLowerBorder()) ); + Point aPosition(getBorder().leftUnit(), getBorder().upperUnit()); + Size aSize = getSize().toToolsSize(); + aSize.AdjustWidth(-basegfx::fround(getBorder().leftUnit() + getBorder().rightUnit())); + aSize.AdjustHeight(-basegfx::fround(getBorder().upperUnit() + getBorder().lowerUnit())); getPresObjProp( *this, sObjKind, sPageKind, propvalue); - aPos.AdjustX(::tools::Long( aSize.Width() * propvalue[2] ) ); - aPos.AdjustY(::tools::Long( aSize.Height() * propvalue[3] ) ); + aPosition.AdjustX(::tools::Long( aSize.Width() * propvalue[2] ) ); + aPosition.AdjustY(::tools::Long( aSize.Height() * propvalue[3] ) ); aSize.setWidth( ::tools::Long( aSize.Width() * propvalue[1] ) ); aSize.setHeight( ::tools::Long( aSize.Height() * propvalue[0] ) ); @@ -1022,18 +1018,17 @@ rtl::Reference<SdrObject> SdPage::CreateDefaultPresObj(PresObjKind eObjKind) } else { - ::tools::Rectangle aRect( aPos, aSize ); + ::tools::Rectangle aRect( aPosition, aSize ); return CreatePresObj( eObjKind, false, aRect ); } } else { // create header&footer objects for handout and notes master - Size aPageSize ( GetSize() ); - aPageSize.AdjustWidth( -(GetLeftBorder() + GetRightBorder()) ); - aPageSize.AdjustHeight( -(GetUpperBorder() + GetLowerBorder()) ); - - Point aPosition ( GetLeftBorder(), GetUpperBorder() ); + Point aPosition(getBorder().leftUnit(), getBorder().upperUnit()); + Size aPageSize = getSize().toToolsSize(); + aPageSize.AdjustWidth(-basegfx::fround(getBorder().leftUnit() + getBorder().rightUnit())); + aPageSize.AdjustHeight(-basegfx::fround(getBorder().upperUnit() + getBorder().lowerUnit())); getPresObjProp( *this, sObjKind, sPageKind, propvalue); int NOTES_HEADER_FOOTER_WIDTH = ::tools::Long(aPageSize.Width() * propvalue[1]); @@ -1092,10 +1087,11 @@ void SdPage::DestroyDefaultPresObj(PresObjKind eObjKind) /****************************************************************** * standard- or note page: title area ******************************************************************/ - Point aTitlePos ( GetLeftBorder(), GetUpperBorder() ); - Size aTitleSize ( GetSize() ); - aTitleSize.AdjustWidth( -(GetLeftBorder() + GetRightBorder()) ); - aTitleSize.AdjustHeight( -(GetUpperBorder() + GetLowerBorder()) ); + Point aTitlePos(getBorder().leftUnit(), getBorder().upperUnit()); + Size aTitleSize = getSize().toToolsSize(); + aTitleSize.AdjustWidth(-basegfx::fround(getBorder().leftUnit() + getBorder().rightUnit())); + aTitleSize.AdjustHeight(-basegfx::fround(getBorder().upperUnit() + getBorder().lowerUnit())); + const char* sPageKind = PageKindVector[mePageKind]; if (mePageKind == PageKind::Standard) @@ -1136,15 +1132,15 @@ void SdPage::DestroyDefaultPresObj(PresObjKind eObjKind) if ( pRefPage ) { // scale actually page size into handout rectangle - double fH = pRefPage->GetWidth() == 0 - ? 0 : static_cast<double>(aPartArea.Width()) / pRefPage->GetWidth(); - double fV = pRefPage->GetHeight() == 0 - ? 0 : static_cast<double>(aPartArea.Height()) / pRefPage->GetHeight(); + double fH = pRefPage->getSize().toToolsSize().getWidth() == 0 + ? 0 : static_cast<double>(aPartArea.Width()) / pRefPage->getSize().toToolsSize().getWidth(); + double fV = pRefPage->getSize().toToolsSize().getHeight() == 0 + ? 0 : static_cast<double>(aPartArea.Height()) / pRefPage->getSize().toToolsSize().getHeight(); if ( fH > fV ) fH = fV; - aSize.setWidth( static_cast<::tools::Long>(fH * pRefPage->GetWidth()) ); - aSize.setHeight( static_cast<::tools::Long>(fH * pRefPage->GetHeight()) ); + aSize.setWidth( static_cast<::tools::Long>(fH * pRefPage->getSize().toToolsSize().getWidth()) ); + aSize.setHeight( static_cast<::tools::Long>(fH * pRefPage->getSize().toToolsSize().getHeight()) ); aPos.AdjustX((aPartArea.Width() - aSize.Width()) / 2 ); aPos.AdjustY((aPartArea.Height()- aSize.Height())/ 2 ); @@ -1175,10 +1171,10 @@ void SdPage::DestroyDefaultPresObj(PresObjKind eObjKind) { double propvalue[] = {0,0,0,0}; - Point aLayoutPos ( GetLeftBorder(), GetUpperBorder() ); - Size aLayoutSize ( GetSize() ); - aLayoutSize.AdjustWidth( -(GetLeftBorder() + GetRightBorder()) ); - aLayoutSize.AdjustHeight( -(GetUpperBorder() + GetLowerBorder()) ); + Point aLayoutPos(getBorder().leftUnit(), getBorder().upperUnit()); + Size aLayoutSize = getSize().toToolsSize(); + aLayoutSize.AdjustWidth(-basegfx::fround(getBorder().leftUnit() + getBorder().rightUnit())); + aLayoutSize.AdjustHeight(-basegfx::fround(getBorder().upperUnit() + getBorder().lowerUnit())); const char* sPageKind = PageKindVector[mePageKind]; if (mePageKind == PageKind::Standard) @@ -1777,12 +1773,12 @@ void SdPage::GetPageInfo(::tools::JsonWriter& jsonWriter) { jsonWriter.put("visible", static_cast<unsigned int>(!this->IsExcluded())); jsonWriter.put("selected", static_cast<unsigned int>(this->IsSelected())); - jsonWriter.put("width", GetWidth()); - jsonWriter.put("height", GetHeight()); - jsonWriter.put("leftBorder", GetLeftBorder()); - jsonWriter.put("rightBorder", GetRightBorder()); - jsonWriter.put("upperBorder", GetUpperBorder()); - jsonWriter.put("lowerBorder", GetLowerBorder()); + jsonWriter.put("width", getSize().toToolsSize().getWidth()); + jsonWriter.put("height", getSize().toToolsSize().getHeight()); + jsonWriter.put("leftBorder", getBorder().leftUnit()); + jsonWriter.put("rightBorder",getBorder().rightUnit()); + jsonWriter.put("upperBorder", getBorder().upperUnit()); + jsonWriter.put("lowerBorder", getBorder().lowerUnit()); jsonWriter.put("name", GetName()); jsonWriter.put("hash", GetUniqueID()); } @@ -1802,26 +1798,25 @@ void SdPage::NotifyPagePropertyChanges() } } -void SdPage::SetSize(const Size& aSize) +void SdPage::setSize(gfx::Size2DLWrap const& rSize) { - Size aOldSize = GetSize(); + auto const& rOldSize = getSize(); - if (aSize != aOldSize) + if (rSize != rOldSize) { - FmFormPage::SetSize(aSize); - + FmFormPage::setSize(rSize); if (comphelper::LibreOfficeKit::isActive() && SfxViewShell::Current()) NotifyPagePropertyChanges(); } } -void SdPage::SetBorder(sal_Int32 nLft, sal_Int32 nUpp, sal_Int32 nRgt, sal_Int32 nLwr) +void SdPage::SetBorder(sal_Int32 nLeft, sal_Int32 nUpper, sal_Int32 nRight, sal_Int32 nLower) { - if (nLft != GetLeftBorder() || nUpp != GetUpperBorder() || - nRgt != GetRightBorder() || nLwr != GetLowerBorder() ) + auto eUnit = getUnit(); + if (gfx::Length::from(eUnit, nLeft) != getBorder().getLeft() || gfx::Length::from(eUnit, nUpper) != getBorder().getUpper() || + gfx::Length::from(eUnit, nRight) != getBorder().getRight() || gfx::Length::from(eUnit, nLower) != getBorder().getLower()) { - FmFormPage::SetBorder(nLft, nUpp, nRgt, nLwr); - + FmFormPage::SetBorder(nLeft, nUpper, nRight, nLower); if (comphelper::LibreOfficeKit::isActive() && SfxViewShell::Current()) NotifyPagePropertyChanges(); } @@ -1829,7 +1824,7 @@ void SdPage::SetBorder(sal_Int32 nLft, sal_Int32 nUpp, sal_Int32 nRgt, sal_Int32 void SdPage::SetLeftBorder(sal_Int32 nBorder) { - if (nBorder != GetLeftBorder() ) + if (gfx::Length::from(getUnit(), nBorder) != getBorder().getLeft()) { FmFormPage::SetLeftBorder(nBorder); } @@ -1837,7 +1832,7 @@ void SdPage::SetLeftBorder(sal_Int32 nBorder) void SdPage::SetRightBorder(sal_Int32 nBorder) { - if (nBorder != GetRightBorder() ) + if (gfx::Length::from(getUnit(), nBorder) != getBorder().getRight()) { FmFormPage::SetRightBorder(nBorder); } @@ -1845,7 +1840,7 @@ void SdPage::SetRightBorder(sal_Int32 nBorder) void SdPage::SetUpperBorder(sal_Int32 nBorder) { - if (nBorder != GetUpperBorder() ) + if (gfx::Length::from(getUnit(), nBorder) != getBorder().getUpper()) { FmFormPage::SetUpperBorder(nBorder); } @@ -1853,7 +1848,7 @@ void SdPage::SetUpperBorder(sal_Int32 nBorder) void SdPage::SetLowerBorder(sal_Int32 nBorder) { - if (nBorder != GetLowerBorder() ) + if (gfx::Length::from(getUnit(), nBorder) != getBorder().getLower()) { FmFormPage::SetLowerBorder(nBorder); } @@ -1885,27 +1880,27 @@ void SdPage::ScaleObjects(const Size& rNewPageSize, const ::tools::Rectangle& rN // -> use up to date values if (aNewPageSize.Width() < 0) { - aNewPageSize.setWidth( GetWidth() ); + aNewPageSize.setWidth(getSize().toToolsSize().getWidth()); } if (aNewPageSize.Height() < 0) { - aNewPageSize.setHeight( GetHeight() ); + aNewPageSize.setHeight(getSize().toToolsSize().getHeight()); } if (nLeft < 0) { - nLeft = GetLeftBorder(); + nLeft = getBorder().leftUnit(); } if (nRight < 0) { - nRight = GetRightBorder(); + nRight = getBorder().rightUnit(); } if (nUpper < 0) { - nUpper = GetUpperBorder(); + nUpper = getBorder().upperUnit(); } if (nLower < 0) { - nLower = GetLowerBorder(); + nLower = getBorder().lowerUnit(); } Size aBackgroundSize(aNewPageSize); @@ -1917,8 +1912,8 @@ void SdPage::ScaleObjects(const Size& rNewPageSize, const ::tools::Rectangle& rN aNewPageSize = aBackgroundSize; } - ::tools::Long nOldWidth = GetWidth() - GetLeftBorder() - GetRightBorder(); - ::tools::Long nOldHeight = GetHeight() - GetUpperBorder() - GetLowerBorder(); + ::tools::Long nOldWidth = (getSize().getWidth() - getBorder().getLeft() - getBorder().getRight()).as(getUnit()); + ::tools::Long nOldHeight = (getSize().getHeight() - getBorder().getUpper() - getBorder().getLower()).as(getUnit()); Fraction aFractX(aNewPageSize.Width(), nOldWidth); Fraction aFractY(aNewPageSize.Height(), nOldHeight); @@ -2107,8 +2102,8 @@ void SdPage::ScaleObjects(const Size& rNewPageSize, const ::tools::Rectangle& rN // corrected scaling; only distances may be scaled // use aTopLeft as original TopLeft - aNewPos.setX( ::tools::Long((aTopLeft.X() - GetLeftBorder()) * static_cast<double>(aFractX)) + nLeft ); - aNewPos.setY( ::tools::Long((aTopLeft.Y() - GetUpperBorder()) * static_cast<double>(aFractY)) + nUpper ); + aNewPos.setX( ::tools::Long((aTopLeft.X() - getBorder().leftUnit()) * double(aFractX)) + nLeft ); + aNewPos.setY( ::tools::Long((aTopLeft.Y() - getBorder().upperUnit()) * double(aFractY)) + nUpper ); Size aVec(aNewPos.X() - aTopLeft.X(), aNewPos.Y() - aTopLeft.Y()); @@ -2626,15 +2621,10 @@ void SdPage::SetOrientation( Orientation /*eOrient*/) Orientation SdPage::GetOrientation() const { - Size aSize = GetSize(); - if ( aSize.getWidth() > aSize.getHeight() ) - { + auto aSize = getSize(); + if (aSize.getWidth() > aSize.getHeight()) return Orientation::Landscape; - } - else - { - return Orientation::Portrait; - } + return Orientation::Portrait; } /************************************************************************* @@ -2994,7 +2984,7 @@ void SdPage::CalculateHandoutAreas(SdDrawDocument& rModel, AutoLayout eLayout, b const sal_uInt16* pOffsets = aOffsets[0]; - Size aArea = rHandoutMaster.GetSize(); + Size aArea = rHandoutMaster.getSize().toToolsSize(); const bool bLandscape = aArea.Width() > aArea.Height() || eOrient == Orientation::Landscape; if ((eOrient == Orientation::Landscape && aArea.Width() < aArea.Height()) @@ -3011,10 +3001,10 @@ void SdPage::CalculateHandoutAreas(SdDrawDocument& rModel, AutoLayout eLayout, b const ::tools::Long nGapW = 1000; // gap is 1cm const ::tools::Long nGapH = 1000; - ::tools::Long nLeftBorder = rHandoutMaster.GetLeftBorder(); - ::tools::Long nRightBorder = rHandoutMaster.GetRightBorder(); - ::tools::Long nTopBorder = rHandoutMaster.GetUpperBorder(); - ::tools::Long nBottomBorder = rHandoutMaster.GetLowerBorder(); + ::tools::Long nLeftBorder = rHandoutMaster.getBorder().leftUnit(); + ::tools::Long nRightBorder = rHandoutMaster.getBorder().rightUnit(); + ::tools::Long nTopBorder = rHandoutMaster.getBorder().upperUnit(); + ::tools::Long nBottomBorder = rHandoutMaster.getBorder().lowerUnit(); const ::tools::Long nHeaderFooterHeight = static_cast< ::tools::Long >( (aArea.Height() - nTopBorder - nLeftBorder) * 0.05 ); @@ -3091,17 +3081,18 @@ void SdPage::CalculateHandoutAreas(SdDrawDocument& rModel, AutoLayout eLayout, b aPartArea.setHeight( (aArea.Height() - ((nRowCnt-1) * nGapH) ) / nRowCnt ); SdrPage* pFirstPage = rModel.GetMasterSdPage(0, PageKind::Standard); - if (pFirstPage && pFirstPage->GetWidth() && pFirstPage->GetHeight()) + Size aFirstPageSize = pFirstPage->getSize().toToolsSize(); + if (pFirstPage && aFirstPageSize.Width() && aFirstPageSize.Height()) { // scale actual size into handout rect - double fScale = static_cast<double>(aPartArea.Width()) / static_cast<double>(pFirstPage->GetWidth()); + double fScale = static_cast<double>(aPartArea.Width()) / static_cast<double>(aFirstPageSize.Width()); - aSize.setHeight( static_cast<::tools::Long>(fScale * pFirstPage->GetHeight() ) ); + aSize.setHeight( static_cast<::tools::Long>(fScale * aFirstPageSize.Height() ) ); if( aSize.Height() > aPartArea.Height() ) { - fScale = static_cast<double>(aPartArea.Height()) / static_cast<double>(pFirstPage->GetHeight()); + fScale = static_cast<double>(aPartArea.Height()) / static_cast<double>(aFirstPageSize.Height()); aSize.setHeight( aPartArea.Height() ); - aSize.setWidth( static_cast<::tools::Long>(fScale * pFirstPage->GetWidth()) ); + aSize.setWidth( static_cast<::tools::Long>(fScale * aFirstPageSize.Width()) ); } else { diff --git a/sd/source/filter/grf/sdgrffilter.cxx b/sd/source/filter/grf/sdgrffilter.cxx index ad544150da93..f2aee40fb7d3 100644 --- a/sd/source/filter/grf/sdgrffilter.cxx +++ b/sd/source/filter/grf/sdgrffilter.cxx @@ -185,12 +185,12 @@ bool SdGRFFilter::Import() void SdGRFFilter::InsertSdrGrafObj(const Graphic& rGraphic, SdPage* pPage) { Point aPos; - Size aPagSize(pPage->GetSize()); + Size aPagSize(pPage->getSize().toToolsSize()); Size aGrfSize(OutputDevice::LogicToLogic(rGraphic.GetPrefSize(), rGraphic.GetPrefMapMode(), MapMode(MapUnit::Map100thMM))); - aPagSize.AdjustWidth(-(pPage->GetLeftBorder() + pPage->GetRightBorder())); - aPagSize.AdjustHeight(-(pPage->GetUpperBorder() + pPage->GetLowerBorder())); + aPagSize.AdjustWidth(-basegfx::fround((pPage->getBorder().getLeft() + pPage->getBorder().getRight()).as(pPage->getUnit()))); + aPagSize.AdjustHeight(-basegfx::fround((pPage->getBorder().getUpper() + pPage->getBorder().getLower()).as(pPage->getUnit()))); // scale to fit page if (((aGrfSize.Height() > aPagSize.Height()) || (aGrfSize.Width() > aPagSize.Width())) @@ -213,8 +213,8 @@ void SdGRFFilter::InsertSdrGrafObj(const Graphic& rGraphic, SdPage* pPage) } // set output rectangle for graphic - aPos.setX(((aPagSize.Width() - aGrfSize.Width()) >> 1) + pPage->GetLeftBorder()); - aPos.setY(((aPagSize.Height() - aGrfSize.Height()) >> 1) + pPage->GetUpperBorder()); + aPos.setX(((aPagSize.Width() - aGrfSize.Width()) / 2.0) + pPage->getBorder().leftUnit()); + aPos.setY(((aPagSize.Height() - aGrfSize.Height()) / 2.0) + pPage->getBorder().upperUnit()); pPage->InsertObject(new SdrGrafObj(pPage->getSdrModelFromSdrPage(), rGraphic, ::tools::Rectangle(aPos, aGrfSize))); diff --git a/sd/source/filter/pdf/sdpdffilter.cxx b/sd/source/filter/pdf/sdpdffilter.cxx index 068aca1fcce9..127ef0f4c65c 100644 --- a/sd/source/filter/pdf/sdpdffilter.cxx +++ b/sd/source/filter/pdf/sdpdffilter.cxx @@ -86,7 +86,7 @@ bool SdPdfFilter::Import() return false; // Make the page size match the rendered image. - pPage->SetSize(aSizeHMM); + pPage->setToolsSize(aSizeHMM); rtl::Reference<SdrGrafObj> pSdrGrafObj = new SdrGrafObj(rModel, rGraphic, tools::Rectangle(Point(), aSizeHMM)); diff --git a/sd/source/ui/annotations/annotationmanager.cxx b/sd/source/ui/annotations/annotationmanager.cxx index 504bbe63adef..f480487a4786 100644 --- a/sd/source/ui/annotations/annotationmanager.cxx +++ b/sd/source/ui/annotations/annotationmanager.cxx @@ -488,7 +488,7 @@ void AnnotationManagerImpl::InsertAnnotation(const OUString& rText) sdr::annotation::AnnotationVector aAnnotations(pPage->getAnnotations()); if (!aAnnotations.empty()) { - const int fPageWidth = pPage->GetSize().Width(); + const int fPageWidth = pPage->getSize().toToolsSize().Width(); const int fWidth = 1000; const int fHeight = 800; diff --git a/sd/source/ui/app/sdmod2.cxx b/sd/source/ui/app/sdmod2.cxx index 52ebc7b33c5e..caa64b368ccd 100644 --- a/sd/source/ui/app/sdmod2.cxx +++ b/sd/source/ui/app/sdmod2.cxx @@ -523,7 +523,7 @@ std::optional<SfxItemSet> SdModule::CreateItemSet( sal_uInt16 nSlot ) { assert(pDoc); SdrPage* pPage = pDoc->GetSdPage(0, PageKind::Standard); - Size aSize(pPage->GetSize()); + Size aSize(pPage->getSize().toToolsSize()); nW = aSize.Width(); nH = aSize.Height(); } diff --git a/sd/source/ui/app/sdxfer.cxx b/sd/source/ui/app/sdxfer.cxx index 31d61b6b9b19..dca8289403a0 100644 --- a/sd/source/ui/app/sdxfer.cxx +++ b/sd/source/ui/app/sdxfer.cxx @@ -286,7 +286,7 @@ void SdTransferable::CreateData() SdPage* pPage = mpSdDrawDocumentIntern->GetSdPage( 0, PageKind::Standard ); OUString aOldLayoutName( pOldPage->GetLayoutName() ); - pPage->SetSize( pOldPage->GetSize() ); + pPage->setSize(pOldPage->getSize()); pPage->SetLayoutName( aOldLayoutName ); pNewStylePool->CopyGraphicSheets( *pOldStylePool ); pNewStylePool->CopyCellSheets( *pOldStylePool ); @@ -318,7 +318,7 @@ void SdTransferable::CreateData() pObj->NbcMove( aVector ); } else - maVisArea.SetSize( pPage->GetSize() ); + maVisArea.SetSize(pPage->getSize().toToolsSize()); // output is at the zero point maVisArea.SetPos( Point() ); diff --git a/sd/source/ui/dlg/copydlg.cxx b/sd/source/ui/dlg/copydlg.cxx index 6b8fe8c7e302..5451841bd7b8 100644 --- a/sd/source/ui/dlg/copydlg.cxx +++ b/sd/source/ui/dlg/copydlg.cxx @@ -91,7 +91,7 @@ void CopyDlg::Reset() { // Set Min/Max values ::tools::Rectangle aRect = mpView->GetAllMarkedRect(); - Size aPageSize = mpView->GetSdrPageView()->GetPage()->GetSize(); + Size aPageSize = mpView->GetSdrPageView()->GetPage()->getSize().toToolsSize(); // tdf#125011 draw/impress sizes are in mm_100th already, "normalize" to // decimal shift by number of decimal places the widgets are using (2) then diff --git a/sd/source/ui/dlg/headerfooterdlg.cxx b/sd/source/ui/dlg/headerfooterdlg.cxx index 95f8249699bc..b60546bf7781 100644 --- a/sd/source/ui/dlg/headerfooterdlg.cxx +++ b/sd/source/ui/dlg/headerfooterdlg.cxx @@ -645,7 +645,7 @@ void PresLayoutPreview::SetDrawingArea(weld::DrawingArea* pDrawingArea) void PresLayoutPreview::init( SdPage *pMaster ) { mpMaster = pMaster; - maPageSize = pMaster->GetSize(); + maPageSize = pMaster->getSize().toToolsSize(); } void PresLayoutPreview::update( HeaderFooterSettings const & rSettings ) diff --git a/sd/source/ui/docshell/docshel2.cxx b/sd/source/ui/docshell/docshel2.cxx index f5489f20392d..1acf07cdb80c 100644 --- a/sd/source/ui/docshell/docshel2.cxx +++ b/sd/source/ui/docshell/docshel2.cxx @@ -129,7 +129,7 @@ void DrawDocShell::Draw(OutputDevice* pOut, const JobSetup&, sal_uInt16 nAspect, if( ( ASPECT_THUMBNAIL == nAspect ) || ( ASPECT_DOCPRINT == nAspect ) ) { // provide size of first page - aVisArea.SetSize(mpDoc->GetSdPage(0, PageKind::Standard)->GetSize()); + aVisArea.SetSize(mpDoc->GetSdPage(0, PageKind::Standard)->getSize().toToolsSize()); } else { @@ -181,7 +181,7 @@ BitmapEx DrawDocShell::GetPagePreviewBitmap(SdPage* pPage) { const sal_uInt16 nMaxEdgePixel = 90; MapMode aMapMode( MapUnit::Map100thMM ); - const Size aSize( pPage->GetSize() ); + const Size aSize = pPage->getSize().toToolsSize(); const Point aNullPt; ScopedVclPtrInstance< VirtualDevice > pVDev( *Application::GetDefaultDevice() ); diff --git a/sd/source/ui/func/fuexpand.cxx b/sd/source/ui/func/fuexpand.cxx index 74625c53eff3..5cb0529b428b 100644 --- a/sd/source/ui/func/fuexpand.cxx +++ b/sd/source/ui/func/fuexpand.cxx @@ -134,11 +134,8 @@ void FuExpandPage::DoExecute( SfxRequest& ) { // page with title & structuring! rtl::Reference<SdPage> pPage = mpDoc->AllocSdPage(false); - pPage->SetSize(pActualPage->GetSize() ); - pPage->SetBorder(pActualPage->GetLeftBorder(), - pActualPage->GetUpperBorder(), - pActualPage->GetRightBorder(), - pActualPage->GetLowerBorder() ); + pPage->setSize(pActualPage->getSize() ); + pPage->setBorder(pActualPage->getBorder()); pPage->SetName(OUString()); // insert page after current page @@ -156,11 +153,8 @@ void FuExpandPage::DoExecute( SfxRequest& ) // notes-page rtl::Reference<SdPage> pNotesPage = mpDoc->AllocSdPage(false); - pNotesPage->SetSize(pActualNotesPage->GetSize()); - pNotesPage->SetBorder(pActualNotesPage->GetLeftBorder(), - pActualNotesPage->GetUpperBorder(), - pActualNotesPage->GetRightBorder(), - pActualNotesPage->GetLowerBorder() ); + pNotesPage->setSize(pActualNotesPage->getSize()); + pNotesPage->setBorder(pActualNotesPage->getBorder()); pNotesPage->SetPageKind(PageKind::Notes); pNotesPage->SetName(OUString()); diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx index 44470c09b4d4..7af3497b68a8 100644 --- a/sd/source/ui/func/fuinsert.cxx +++ b/sd/source/ui/func/fuinsert.cxx @@ -594,7 +594,7 @@ void FuInsertOLE::DoExecute( SfxRequest& rReq ) { // we create a new OLE object SdrPageView* pPV = mpView->GetSdrPageView(); - Size aPageSize = pPV->GetPage()->GetSize(); + Size aPageSize = pPV->GetPage()->getSize().toToolsSize(); // get the size from the iconified object ::svt::EmbeddedObjectRef aObjRef( xObj, nAspect ); diff --git a/sd/source/ui/func/fuinsfil.cxx b/sd/source/ui/func/fuinsfil.cxx index e9fc1eee39b0..aa26cb8609f9 100644 --- a/sd/source/ui/func/fuinsfil.cxx +++ b/sd/source/ui/func/fuinsfil.cxx @@ -432,7 +432,7 @@ void FuInsertFile::InsTextOrRTFinDrMode(SfxMedium* pMedium) if( nIndex != -1 ) aLayoutName = aLayoutName.copy(0, nIndex); - aOutliner.SetPaperSize(pPage->GetSize()); + aOutliner.SetPaperSize(pPage->getSize().toToolsSize()); SvStream* pStream = pMedium->GetInStream(); assert(pStream && "No InStream!"); diff --git a/sd/source/ui/func/fupage.cxx b/sd/source/ui/func/fupage.cxx index ee97cd1694fa..11ba720b3f11 100644 --- a/sd/source/ui/func/fupage.cxx +++ b/sd/source/ui/func/fupage.cxx @@ -229,7 +229,7 @@ void FuPage::ExecuteAsyncDialog(weld::Window* pParent, const SfxRequest& rReq) aNewAttr->Put( aPageItem ); // size - maSize = mpPage->GetSize(); + maSize = mpPage->getSize().toToolsSize(); SvxSizeItem aSizeItem( SID_ATTR_PAGE_SIZE, maSize ); aNewAttr->Put( aSizeItem ); @@ -241,13 +241,15 @@ void FuPage::ExecuteAsyncDialog(weld::Window* pParent, const SfxRequest& rReq) SvxPaperBinItem aPaperBinItem( SID_ATTR_PAGE_PAPERBIN, static_cast<sal_uInt8>(mpPage->GetPaperBin()) ); aNewAttr->Put( aPaperBinItem ); - SvxLRSpaceItem aLRSpaceItem(SvxIndentValue::twips(mpPage->GetLeftBorder()), - SvxIndentValue::twips(mpPage->GetRightBorder()), + SvxLRSpaceItem aLRSpaceItem(SvxIndentValue::twips(mpPage->getBorder().leftUnit()), + SvxIndentValue::twips(mpPage->getBorder().rightUnit()), SvxIndentValue::zero(), mpDoc->GetPool().GetWhichIDFromSlotID(SID_ATTR_LRSPACE)); aNewAttr->Put( aLRSpaceItem ); - SvxULSpaceItem aULSpaceItem( static_cast<sal_uInt16>(mpPage->GetUpperBorder()), static_cast<sal_uInt16>(mpPage->GetLowerBorder()), mpDoc->GetPool().GetWhichIDFromSlotID(SID_ATTR_ULSPACE)); + SvxULSpaceItem aULSpaceItem(static_cast<sal_uInt16>(mpPage->getBorder().upperUnit()), + static_cast<sal_uInt16>(mpPage->getBorder().lowerUnit()), + mpDoc->GetPool().GetWhichIDFromSlotID(SID_ATTR_ULSPACE)); aNewAttr->Put( aULSpaceItem ); // Application @@ -516,7 +518,7 @@ void FuPage::ApplyItemSet( const SfxItemSet* pArgs ) { aNewSize = static_cast<const SvxSizeItem*>(pPoolItem)->GetSize(); - if( mpPage->GetSize() != aNewSize ) + if (mpPage->getSize().toToolsSize() != aNewSize) bSetPageSizeAndBorder = true; } @@ -526,9 +528,11 @@ void FuPage::ApplyItemSet( const SfxItemSet* pArgs ) nLeft = static_cast<const SvxLRSpaceItem*>(pPoolItem)->ResolveLeft({}); nRight = static_cast<const SvxLRSpaceItem*>(pPoolItem)->ResolveRight({}); - if( mpPage->GetLeftBorder() != nLeft || mpPage->GetRightBorder() != nRight ) + if (mpPage->getBorder().leftUnit() != nLeft + || mpPage->getBorder().rightUnit() != nRight) + { bSetPageSizeAndBorder = true; - + } } if( pArgs->GetItemState(mpDoc->GetPool().GetWhichIDFromSlotID(SID_ATTR_ULSPACE), @@ -537,8 +541,11 @@ void FuPage::ApplyItemSet( const SfxItemSet* pArgs ) nUpper = static_cast<const SvxULSpaceItem*>(pPoolItem)->GetUpper(); nLower = static_cast<const SvxULSpaceItem*>(pPoolItem)->GetLower(); - if( mpPage->GetUpperBorder() != nUpper || mpPage->GetLowerBorder() != nLower ) + if (mpPage->getBorder().upperUnit() != nUpper + || mpPage->getBorder().lowerUnit() != nLower) + { bSetPageSizeAndBorder = true; + } } if( pArgs->GetItemState(mpDoc->GetPool().GetWhichIDFromSlotID(SID_ATTR_PAGE_EXT1), true, &pPoolItem) == SfxItemState::SET ) @@ -573,14 +580,14 @@ void FuPage::ApplyItemSet( const SfxItemSet* pArgs ) if (nLeft == -1 && nUpper != -1) { bSetPageSizeAndBorder = true; - nLeft = mpPage->GetLeftBorder(); - nRight = mpPage->GetRightBorder(); + nLeft = mpPage->getBorder().leftUnit(); + nRight = mpPage->getBorder().rightUnit(); } else if (nLeft != -1 && nUpper == -1) { bSetPageSizeAndBorder = true; - nUpper = mpPage->GetUpperBorder(); - nLower = mpPage->GetLowerBorder(); + nUpper = mpPage->getBorder().upperUnit(); + nLower = mpPage->getBorder().lowerUnit(); } if( bSetPageSizeAndBorder || !mbMasterPage ) @@ -613,7 +620,7 @@ void FuPage::ApplyItemSet( const SfxItemSet* pArgs ) } // Objects can not be bigger than ViewSize - Size aPageSize = mpDoc->GetSdPage(0, ePageKind)->GetSize(); + Size aPageSize = mpDoc->GetSdPage(0, ePageKind)->getSize().toToolsSize(); Size aViewSize(aPageSize.Width() * 3, aPageSize.Height() * 2); mpDoc->SetMaxObjSize(aViewSize); diff --git a/sd/source/ui/func/fusumry.cxx b/sd/source/ui/func/fusumry.cxx index bf63c84485c1..0ff7f5a8e4eb 100644 --- a/sd/source/ui/func/fusumry.cxx +++ b/sd/source/ui/func/fusumry.cxx @@ -119,11 +119,8 @@ void FuSummaryPage::DoExecute( SfxRequest& ) // page with title & structuring! pSummaryPage = mpDoc->AllocSdPage(false); - pSummaryPage->SetSize(pActualPage->GetSize() ); - pSummaryPage->SetBorder(pActualPage->GetLeftBorder(), - pActualPage->GetUpperBorder(), - pActualPage->GetRightBorder(), - pActualPage->GetLowerBorder() ); + pSummaryPage->setSize(pActualPage->getSize()); + pSummaryPage->setBorder(pActualPage->getBorder()); // insert page at the back mpDoc->InsertPage(pSummaryPage.get(), nCount * 2 + 1); @@ -139,11 +136,8 @@ void FuSummaryPage::DoExecute( SfxRequest& ) // notes-page rtl::Reference<SdPage> pNotesPage = mpDoc->AllocSdPage(false); - pNotesPage->SetSize(pActualNotesPage->GetSize()); - pNotesPage->SetBorder(pActualNotesPage->GetLeftBorder(), - pActualNotesPage->GetUpperBorder(), - pActualNotesPage->GetRightBorder(), - pActualNotesPage->GetLowerBorder() ); + pNotesPage->setSize(pActualNotesPage->getSize()); + pNotesPage->setBorder(pActualNotesPage->getBorder()); pNotesPage->SetPageKind(PageKind::Notes); // insert page at the back diff --git a/sd/source/ui/func/fuzoom.cxx b/sd/source/ui/func/fuzoom.cxx index ec0fec3bf49e..f03907820e62 100644 --- a/sd/source/ui/func/fuzoom.cxx +++ b/sd/source/ui/func/fuzoom.cxx @@ -116,7 +116,7 @@ bool FuZoom::MouseMove(const MouseEvent& rMEvt) if (aScroll.X() != 0 || aScroll.Y() != 0) { Size aWorkSize = mpView->GetWorkArea().GetSize(); - Size aPageSize = mpView->GetSdrPageView()->GetPage()->GetSize(); + Size aPageSize = mpView->GetSdrPageView()->GetPage()->getSize().toToolsSize(); if (aWorkSize.Width() != 0 && aWorkSize.Height() != 0 && aPageSize.Width() != 0 && aPageSize.Height() != 0) { diff --git a/sd/source/ui/func/undopage.cxx b/sd/source/ui/func/undopage.cxx index 174747bf6c5d..26dcc17f4587 100644 --- a/sd/source/ui/func/undopage.cxx +++ b/sd/source/ui/func/undopage.cxx @@ -29,7 +29,7 @@ void SdPageFormatUndoAction::Undo() { ::tools::Rectangle aOldBorderRect(mnOldLeft, mnOldUpper, mnOldRight, mnOldLower); mpPage->ScaleObjects(maOldSize, aOldBorderRect, mbNewScale); - mpPage->SetSize(maOldSize); + mpPage->setToolsSize(maOldSize); mpPage->SetLeftBorder(mnOldLeft); mpPage->SetRightBorder(mnOldRight); mpPage->SetUpperBorder(mnOldUpper); @@ -47,7 +47,7 @@ void SdPageFormatUndoAction::Redo() { ::tools::Rectangle aNewBorderRect(mnNewLeft, mnNewUpper, mnNewRight, mnNewLower); mpPage->ScaleObjects(maNewSize, aNewBorderRect, mbNewScale); - mpPage->SetSize(maNewSize); + mpPage->setToolsSize(maNewSize); mpPage->SetLeftBorder(mnNewLeft); mpPage->SetRightBorder(mnNewRight); mpPage->SetUpperBorder(mnNewUpper); diff --git a/sd/source/ui/presenter/SlideRenderer.cxx b/sd/source/ui/presenter/SlideRenderer.cxx index 707b50b90fe4..db96694fdfec 100644 --- a/sd/source/ui/presenter/SlideRenderer.cxx +++ b/sd/source/ui/presenter/SlideRenderer.cxx @@ -134,7 +134,7 @@ BitmapEx SlideRenderer::CreatePreview ( 0); // Determine the size of the current slide and its aspect ratio. - Size aPageSize = pPage->GetSize(); + Size aPageSize = pPage->getSize().toToolsSize(); if (aPageSize.Height() <= 0) throw lang::IllegalArgumentException(u"SlideRenderer::createPreview() called with invalid size"_ustr, static_cast<XWeak*>(this), diff --git a/sd/source/ui/sidebar/DocumentHelper.cxx b/sd/source/ui/sidebar/DocumentHelper.cxx index 303ceb58850b..29fdc34d7238 100644 --- a/sd/source/ui/sidebar/DocumentHelper.cxx +++ b/sd/source/ui/sidebar/DocumentHelper.cxx @@ -359,14 +359,15 @@ SdPage* DocumentHelper::AddMasterPage ( // Adapt the size of the new master page to that of the pages in // the document. - Size aNewSize (rTargetDocument.GetSdPage(0, pMasterPage->GetPageKind())->GetSize()); - ::tools::Rectangle aBorders ( - pClonedMasterPage->GetLeftBorder(), - pClonedMasterPage->GetUpperBorder(), - pClonedMasterPage->GetRightBorder(), - pClonedMasterPage->GetLowerBorder()); + auto pPage = rTargetDocument.GetSdPage(0, pMasterPage->GetPageKind()); + Size aNewSize = pPage->getSize().toToolsSize(); + ::tools::Rectangle aBorders( + pClonedMasterPage->getBorder().leftUnit(), + pClonedMasterPage->getBorder().upperUnit(), + pClonedMasterPage->getBorder().rightUnit(), + pClonedMasterPage->getBorder().lowerUnit()); pClonedMasterPage->ScaleObjects(aNewSize, aBorders, true); - pClonedMasterPage->SetSize(aNewSize); + pClonedMasterPage->setSize(pPage->getSize()); pClonedMasterPage->CreateTitleAndLayout(true); } diff --git a/sd/source/ui/sidebar/MasterPageContainer.cxx b/sd/source/ui/sidebar/MasterPageContainer.cxx index fb404b765200..19d30107d09d 100644 --- a/sd/source/ui/sidebar/MasterPageContainer.cxx +++ b/sd/source/ui/sidebar/MasterPageContainer.cxx @@ -555,7 +555,7 @@ void MasterPageContainer::Implementation::UpdatePreviewSizePixel() }); if (iDescriptor != maContainer.end()) { - Size aPageSize ((*iDescriptor)->mpMasterPage->GetSize()); + Size aPageSize ((*iDescriptor)->mpMasterPage->getSize().toToolsSize()); OSL_ASSERT(!aPageSize.IsEmpty()); if (aPageSize.Width() > 0) nWidth = aPageSize.Width(); diff --git a/sd/source/ui/slideshow/slideshowviewimpl.cxx b/sd/source/ui/slideshow/slideshowviewimpl.cxx index 7db8594e4e08..5b937d390f90 100644 --- a/sd/source/ui/slideshow/slideshowviewimpl.cxx +++ b/sd/source/ui/slideshow/slideshowviewimpl.cxx @@ -286,7 +286,7 @@ geometry::AffineMatrix2D SAL_CALL SlideShowView::getTransformation( ) } SdPage* pP = mpDoc->GetSdPage( 0, PageKind::Standard ); - Size aPageSize( pP->GetSize() ); + Size aPageSize(pP->getSize().toToolsSize()); const double page_ratio = static_cast<double>(aPageSize.Width()) / static_cast<double>(aPageSize.Height()); const double output_ratio = static_cast<double>(aOutputSize.Width()) / static_cast<double>(aOutputSize.Height()); diff --git a/sd/source/ui/slidesorter/controller/SlsScrollBarManager.cxx b/sd/source/ui/slidesorter/controller/SlsScrollBarManager.cxx index ec8c7d9dcd0c..1200128f6471 100644 --- a/sd/source/ui/slidesorter/controller/SlsScrollBarManager.cxx +++ b/sd/source/ui/slidesorter/controller/SlsScrollBarManager.cxx @@ -340,7 +340,7 @@ bool ScrollBarManager::TestScrollBarVisibilities ( bool bRearrangeSuccess (mrSlideSorter.GetView().GetLayouter().Rearrange ( mrSlideSorter.GetView().GetOrientation(), aBrowserSize, - rModel.GetPageDescriptor(0)->GetPage()->GetSize(), + rModel.GetPageDescriptor(0)->GetPage()->getSize().toToolsSize(), rModel.GetPageCount())); if (bRearrangeSuccess) diff --git a/sd/source/ui/slidesorter/view/SlideSorterView.cxx b/sd/source/ui/slidesorter/view/SlideSorterView.cxx index 9c056f39f033..179f22fc828f 100644 --- a/sd/source/ui/slidesorter/view/SlideSorterView.cxx +++ b/sd/source/ui/slidesorter/view/SlideSorterView.cxx @@ -293,7 +293,7 @@ void SlideSorterView::Rearrange() mpLayouter->Rearrange ( meOrientation, aWindowSize, - mrModel.GetPageDescriptor(0)->GetPage()->GetSize(), + mrModel.GetPageDescriptor(0)->GetPage()->getSize().toToolsSize(), mrModel.GetPageCount())); if (bRearrangeSuccess) { diff --git a/sd/source/ui/table/tablefunction.cxx b/sd/source/ui/table/tablefunction.cxx index 943744da15dc..bd38c6281ab5 100644 --- a/sd/source/ui/table/tablefunction.cxx +++ b/sd/source/ui/table/tablefunction.cxx @@ -105,7 +105,7 @@ static void InsertTableImpl(const DrawViewShell* pShell, // make sure that the default size of the table fits on the paper and is inside the viewing area. // if zoomed in close, don't make the table bigger than the viewing window. - Size aMaxSize = pShell->getCurrentPage()->GetSize(); + Size aMaxSize = pShell->getCurrentPage()->getSize().toToolsSize(); if (comphelper::LibreOfficeKit::isActive()) { diff --git a/sd/source/ui/tools/PreviewRenderer.cxx b/sd/source/ui/tools/PreviewRenderer.cxx index 9425f0b16791..409f26650614 100644 --- a/sd/source/ui/tools/PreviewRenderer.cxx +++ b/sd/source/ui/tools/PreviewRenderer.cxx @@ -87,7 +87,7 @@ Image PreviewRenderer::RenderPage ( { if (pPage != nullptr) { - const Size aPageModelSize (pPage->GetSize()); + const Size aPageModelSize(pPage->getSize().toToolsSize()); const double nAspectRatio ( double(aPageModelSize.Width()) / double(aPageModelSize.Height())); const sal_Int32 nFrameWidth (mbHasFrame ? snFrameWidth : 0); @@ -272,7 +272,7 @@ void PreviewRenderer::PaintPage ( const bool bDisplayPresentationObjects) { // Paint the page. - ::tools::Rectangle aPaintRectangle (Point(0,0), pPage->GetSize()); + ::tools::Rectangle aPaintRectangle = pPage->getRectangle().toToolsRect(); vcl::Region aRegion (aPaintRectangle); // Turn off online spelling and redlining. @@ -358,7 +358,7 @@ void PreviewRenderer::SetupOutputSize ( aMapMode.SetMapUnit(MapUnit::MapPixel); // Adapt it to the desired width. - const Size aPageModelSize (rPage.GetSize()); + const Size aPageModelSize = rPage.getSize().toToolsSize(); if (!aPageModelSize.IsEmpty()) { const sal_Int32 nFrameWidth (mbHasFrame ? snFrameWidth : 0); diff --git a/sd/source/ui/tools/SlideshowLayerRenderer.cxx b/sd/source/ui/tools/SlideshowLayerRenderer.cxx index 90d7170561ed..d04d3f6efbba 100644 --- a/sd/source/ui/tools/SlideshowLayerRenderer.cxx +++ b/sd/source/ui/tools/SlideshowLayerRenderer.cxx @@ -116,7 +116,7 @@ public: maVirtualDevice->SetOutputSizePixelScaleOffsetAndLOKBuffer(rSlideSize, rScale, Point(), pBuffer); - Size aPageSize(rPage.GetSize()); + Size aPageSize(rPage.getSize().toToolsSize()); MapMode aMapMode(MapUnit::Map100thMM); const Fraction aFracX(rSlideSize.Width(), @@ -821,7 +821,8 @@ void SlideshowLayerRenderer::setupMasterPageFields() Size SlideshowLayerRenderer::calculateAndSetSizePixel(Size const& rDesiredSizePixel) { - double fRatio = double(mrPage.GetHeight()) / mrPage.GetWidth(); + double fRatio + = double(mrPage.getSize().getHeight().as_hmm()) / mrPage.getSize().getWidth().as_hmm(); Size aSize(rDesiredSizePixel.Width(), ::tools::Long(rDesiredSizePixel.Width() * fRatio)); maSlideSize = aSize; @@ -842,7 +843,7 @@ void SlideshowLayerRenderer::createViewAndDraw( aView.setHideBackground(!(mbRenderBackground && maRenderState.includeBackground())); aView.ShowSdrPage(&mrPage); - Size aPageSize(mrPage.GetSize()); + Size aPageSize = mrPage.getSize().toToolsSize(); Point aPoint; vcl::Region aRegion(::tools::Rectangle(aPoint, aPageSize)); diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx index e569fa25c077..390f21b37097 100644 --- a/sd/source/ui/unoidl/unomodel.cxx +++ b/sd/source/ui/unoidl/unomodel.cxx @@ -2065,8 +2065,8 @@ SdPage* SdXImpressDocument::InsertSdPage( sal_uInt16 nPage, bool bDuplicate ) // this is only used for clipboard where we only have one page pStandardPage = mpDoc->AllocSdPage(false); - Size aDefSize(21000, 29700); // A4 portrait orientation - pStandardPage->SetSize( aDefSize ); + gfx::Size2DLWrap aDefSize(210_mm, 297_mm); // A4 portrait orientation + pStandardPage->setSize(aDefSize); mpDoc->InsertPage(pStandardPage.get(), 0); } else @@ -2096,11 +2096,8 @@ SdPage* SdXImpressDocument::InsertSdPage( sal_uInt16 nPage, bool bDuplicate ) else pStandardPage = mpDoc->AllocSdPage(false); - pStandardPage->SetSize( pPreviousStandardPage->GetSize() ); - pStandardPage->SetBorder( pPreviousStandardPage->GetLeftBorder(), - pPreviousStandardPage->GetUpperBorder(), - pPreviousStandardPage->GetRightBorder(), - pPreviousStandardPage->GetLowerBorder() ); + pStandardPage->setSize(pPreviousStandardPage->getSize()); + pStandardPage->setBorder(pPreviousStandardPage->getBorder()); pStandardPage->SetOrientation( pPreviousStandardPage->GetOrientation() ); pStandardPage->SetName(OUString()); @@ -2131,11 +2128,8 @@ SdPage* SdXImpressDocument::InsertSdPage( sal_uInt16 nPage, bool bDuplicate ) else pNotesPage = mpDoc->AllocSdPage(false); - pNotesPage->SetSize( pPreviousNotesPage->GetSize() ); - pNotesPage->SetBorder( pPreviousNotesPage->GetLeftBorder(), - pPreviousNotesPage->GetUpperBorder(), - pPreviousNotesPage->GetRightBorder(), - pPreviousNotesPage->GetLowerBorder() ); + pNotesPage->setSize(pPreviousNotesPage->getSize()); + pNotesPage->setBorder(pPreviousNotesPage->getBorder()); pNotesPage->SetOrientation( pPreviousNotesPage->GetOrientation() ); pNotesPage->SetName(OUString()); pNotesPage->SetPageKind(PageKind::Notes); @@ -3119,7 +3113,7 @@ uno::Sequence< beans::PropertyValue > SAL_CALL SdXImpressDocument::getRenderer( awt::Size aPageSize; if ( bExportNotesPages ) { - Size aNotesPageSize = mpDoc->GetSdPage( 0, PageKind::Notes )->GetSize(); + Size aNotesPageSize = mpDoc->GetSdPage(0, PageKind::Notes )->getSize().toToolsSize(); aPageSize = awt::Size( aNotesPageSize.Width(), aNotesPageSize.Height() ); } else @@ -3273,7 +3267,7 @@ static void ImplPDFExportShapeInteraction( const uno::Reference< drawing::XShape uno::Reference< beans::XPropertySet > xShapePropSet( xShape, uno::UNO_QUERY ); if( xShapePropSet.is() ) { - Size aPageSize( rDoc.GetSdPage( 0, PageKind::Standard )->GetSize() ); + Size aPageSize(rDoc.GetSdPage(0, PageKind::Standard)->getSize().toToolsSize()); Point aPoint( 0, 0 ); ::tools::Rectangle aPageRect( aPoint, aPageSize ); @@ -3528,7 +3522,7 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 nRenderer, const uno::Any& r } ::sd::ClientView aView( mpDocShell, pOut ); - ::tools::Rectangle aVisArea( Point(), mpDoc->GetSdPage( static_cast<sal_uInt16>(nPageNumber) - 1, ePageKind )->GetSize() ); + ::tools::Rectangle aVisArea( Point(), mpDoc->GetSdPage( static_cast<sal_uInt16>(nPageNumber) - 1, ePageKind )->getSize().toToolsSize() ); vcl::Region aRegion( aVisArea ); ::sd::ViewShell* pOldViewSh = mpDocShell->GetViewShell(); @@ -3746,7 +3740,7 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 nRenderer, const uno::Any& r { try { - Size aPageSize( mpDoc->GetSdPage( 0, PageKind::Standard )->GetSize() ); + Size aPageSize(mpDoc->GetSdPage(0, PageKind::Standard)->getSize().toToolsSize()); Point aPoint( 0, 0 ); ::tools::Rectangle aPageRect( aPoint, aPageSize ); @@ -4259,7 +4253,7 @@ void SdXImpressDocument::initializeForTiledRendering(const css::uno::Sequence<cs { // get the full page size in pixels pWindow->EnableMapMode(); - Size aSize(pWindow->LogicToPixel(pDrawView->GetSdrPageView()->GetPage()->GetSize())); + Size aSize(pWindow->LogicToPixel(pDrawView->GetSdrPageView()->GetPage()->getSize().toToolsSize())); // Disable map mode, so that it's possible to send mouse event // coordinates in logic units pWindow->EnableMapMode(false); @@ -5375,11 +5369,8 @@ uno::Reference< drawing::XDrawPage > SdMasterPagesAccess::insertNewImpl( sal_Int // create and insert new draw masterpage rtl::Reference<SdPage> pMPage = mpModel->mpDoc->AllocSdPage(true); - pMPage->SetSize( pPage->GetSize() ); - pMPage->SetBorder( pPage->GetLeftBorder(), - pPage->GetUpperBorder(), - pPage->GetRightBorder(), - pPage->GetLowerBorder() ); + pMPage->setSize(pPage->getSize()); + pMPage->setBorder(pPage->getBorder()); if (oPageName) // no need to update the page URLs on a brand new page pMPage->SetName(*oPageName, /*bUpdatePageRelativeURLs*/false); @@ -5395,12 +5386,9 @@ uno::Reference< drawing::XDrawPage > SdMasterPagesAccess::insertNewImpl( sal_Int // create and insert new notes masterpage rtl::Reference<SdPage> pMNotesPage = mpModel->mpDoc->AllocSdPage(true); - pMNotesPage->SetSize( pRefNotesPage->GetSize() ); + pMNotesPage->setSize(pRefNotesPage->getSize()); pMNotesPage->SetPageKind(PageKind::Notes); - pMNotesPage->SetBorder( pRefNotesPage->GetLeftBorder(), - pRefNotesPage->GetUpperBorder(), - pRefNotesPage->GetRightBorder(), - pRefNotesPage->GetLowerBorder() ); + pMNotesPage->setBorder(pRefNotesPage->getBorder()); pMNotesPage->SetLayoutName( aLayoutName ); pDoc->InsertMasterPage(pMNotesPage.get(), static_cast<sal_uInt16>(nInsertPos) + 1); pMNotesPage->SetAutoLayout(AUTOLAYOUT_NOTES, true, true); diff --git a/sd/source/ui/unoidl/unopage.cxx b/sd/source/ui/unoidl/unopage.cxx index 8279858b20df..e39f1af8c603 100644 --- a/sd/source/ui/unoidl/unopage.cxx +++ b/sd/source/ui/unoidl/unopage.cxx @@ -1030,22 +1030,22 @@ Any SAL_CALL SdGenericDrawPage::getPropertyValue( const OUString& PropertyName ) aAny = getNavigationOrder(); break; case WID_PAGE_LEFT: - aAny <<= GetPage()->GetLeftBorder(); + aAny <<= basegfx::fround(GetPage()->getBorder().leftUnit()); break; case WID_PAGE_RIGHT: - aAny <<= GetPage()->GetRightBorder(); + aAny <<= basegfx::fround(GetPage()->getBorder().rightUnit()); break; case WID_PAGE_TOP: - aAny <<= GetPage()->GetUpperBorder(); + aAny <<= basegfx::fround(GetPage()->getBorder().upperUnit()); break; case WID_PAGE_BOTTOM: - aAny <<= GetPage()->GetLowerBorder(); + aAny <<= basegfx::fround(GetPage()->getBorder().lowerUnit()); break; case WID_PAGE_WIDTH: - aAny <<= static_cast<sal_Int32>( GetPage()->GetSize().getWidth() ); + aAny <<= static_cast<sal_Int32>( GetPage()->getSize().toToolsSize().getWidth() ); break; case WID_PAGE_HEIGHT: -e ... etc. - the rest is truncated