sw/source/core/crsr/crsrsh.cxx | 4 +-- sw/source/core/draw/dpage.cxx | 2 - sw/source/core/frmedt/fews.cxx | 2 - sw/source/core/inc/layact.hxx | 4 +-- sw/source/core/inc/pagefrm.hxx | 4 ++- sw/source/core/inc/viewimp.hxx | 20 ++---------------- sw/source/core/layout/anchoreddrawobject.cxx | 4 +-- sw/source/core/layout/layact.cxx | 23 ++++++++++---------- sw/source/core/layout/pagechg.cxx | 4 +-- sw/source/core/layout/paintfrm.cxx | 30 +++++++++++++-------------- sw/source/core/unocore/unoflatpara.cxx | 2 - sw/source/core/view/pagepreviewlayout.cxx | 2 - sw/source/core/view/viewimp.cxx | 22 ++++++++++++++++--- sw/source/core/view/viewsh.cxx | 18 ++++++++-------- sw/source/core/view/vprint.cxx | 2 - sw/source/uibase/docvw/PageBreakWin.cxx | 2 - 16 files changed, 74 insertions(+), 71 deletions(-)
New commits: commit 08b3b6ed6c4d8599c9bb75719974c710462f2764 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jun 25 14:13:44 2015 +0200 SwLayAction::Action: use vcl::RenderContext Change-Id: I4fb6c42da0c5defa1d5da4cf6f3a13d11388c88d diff --git a/sw/source/core/inc/layact.hxx b/sw/source/core/inc/layact.hxx index e85ff36..53e3c25 100644 --- a/sw/source/core/inc/layact.hxx +++ b/sw/source/core/inc/layact.hxx @@ -154,7 +154,7 @@ public: inline void SetCheckPageNum( sal_uInt16 nNew ); inline void SetCheckPageNumDirect( sal_uInt16 nNew ) { nCheckPageNum = nNew; } - void Action(); // here it begins + void Action(OutputDevice* pRenderContext); // here it begins void Reset(); // back to CTor-defaults bool IsAgain() const { return bAgain; } diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index f140b71..af2dcdc 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -341,7 +341,7 @@ bool SwLayAction::RemoveEmptyBrowserPages() return bRet; } -void SwLayAction::Action() +void SwLayAction::Action(OutputDevice* pRenderContext) { bActionInProgress = true; @@ -366,12 +366,12 @@ void SwLayAction::Action() if ( IsCalcLayout() ) SetCheckPages( false ); - InternalAction(pImp->GetShell()->GetOut()); + InternalAction(pRenderContext); bAgain |= RemoveEmptyBrowserPages(); while ( IsAgain() ) { bAgain = bNextCycle = false; - InternalAction(pImp->GetShell()->GetOut()); + InternalAction(pRenderContext); bAgain |= RemoveEmptyBrowserPages(); } pRoot->DeleteEmptySct(); @@ -2166,7 +2166,7 @@ SwLayIdle::SwLayIdle( SwRootFrm *pRt, SwViewShellImp *pI ) : aAction.SetInputType( VCL_INPUT_ANY ); aAction.SetIdle( true ); aAction.SetWaitAllowed( false ); - aAction.Action(); + aAction.Action(pImp->GetShell()->GetOut()); bInterrupt = aAction.IsInterrupt(); } diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 6587b90..017389b 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -3237,7 +3237,7 @@ void SwRootFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, S aAction.SetPaint( false ); aAction.SetComplete( false ); aAction.SetReschedule( gProp.pSProgress != nullptr ); - aAction.Action(); + aAction.Action(&rRenderContext); ResetTurboFlag(); if ( !pSh->ActionPend() ) pSh->Imp()->DelRegion(); diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index c9ad763..4ace932 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -283,7 +283,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd ) if ( mnLockPaint ) aAction.SetPaint( false ); aAction.SetInputType( VclInputFlags::KEYBOARD ); - aAction.Action(); + aAction.Action(GetWin()); } if ( bIsShellForCheckViewLayout ) @@ -948,7 +948,7 @@ void SwViewShell::CalcLayout() aAction.SetCalcLayout( true ); aAction.SetReschedule( true ); GetDoc()->getIDocumentFieldsAccess().LockExpFields(); - aAction.Action(); + aAction.Action(GetOut()); GetDoc()->getIDocumentFieldsAccess().UnlockExpFields(); //the SetNewFieldLst() on the Doc was cut off and must be fetched again @@ -964,7 +964,7 @@ void SwViewShell::CalcLayout() GetDoc()->getIDocumentFieldsAccess().UpdatePageFields( &aMsgHint ); GetDoc()->getIDocumentFieldsAccess().UpdateExpFields(NULL, true); - aAction.Action(); + aAction.Action(GetOut()); } if ( VisArea().HasArea() ) @@ -1596,7 +1596,7 @@ bool SwViewShell::CheckInvalidForPaint( const SwRect &rRect ) // can't format frames which are locked by the outer action. This may // cause and endless loop. ++mnStartAction; - aAction.Action(); + aAction.Action(GetWin()); --mnStartAction; SwRegionRects *pRegion = Imp()->GetRegion(); diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx index 631f69a..4bec7c6 100644 --- a/sw/source/core/view/vprint.cxx +++ b/sw/source/core/view/vprint.cxx @@ -312,7 +312,7 @@ void SwViewShell::CalcPagesForPrint( sal_uInt16 nMax ) aAction.SetWaitAllowed( false ); aAction.SetReschedule( true ); - aAction.Action(); + aAction.Action(GetOut()); maVisArea = aOldVis; //reset due to the paints Imp()->SetFirstVisPageInvalid(); commit 1a2705d16c945cdd85dd75c803039c05af0c853c Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jun 25 12:27:54 2015 +0200 SwLayAction::InternalAction: use vcl::RenderContext Change-Id: Icbc5e9a42cc7e7693c6584461505a3233046272c diff --git a/sw/source/core/inc/layact.hxx b/sw/source/core/inc/layact.hxx index 6977627..e85ff36 100644 --- a/sw/source/core/inc/layact.hxx +++ b/sw/source/core/inc/layact.hxx @@ -109,7 +109,7 @@ class SwLayAction bool TurboAction(); bool _TurboAction( const SwContentFrm * ); - void InternalAction(); + void InternalAction(OutputDevice* pRenderContext); static SwPageFrm *CheckFirstVisPage( SwPageFrm *pPage ); diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index 737c4ec..f140b71 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -366,12 +366,12 @@ void SwLayAction::Action() if ( IsCalcLayout() ) SetCheckPages( false ); - InternalAction(); + InternalAction(pImp->GetShell()->GetOut()); bAgain |= RemoveEmptyBrowserPages(); while ( IsAgain() ) { bAgain = bNextCycle = false; - InternalAction(); + InternalAction(pImp->GetShell()->GetOut()); bAgain |= RemoveEmptyBrowserPages(); } pRoot->DeleteEmptySct(); @@ -442,7 +442,7 @@ static void unlockPositionOfObjects( SwPageFrm *pPageFrm ) } } -void SwLayAction::InternalAction() +void SwLayAction::InternalAction(OutputDevice* pRenderContext) { OSL_ENSURE( pRoot->Lower()->IsPageFrm(), ":-( No page below the root."); @@ -454,7 +454,7 @@ void SwLayAction::InternalAction() // number 1. If we're doing a fake formatting, the number of the first // page is the number of the first visible page. SwPageFrm *pPage = IsComplete() ? static_cast<SwPageFrm*>(pRoot->Lower()) : - pImp->GetFirstVisPage(pImp->GetShell()->GetOut()); + pImp->GetFirstVisPage(pRenderContext); if ( !pPage ) pPage = static_cast<SwPageFrm*>(pRoot->Lower()); @@ -621,7 +621,7 @@ void SwLayAction::InternalAction() if( !IsComplete() && nPreInvaPage + 2 < nFirstPageNum ) { pImp->SetFirstVisPageInvalid(); - SwPageFrm *pTmpPage = pImp->GetFirstVisPage(pImp->GetShell()->GetOut()); + SwPageFrm *pTmpPage = pImp->GetFirstVisPage(pRenderContext); nFirstPageNum = pTmpPage->GetPhyPageNum(); if( nPreInvaPage < nFirstPageNum ) { commit c369f8644c45869cb1d80e5e243e445f5cb8b778 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jun 25 12:15:41 2015 +0200 SwPageFrm::GetHorizontalShadowRect: use vcl::RenderContext Change-Id: Ife6c7404079aa1ae10d5c2bdbe77629e0689b167 diff --git a/sw/source/core/inc/pagefrm.hxx b/sw/source/core/inc/pagefrm.hxx index 5b4f87d..99097a9 100644 --- a/sw/source/core/inc/pagefrm.hxx +++ b/sw/source/core/inc/pagefrm.hxx @@ -96,6 +96,7 @@ class SwPageFrm: public SwFootnoteBossFrm static void GetHorizontalShadowRect( const SwRect& _rPageRect, const SwViewShell* _pViewShell, + OutputDevice* pRenderContext, SwRect& _orBottomShadowRect, bool bPaintLeftShadow, bool bPaintRightShadow, diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 6984d8c..6587b90 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -6029,6 +6029,7 @@ bool SwPageFrm::IsLeftShadowNeeded() const */ /*static*/ void SwPageFrm::GetHorizontalShadowRect( const SwRect& _rPageRect, const SwViewShell* _pViewShell, + OutputDevice* pRenderContext, SwRect& _orHorizontalShadowRect, bool bPaintLeftShadow, bool bPaintRightShadow, @@ -6036,9 +6037,8 @@ bool SwPageFrm::IsLeftShadowNeeded() const { const SwPostItMgr *pMgr = _pViewShell->GetPostItMgr(); SwRect aAlignedPageRect( _rPageRect ); - ::SwAlignRect( aAlignedPageRect, _pViewShell, _pViewShell->GetOut() ); - SwRect aPagePxRect = - _pViewShell->GetOut()->LogicToPixel( aAlignedPageRect.SVRect() ); + ::SwAlignRect( aAlignedPageRect, _pViewShell, pRenderContext ); + SwRect aPagePxRect = pRenderContext->LogicToPixel( aAlignedPageRect.SVRect() ); long lShadowAdjustment = mnShadowPxWidth - 1; // TODO: extract this @@ -6177,7 +6177,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin SwRect aPaintRect; OutputDevice *pOut = _pViewShell->GetOut(); - SwPageFrm::GetHorizontalShadowRect( _rPageRect, _pViewShell, aPaintRect, bPaintLeftShadow, bPaintRightShadow, bRightSidebar ); + SwPageFrm::GetHorizontalShadowRect( _rPageRect, _pViewShell, pOut, aPaintRect, bPaintLeftShadow, bPaintRightShadow, bRightSidebar ); // Right shadow & corners if ( bPaintRightShadow ) @@ -6386,7 +6386,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin // Always ask for full shadow since we want a bounding rect // including at least the page frame - SwPageFrm::GetHorizontalShadowRect( _rPageRect, _pViewShell, aTmpRect, false, false, bRightSidebar ); + SwPageFrm::GetHorizontalShadowRect( _rPageRect, _pViewShell, pRenderContext, aTmpRect, false, false, bRightSidebar ); if(bLeftShadow) aPagePxRect.Left( aTmpRect.Left() - mnShadowPxWidth - 1); if(bRightShadow) aPagePxRect.Right( aTmpRect.Right() + mnShadowPxWidth + 1); commit cec17a4659389c5fe3a97c144d541c6aedc64d3f Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jun 25 12:04:26 2015 +0200 SwViewShellImp::GetFirstVisPage: use vcl::RenderContext Change-Id: I7acd380d2e199f042dca61d95596c3bc63c6a206 diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx index c01966b..131b1da 100644 --- a/sw/source/core/crsr/crsrsh.cxx +++ b/sw/source/core/crsr/crsrsh.cxx @@ -1144,7 +1144,7 @@ void SwCrsrShell::GetPageNum( sal_uInt16 &rnPhyNum, sal_uInt16 &rnVirtNum, if( !bAtCrsrPos || 0 == (pCFrm = GetCurrFrm( bCalcFrm )) || 0 == (pPg = pCFrm->FindPageFrm()) ) { - pPg = Imp()->GetFirstVisPage(); + pPg = Imp()->GetFirstVisPage(GetOut()); while( pPg && pPg->IsEmptyPage() ) pPg = static_cast<const SwPageFrm *>(pPg->GetNext()); } @@ -1157,7 +1157,7 @@ sal_uInt16 SwCrsrShell::GetNextPrevPageNum( bool bNext ) { SET_CURR_SHELL( this ); // page number: first visible page or the one at the cursor - const SwPageFrm *pPg = Imp()->GetFirstVisPage(); + const SwPageFrm *pPg = Imp()->GetFirstVisPage(GetOut()); if( pPg ) { const SwTwips nPageTop = pPg->Frm().Top(); diff --git a/sw/source/core/draw/dpage.cxx b/sw/source/core/draw/dpage.cxx index fe774a1..db5707c 100644 --- a/sw/source/core/draw/dpage.cxx +++ b/sw/source/core/draw/dpage.cxx @@ -158,7 +158,7 @@ const SdrPageGridFrameList* SwDPage::GetGridFrameList( else { //The drawing demands all visible pages - const SwFrm *pPg = pSh->Imp()->GetFirstVisPage(); + const SwFrm *pPg = pSh->Imp()->GetFirstVisPage(pSh->GetOut()); if ( pPg ) do { ::InsertGridFrame( const_cast<SwDPage*>(this)->pGridLst, pPg ); diff --git a/sw/source/core/frmedt/fews.cxx b/sw/source/core/frmedt/fews.cxx index 44dd490..0c46506 100644 --- a/sw/source/core/frmedt/fews.cxx +++ b/sw/source/core/frmedt/fews.cxx @@ -186,7 +186,7 @@ bool SwFEShell::GetPageNumber( long nYPos, bool bAtCrsrPos, sal_uInt16& rPhyNum, } else // first visible page { - pPage = Imp()->GetFirstVisPage(); + pPage = Imp()->GetFirstVisPage(GetOut()); if ( pPage && static_cast<const SwPageFrm*>(pPage)->IsEmptyPage() ) pPage = pPage->GetNext(); } diff --git a/sw/source/core/inc/viewimp.hxx b/sw/source/core/inc/viewimp.hxx index ecfd426..3146ec3 100644 --- a/sw/source/core/inc/viewimp.hxx +++ b/sw/source/core/inc/viewimp.hxx @@ -146,8 +146,8 @@ public: Color GetRetoucheColor() const; /// Management of the first visible Page - const SwPageFrm *GetFirstVisPage() const; - SwPageFrm *GetFirstVisPage(); + const SwPageFrm *GetFirstVisPage(OutputDevice* pRenderContext) const; + SwPageFrm *GetFirstVisPage(OutputDevice* pRenderContext); void SetFirstVisPageInvalid() { bFirstPageInvalid = true; } bool AddPaintRect( const SwRect &rRect ); diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index 8eb237a..737c4ec 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -454,7 +454,7 @@ void SwLayAction::InternalAction() // number 1. If we're doing a fake formatting, the number of the first // page is the number of the first visible page. SwPageFrm *pPage = IsComplete() ? static_cast<SwPageFrm*>(pRoot->Lower()) : - pImp->GetFirstVisPage(); + pImp->GetFirstVisPage(pImp->GetShell()->GetOut()); if ( !pPage ) pPage = static_cast<SwPageFrm*>(pRoot->Lower()); @@ -621,7 +621,7 @@ void SwLayAction::InternalAction() if( !IsComplete() && nPreInvaPage + 2 < nFirstPageNum ) { pImp->SetFirstVisPageInvalid(); - SwPageFrm *pTmpPage = pImp->GetFirstVisPage(); + SwPageFrm *pTmpPage = pImp->GetFirstVisPage(pImp->GetShell()->GetOut()); nFirstPageNum = pTmpPage->GetPhyPageNum(); if( nPreInvaPage < nFirstPageNum ) { @@ -2038,7 +2038,7 @@ bool SwLayIdle::DoIdleJob( IdleJobType eJob, bool bVisAreaOnly ) SwPageFrm *pPage; if ( bVisAreaOnly ) - pPage = pImp->GetFirstVisPage(); + pPage = pImp->GetFirstVisPage(pViewShell->GetOut()); else pPage = static_cast<SwPageFrm*>(pRoot->Lower()); diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 67f3341..6984d8c 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -3257,7 +3257,7 @@ void SwRootFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, S const bool bOldAction = IsCallbackActionEnabled(); const_cast<SwRootFrm*>(this)->SetCallbackActionEnabled( false ); - const SwPageFrm *pPage = pSh->Imp()->GetFirstVisPage(); + const SwPageFrm *pPage = pSh->Imp()->GetFirstVisPage(&rRenderContext); if ( pPage->GetPrev() ) pPage = static_cast<const SwPageFrm*>(pPage->GetPrev()); const bool bBookMode = gProp.pSGlobalShell->GetViewOptions()->IsViewLayoutBookMode(); diff --git a/sw/source/core/unocore/unoflatpara.cxx b/sw/source/core/unocore/unoflatpara.cxx index a7a99b6..22fe58a 100644 --- a/sw/source/core/unocore/unoflatpara.cxx +++ b/sw/source/core/unocore/unoflatpara.cxx @@ -391,7 +391,7 @@ uno::Reference< text::XFlatParagraph > SwXFlatParagraphIterator::getNextPara() { SwViewShell* pViewShell = mpDoc->getIDocumentLayoutAccess().GetCurrentViewShell(); - SwPageFrm* pCurrentPage = pViewShell ? pViewShell->Imp()->GetFirstVisPage() : 0; + SwPageFrm* pCurrentPage = pViewShell ? pViewShell->Imp()->GetFirstVisPage(pViewShell->GetOut()) : 0; SwPageFrm* pStartPage = pCurrentPage; SwPageFrm* pStopPage = 0; diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 08e0645..b3957c4 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -270,17 +270,17 @@ Color SwViewShellImp::GetRetoucheColor() const return aRet; } -SwPageFrm *SwViewShellImp::GetFirstVisPage() +SwPageFrm *SwViewShellImp::GetFirstVisPage(OutputDevice* pRenderContext) { if ( bFirstPageInvalid ) - SetFirstVisPage(pSh->GetOut()); + SetFirstVisPage(pRenderContext); return pFirstVisPage; } -const SwPageFrm *SwViewShellImp::GetFirstVisPage() const +const SwPageFrm *SwViewShellImp::GetFirstVisPage(OutputDevice* pRenderContext) const { if ( bFirstPageInvalid ) - const_cast<SwViewShellImp*>(this)->SetFirstVisPage(pSh->GetOut()); + const_cast<SwViewShellImp*>(this)->SetFirstVisPage(pRenderContext); return pFirstVisPage; } diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 15cc9c0..c9ad763 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -1031,7 +1031,7 @@ void SwViewShell::VisPortChgd( const SwRect &rRect) //First get the old visible page, so we don't have to look //for it afterwards. - const SwFrm *pOldPage = Imp()->GetFirstVisPage(); + const SwFrm *pOldPage = Imp()->GetFirstVisPage(GetWin()); const SwRect aPrevArea( VisArea() ); const bool bFull = aPrevArea.IsEmpty(); @@ -1478,7 +1478,7 @@ void SwViewShell::PaintDesktop(vcl::RenderContext& rRenderContext, const SwRect } else { - const SwFrm *pPage = Imp()->GetFirstVisPage(); + const SwFrm *pPage = Imp()->GetFirstVisPage(&rRenderContext); //Here we have to get the previous page since //GetFirstVisPage return the current one but //there is a portion of the previous page @@ -1568,7 +1568,7 @@ bool SwViewShell::CheckInvalidForPaint( const SwRect &rRect ) if ( !GetWin() ) return false; - const SwPageFrm *pPage = Imp()->GetFirstVisPage(); + const SwPageFrm *pPage = Imp()->GetFirstVisPage(GetOut()); const SwTwips nBottom = VisArea().Bottom(); const SwTwips nRight = VisArea().Right(); bool bRet = false; commit 85cd7a6c6883d4d80d583f13d923527ed5e72343 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jun 25 11:47:46 2015 +0200 SwViewShellImp::SetFirstVisPage: use vcl::RenderContext Change-Id: If36b6fdda54dfbe6e4eea14883d659302a1db6be diff --git a/sw/source/core/inc/viewimp.hxx b/sw/source/core/inc/viewimp.hxx index 205938e..ecfd426 100644 --- a/sw/source/core/inc/viewimp.hxx +++ b/sw/source/core/inc/viewimp.hxx @@ -89,7 +89,7 @@ class SwViewShellImp SwPagePreviewLayout* mpPgPreviewLayout; - void SetFirstVisPage(); // Recalculate the first visible Page + void SetFirstVisPage(OutputDevice* pRenderContext); // Recalculate the first visible Page void StartAction(); // Show handle and hide void EndAction(); // Called by SwViewShell::ImplXXXAction diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index c7feb10..08e0645 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -169,7 +169,7 @@ bool SwViewShellImp::IsUpdateExpFields() return false; } -void SwViewShellImp::SetFirstVisPage() +void SwViewShellImp::SetFirstVisPage(OutputDevice* pRenderContext) { if ( pSh->mbDocSizeChgd && pSh->VisArea().Top() > pSh->GetLayout()->Frm().Height() ) { @@ -186,18 +186,18 @@ void SwViewShellImp::SetFirstVisPage() const bool bBookMode = pSwViewOption->IsViewLayoutBookMode(); SwPageFrm *pPage = static_cast<SwPageFrm*>(pSh->GetLayout()->Lower()); - SwRect aPageRect = pPage->GetBoundRect(pSh->GetOut()); + SwRect aPageRect = pPage->GetBoundRect(pRenderContext); float fAmount = pSh->VisArea().Height() * 0.43; while ( pPage && aPageRect.Bottom() < pSh->VisArea().Top() + fAmount ) { pPage = static_cast<SwPageFrm*>(pPage->GetNext()); if ( pPage ) { - aPageRect = pPage->GetBoundRect(pSh->GetOut()); + aPageRect = pPage->GetBoundRect(pRenderContext); if ( bBookMode && pPage->IsEmptyPage() ) { const SwPageFrm& rFormatPage = pPage->GetFormatPage(); - aPageRect.SSize() = rFormatPage.GetBoundRect(pSh->GetOut()).SSize(); + aPageRect.SSize() = rFormatPage.GetBoundRect(pRenderContext).SSize(); } } } @@ -273,14 +273,14 @@ Color SwViewShellImp::GetRetoucheColor() const SwPageFrm *SwViewShellImp::GetFirstVisPage() { if ( bFirstPageInvalid ) - SetFirstVisPage(); + SetFirstVisPage(pSh->GetOut()); return pFirstVisPage; } const SwPageFrm *SwViewShellImp::GetFirstVisPage() const { if ( bFirstPageInvalid ) - const_cast<SwViewShellImp*>(this)->SetFirstVisPage(); + const_cast<SwViewShellImp*>(this)->SetFirstVisPage(pSh->GetOut()); return pFirstVisPage; } commit 7b6329479eeb3c416396404c0d371b7aab59dd64 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jun 25 11:44:01 2015 +0200 sw: outline SwViewShellImp::GetFirstVisPage() methods Change-Id: Ib506b912752a16c514958896aa16b310f8e09200 diff --git a/sw/source/core/inc/viewimp.hxx b/sw/source/core/inc/viewimp.hxx index 2028ead..205938e 100644 --- a/sw/source/core/inc/viewimp.hxx +++ b/sw/source/core/inc/viewimp.hxx @@ -146,8 +146,8 @@ public: Color GetRetoucheColor() const; /// Management of the first visible Page - inline const SwPageFrm *GetFirstVisPage() const; - inline SwPageFrm *GetFirstVisPage(); + const SwPageFrm *GetFirstVisPage() const; + SwPageFrm *GetFirstVisPage(); void SetFirstVisPageInvalid() { bFirstPageInvalid = true; } bool AddPaintRect( const SwRect &rRect ); @@ -272,20 +272,6 @@ public: void FireAccessibleEvents(); }; -inline SwPageFrm *SwViewShellImp::GetFirstVisPage() -{ - if ( bFirstPageInvalid ) - SetFirstVisPage(); - return pFirstVisPage; -} - -inline const SwPageFrm *SwViewShellImp::GetFirstVisPage() const -{ - if ( bFirstPageInvalid ) - const_cast<SwViewShellImp*>(this)->SetFirstVisPage(); - return pFirstVisPage; -} - inline SwAccessibleMap& SwViewShellImp::GetAccessibleMap() { if( !pAccMap ) diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 24629c7..c7feb10 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -270,6 +270,20 @@ Color SwViewShellImp::GetRetoucheColor() const return aRet; } +SwPageFrm *SwViewShellImp::GetFirstVisPage() +{ + if ( bFirstPageInvalid ) + SetFirstVisPage(); + return pFirstVisPage; +} + +const SwPageFrm *SwViewShellImp::GetFirstVisPage() const +{ + if ( bFirstPageInvalid ) + const_cast<SwViewShellImp*>(this)->SetFirstVisPage(); + return pFirstVisPage; +} + // create page preview layout void SwViewShellImp::InitPagePreviewLayout() { commit 3b7c803b1b2f5d13f5ca225a9d4aabab348c7786 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jun 25 11:31:55 2015 +0200 SwPageFrm::GetBoundRect: use vcl::RenderContext Change-Id: Id9e9aa312d8fd4e0d776b41c9cca8073fa57b6fa diff --git a/sw/source/core/inc/pagefrm.hxx b/sw/source/core/inc/pagefrm.hxx index 58559fd..5b4f87d 100644 --- a/sw/source/core/inc/pagefrm.hxx +++ b/sw/source/core/inc/pagefrm.hxx @@ -139,7 +139,7 @@ public: inline const SwContentFrm *FindFirstBodyContent() const; inline const SwContentFrm *FindLastBodyContent() const; - SwRect GetBoundRect() const; + SwRect GetBoundRect(OutputDevice* pOutputDevice) const; // Specialized GetContentPos() for Field in Frames void GetContentPosition( const Point &rPt, SwPosition &rPos ) const; diff --git a/sw/source/core/layout/anchoreddrawobject.cxx b/sw/source/core/layout/anchoreddrawobject.cxx index a5141df..1f7ebb2 100644 --- a/sw/source/core/layout/anchoreddrawobject.cxx +++ b/sw/source/core/layout/anchoreddrawobject.cxx @@ -640,7 +640,7 @@ const SwRect SwAnchoredDrawObject::GetObjBoundRect() const // Exclude margins. aPageRect = GetPageFrm()->Prt().SVRect(); else - aPageRect = GetPageFrm( )->GetBoundRect( ).SVRect(); + aPageRect = GetPageFrm( )->GetBoundRect( GetPageFrm()->getRootFrm()->GetCurrShell()->GetOut() ).SVRect(); nTargetWidth = aPageRect.GetWidth( ) * (*GetDrawObj( )->GetRelativeWidth()); } @@ -652,7 +652,7 @@ const SwRect SwAnchoredDrawObject::GetObjBoundRect() const // Exclude margins. aPageRect = GetPageFrm()->Prt().SVRect(); else - aPageRect = GetPageFrm( )->GetBoundRect( ).SVRect(); + aPageRect = GetPageFrm( )->GetBoundRect( GetPageFrm()->getRootFrm()->GetCurrShell()->GetOut() ).SVRect(); nTargetHeight = aPageRect.GetHeight( ) * (*GetDrawObj( )->GetRelativeHeight()); } diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index 7563bce..8eb237a 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -1236,7 +1236,7 @@ bool SwLayAction::FormatLayout( SwLayoutFrm *pLay, bool bAddRect ) SwRect aOldRect( aOldFrame ); if( pLay->IsPageFrm() ) { - aOldRect = static_cast<SwPageFrm*>(pLay)->GetBoundRect(); + aOldRect = static_cast<SwPageFrm*>(pLay)->GetBoundRect(pLay->getRootFrm()->GetCurrShell()->GetOut()); } pLay->Calc(); @@ -1264,7 +1264,7 @@ bool SwLayAction::FormatLayout( SwLayoutFrm *pLay, bool bAddRect ) if ( pLay->IsPageFrm() ) { SwPageFrm* pPageFrm = static_cast<SwPageFrm*>(pLay); - aPaint = pPageFrm->GetBoundRect(); + aPaint = pPageFrm->GetBoundRect(pPageFrm->getRootFrm()->GetCurrShell()->GetOut()); } bool bPageInBrowseMode = pLay->IsPageFrm(); @@ -1414,7 +1414,7 @@ bool SwLayAction::FormatLayout( SwLayoutFrm *pLay, bool bAddRect ) // OD 11.11.2002 #104414# - add complete frame area as paint area, if frame // area has been already added and after formatting its lowers the frame area // is enlarged. - SwRect aBoundRect(pLay->IsPageFrm() ? static_cast<SwPageFrm*>(pLay)->GetBoundRect() : pLay->Frm() ); + SwRect aBoundRect(pLay->IsPageFrm() ? static_cast<SwPageFrm*>(pLay)->GetBoundRect(pLay->getRootFrm()->GetCurrShell()->GetOut()) : pLay->Frm() ); if ( bAlreadyPainted && ( aBoundRect.Width() > aFrmAtCompletePaint.Width() || diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index b5ee414..67f3341 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -6394,7 +6394,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin _orBorderAndShadowBoundRect = pRenderContext->PixelToLogic( aPagePxRect.SVRect() ); } -SwRect SwPageFrm::GetBoundRect() const +SwRect SwPageFrm::GetBoundRect(OutputDevice* pOutputDevice) const { const SwViewShell *pSh = getRootFrm()->GetCurrShell(); SwRect aPageRect( Frm() ); @@ -6404,7 +6404,7 @@ SwRect SwPageFrm::GetBoundRect() const return SwRect( Point(0, 0), Size(0, 0) ); } - SwPageFrm::GetBorderAndShadowBoundRect( aPageRect, pSh, pSh->GetOut(), aResult, + SwPageFrm::GetBorderAndShadowBoundRect( aPageRect, pSh, pOutputDevice, aResult, IsLeftShadowNeeded(), IsRightShadowNeeded(), SidebarPosition() == sw::sidebarwindows::SidebarPosition::RIGHT ); return aResult; } diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 6f9068a..24629c7 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -186,18 +186,18 @@ void SwViewShellImp::SetFirstVisPage() const bool bBookMode = pSwViewOption->IsViewLayoutBookMode(); SwPageFrm *pPage = static_cast<SwPageFrm*>(pSh->GetLayout()->Lower()); - SwRect aPageRect = pPage->GetBoundRect(); + SwRect aPageRect = pPage->GetBoundRect(pSh->GetOut()); float fAmount = pSh->VisArea().Height() * 0.43; while ( pPage && aPageRect.Bottom() < pSh->VisArea().Top() + fAmount ) { pPage = static_cast<SwPageFrm*>(pPage->GetNext()); if ( pPage ) { - aPageRect = pPage->GetBoundRect(); + aPageRect = pPage->GetBoundRect(pSh->GetOut()); if ( bBookMode && pPage->IsEmptyPage() ) { const SwPageFrm& rFormatPage = pPage->GetFormatPage(); - aPageRect.SSize() = rFormatPage.GetBoundRect().SSize(); + aPageRect.SSize() = rFormatPage.GetBoundRect(pSh->GetOut()).SSize(); } } } diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 5d66750..15cc9c0 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -1078,11 +1078,11 @@ void SwViewShell::VisPortChgd( const SwRect &rRect) while ( pPage && pPage->Frm().Top() <= nBottom ) { - SwRect aPageRect( pPage->GetBoundRect() ); + SwRect aPageRect( pPage->GetBoundRect(GetWin()) ); if ( bBookMode ) { const SwPageFrm& rFormatPage = static_cast<const SwPageFrm*>(pPage)->GetFormatPage(); - aPageRect.SSize() = rFormatPage.GetBoundRect().SSize(); + aPageRect.SSize() = rFormatPage.GetBoundRect(GetWin()).SSize(); } // OD 12.02.2003 #i9719#, #105645# - consider new border and shadow width diff --git a/sw/source/uibase/docvw/PageBreakWin.cxx b/sw/source/uibase/docvw/PageBreakWin.cxx index cbee466..b407898 100644 --- a/sw/source/uibase/docvw/PageBreakWin.cxx +++ b/sw/source/uibase/docvw/PageBreakWin.cxx @@ -341,7 +341,7 @@ void SwPageBreakWin::UpdatePosition( const Point* pEvtPt ) while ( pPrevPage && ( ( pPrevPage->Frm().Top( ) == pPageFrm->Frm().Top( ) ) || static_cast< const SwPageFrm* >( pPrevPage )->IsEmptyPage( ) ) ); - Rectangle aBoundRect = GetEditWin()->LogicToPixel( pPageFrm->GetBoundRect().SVRect() ); + Rectangle aBoundRect = GetEditWin()->LogicToPixel( pPageFrm->GetBoundRect(GetEditWin()).SVRect() ); Rectangle aFrmRect = GetEditWin()->LogicToPixel( pPageFrm->Frm().SVRect() ); long nYLineOffset = ( aBoundRect.Top() + aFrmRect.Top() ) / 2; commit d7dd8bb3bdd0fee44d6704cbf34d4a39cd7a3d29 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jun 25 11:18:01 2015 +0200 SwPageFrm::GetBorderAndShadowBoundRect: use vcl::RenderContext Change-Id: If861aa0a579eb953cd2fc7b790b3514ab1d0ffd0 diff --git a/sw/source/core/inc/pagefrm.hxx b/sw/source/core/inc/pagefrm.hxx index 1023bee..58559fd 100644 --- a/sw/source/core/inc/pagefrm.hxx +++ b/sw/source/core/inc/pagefrm.hxx @@ -300,6 +300,7 @@ public: */ static void GetBorderAndShadowBoundRect( const SwRect& _rPageRect, const SwViewShell* _pViewShell, + OutputDevice* pRenderContext, SwRect& _orBorderAndShadowBoundRect, const bool bLeftShadow, const bool bRightShadow, diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index 520808d..7563bce 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -1320,6 +1320,7 @@ bool SwLayAction::FormatLayout( SwLayoutFrm *pLay, bool bAddRect ) if(pSh) { SwPageFrm::GetBorderAndShadowBoundRect(aPageRect, pSh, + pSh->GetOut(), aPageRect, pPageFrm->IsLeftShadowNeeded(), pPageFrm->IsRightShadowNeeded(), pPageFrm->SidebarPosition() == sw::sidebarwindows::SidebarPosition::RIGHT); } diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index 8a070d8..0ba69f9 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -260,7 +260,7 @@ void SwPageFrm::DestroyImpl() // including border and shadow area. const bool bRightSidebar = (SidebarPosition() == sw::sidebarwindows::SidebarPosition::RIGHT); SwRect aRetoucheRect; - SwPageFrm::GetBorderAndShadowBoundRect( Frm(), pSh, aRetoucheRect, IsLeftShadowNeeded(), IsRightShadowNeeded(), bRightSidebar ); + SwPageFrm::GetBorderAndShadowBoundRect( Frm(), pSh, pSh->GetOut(), aRetoucheRect, IsLeftShadowNeeded(), IsRightShadowNeeded(), bRightSidebar ); pSh->AddPaintRect( aRetoucheRect ); } } @@ -623,7 +623,7 @@ void SwPageFrm::_UpdateAttr( const SfxPoolItem *pOld, const SfxPoolItem *pNew, // page frame for determine 'old' rectangle - it's used for invalidating. const bool bRightSidebar = (SidebarPosition() == sw::sidebarwindows::SidebarPosition::RIGHT); SwRect aOldRectWithBorderAndShadow; - SwPageFrm::GetBorderAndShadowBoundRect( aOldPageFrmRect, pSh, aOldRectWithBorderAndShadow, + SwPageFrm::GetBorderAndShadowBoundRect( aOldPageFrmRect, pSh, pSh->GetOut(), aOldRectWithBorderAndShadow, IsLeftShadowNeeded(), IsRightShadowNeeded(), bRightSidebar ); pSh->InvalidateWindows( aOldRectWithBorderAndShadow ); } diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index bbde2a8..b5ee414 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -3295,7 +3295,7 @@ void SwRootFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, S if ( !pPage->IsEmptyPage() ) { SwRect aPaintRect; - SwPageFrm::GetBorderAndShadowBoundRect( pPage->Frm(), pSh, aPaintRect, + SwPageFrm::GetBorderAndShadowBoundRect( pPage->Frm(), pSh, &rRenderContext, aPaintRect, bPaintLeftShadow, bPaintRightShadow, bRightSidebar ); if ( aRect.IsOver( aPaintRect ) ) @@ -3459,7 +3459,7 @@ void SwRootFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, S const SwPageFrm& rFormatPage = pPage->GetFormatPage(); aEmptyPageRect.SSize() = rFormatPage.Frm().SSize(); - SwPageFrm::GetBorderAndShadowBoundRect( aEmptyPageRect, pSh, aPaintRect, + SwPageFrm::GetBorderAndShadowBoundRect( aEmptyPageRect, pSh, &rRenderContext, aPaintRect, bPaintLeftShadow, bPaintRightShadow, bRightSidebar ); aPaintRect._Intersection( aRect ); @@ -6369,6 +6369,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin */ /*static*/ void SwPageFrm::GetBorderAndShadowBoundRect( const SwRect& _rPageRect, const SwViewShell* _pViewShell, + OutputDevice* pRenderContext, SwRect& _orBorderAndShadowBoundRect, bool bLeftShadow, bool bRightShadow, @@ -6376,9 +6377,8 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin ) { SwRect aAlignedPageRect( _rPageRect ); - ::SwAlignRect( aAlignedPageRect, _pViewShell, _pViewShell->GetOut() ); - SwRect aPagePxRect = - _pViewShell->GetOut()->LogicToPixel( aAlignedPageRect.SVRect() ); + ::SwAlignRect( aAlignedPageRect, _pViewShell, pRenderContext ); + SwRect aPagePxRect = pRenderContext->LogicToPixel( aAlignedPageRect.SVRect() ); aPagePxRect.Bottom( aPagePxRect.Bottom() + mnShadowPxWidth + 1 ); aPagePxRect.Top( aPagePxRect.Top() - mnShadowPxWidth - 1 ); @@ -6391,7 +6391,7 @@ static void lcl_paintBitmapExToRect(vcl::RenderContext *pOut, const Point& aPoin if(bLeftShadow) aPagePxRect.Left( aTmpRect.Left() - mnShadowPxWidth - 1); if(bRightShadow) aPagePxRect.Right( aTmpRect.Right() + mnShadowPxWidth + 1); - _orBorderAndShadowBoundRect = _pViewShell->GetOut()->PixelToLogic( aPagePxRect.SVRect() ); + _orBorderAndShadowBoundRect = pRenderContext->PixelToLogic( aPagePxRect.SVRect() ); } SwRect SwPageFrm::GetBoundRect() const @@ -6404,7 +6404,7 @@ SwRect SwPageFrm::GetBoundRect() const return SwRect( Point(0, 0), Size(0, 0) ); } - SwPageFrm::GetBorderAndShadowBoundRect( aPageRect, pSh, aResult, + SwPageFrm::GetBorderAndShadowBoundRect( aPageRect, pSh, pSh->GetOut(), aResult, IsLeftShadowNeeded(), IsRightShadowNeeded(), SidebarPosition() == sw::sidebarwindows::SidebarPosition::RIGHT ); return aResult; } diff --git a/sw/source/core/view/pagepreviewlayout.cxx b/sw/source/core/view/pagepreviewlayout.cxx index 4fb2249..9d91d13 100644 --- a/sw/source/core/view/pagepreviewlayout.cxx +++ b/sw/source/core/view/pagepreviewlayout.cxx @@ -1102,7 +1102,7 @@ bool SwPagePreviewLayout::Paint(vcl::RenderContext& rRenderContext, const Rectan // paint page border and shadow { SwRect aPageBorderRect; - SwPageFrm::GetBorderAndShadowBoundRect( SwRect( aPageRect ), &mrParentViewShell, aPageBorderRect, + SwPageFrm::GetBorderAndShadowBoundRect( SwRect( aPageRect ), &mrParentViewShell, &rRenderContext, aPageBorderRect, (*aPageIter)->pPage->IsLeftShadowNeeded(), (*aPageIter)->pPage->IsRightShadowNeeded(), true ); const vcl::Region aDLRegion(aPageBorderRect.SVRect()); mrParentViewShell.DLPrePaint2(aDLRegion); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits