summaryrefslogtreecommitdiff
path: root/sw/source/core/layout/anchoreddrawobject.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/layout/anchoreddrawobject.cxx')
-rw-r--r--sw/source/core/layout/anchoreddrawobject.cxx164
1 files changed, 82 insertions, 82 deletions
diff --git a/sw/source/core/layout/anchoreddrawobject.cxx b/sw/source/core/layout/anchoreddrawobject.cxx
index cc84e0bc4597..8960d4075ad9 100644
--- a/sw/source/core/layout/anchoreddrawobject.cxx
+++ b/sw/source/core/layout/anchoreddrawobject.cxx
@@ -342,26 +342,26 @@ void SwAnchoredDrawObject::MakeObjPos()
}
// --> #i62875#
- if ( mbCaptureAfterLayoutDirChange &&
- GetPageFrame() )
- {
- SwRect aPageRect( GetPageFrame()->getFrameArea() );
- SwRect aObjRect( GetObjRect() );
- if ( aObjRect.Right() >= aPageRect.Right() + 10 )
- {
- Size aSize( aPageRect.Right() - aObjRect.Right(), 0 );
- DrawObj()->Move( aSize );
- aObjRect = GetObjRect();
- }
+ if ( !(mbCaptureAfterLayoutDirChange &&
+ GetPageFrame()) )
+ return;
- if ( aObjRect.Left() + 10 <= aPageRect.Left() )
- {
- Size aSize( aPageRect.Left() - aObjRect.Left(), 0 );
- DrawObj()->Move( aSize );
- }
+ SwRect aPageRect( GetPageFrame()->getFrameArea() );
+ SwRect aObjRect( GetObjRect() );
+ if ( aObjRect.Right() >= aPageRect.Right() + 10 )
+ {
+ Size aSize( aPageRect.Right() - aObjRect.Right(), 0 );
+ DrawObj()->Move( aSize );
+ aObjRect = GetObjRect();
+ }
- mbCaptureAfterLayoutDirChange = false;
+ if ( aObjRect.Left() + 10 <= aPageRect.Left() )
+ {
+ Size aSize( aPageRect.Left() - aObjRect.Left(), 0 );
+ DrawObj()->Move( aSize );
}
+
+ mbCaptureAfterLayoutDirChange = false;
}
/** method for the intrinsic positioning of an at-paragraph|at-character
@@ -523,84 +523,84 @@ void SwAnchoredDrawObject::SetDrawObjAnchor()
*/
void SwAnchoredDrawObject::InvalidatePage_( SwPageFrame* _pPageFrame )
{
- if ( _pPageFrame && !_pPageFrame->GetFormat()->GetDoc()->IsInDtor() )
+ if ( !(_pPageFrame && !_pPageFrame->GetFormat()->GetDoc()->IsInDtor()) )
+ return;
+
+ if ( !_pPageFrame->GetUpper() )
+ return;
+
+ // --> #i35007# - correct invalidation for as-character
+ // anchored objects.
+ if ( GetFrameFormat().GetAnchor().GetAnchorId() == RndStdIds::FLY_AS_CHAR )
{
- if ( _pPageFrame->GetUpper() )
- {
- // --> #i35007# - correct invalidation for as-character
- // anchored objects.
- if ( GetFrameFormat().GetAnchor().GetAnchorId() == RndStdIds::FLY_AS_CHAR )
- {
- _pPageFrame->InvalidateFlyInCnt();
- }
- else
- {
- _pPageFrame->InvalidateFlyLayout();
- }
+ _pPageFrame->InvalidateFlyInCnt();
+ }
+ else
+ {
+ _pPageFrame->InvalidateFlyLayout();
+ }
- SwRootFrame* pRootFrame = static_cast<SwRootFrame*>(_pPageFrame->GetUpper());
- pRootFrame->DisallowTurbo();
- if ( pRootFrame->GetTurbo() )
- {
- const SwContentFrame* pTmpFrame = pRootFrame->GetTurbo();
- pRootFrame->ResetTurbo();
- pTmpFrame->InvalidatePage();
- }
- pRootFrame->SetIdleFlags();
- }
+ SwRootFrame* pRootFrame = static_cast<SwRootFrame*>(_pPageFrame->GetUpper());
+ pRootFrame->DisallowTurbo();
+ if ( pRootFrame->GetTurbo() )
+ {
+ const SwContentFrame* pTmpFrame = pRootFrame->GetTurbo();
+ pRootFrame->ResetTurbo();
+ pTmpFrame->InvalidatePage();
}
+ pRootFrame->SetIdleFlags();
}
void SwAnchoredDrawObject::InvalidateObjPos()
{
// --> #i28701# - check, if invalidation is allowed
- if ( mbValidPos &&
- InvalidationOfPosAllowed() )
- {
- mbValidPos = false;
- // --> #i68520#
- InvalidateObjRectWithSpaces();
+ if ( !(mbValidPos &&
+ InvalidationOfPosAllowed()) )
+ return;
- // --> #i44339# - check, if anchor frame exists.
- if ( GetAnchorFrame() )
- {
- // --> #118547# - notify anchor frame of as-character
- // anchored object, because its positioned by the format of its anchor frame.
- // --> #i44559# - assure, that text hint is already
- // existing in the text frame
- if ( dynamic_cast< const SwTextFrame* >(GetAnchorFrame()) != nullptr &&
- (GetFrameFormat().GetAnchor().GetAnchorId() == RndStdIds::FLY_AS_CHAR) )
- {
- SwTextFrame* pAnchorTextFrame( static_cast<SwTextFrame*>(AnchorFrame()) );
- if (pAnchorTextFrame->CalcFlyPos(&GetFrameFormat()) != TextFrameIndex(COMPLETE_STRING))
- {
- AnchorFrame()->Prepare( PrepareHint::FlyFrameAttributesChanged, &GetFrameFormat() );
- }
- }
+ mbValidPos = false;
+ // --> #i68520#
+ InvalidateObjRectWithSpaces();
- SwPageFrame* pPageFrame = AnchorFrame()->FindPageFrame();
- InvalidatePage_( pPageFrame );
+ // --> #i44339# - check, if anchor frame exists.
+ if ( !GetAnchorFrame() )
+ return;
- // --> #i32270# - also invalidate page frame, at which the
- // drawing object is registered at.
- SwPageFrame* pPageFrameRegisteredAt = GetPageFrame();
- if ( pPageFrameRegisteredAt &&
- pPageFrameRegisteredAt != pPageFrame )
- {
- InvalidatePage_( pPageFrameRegisteredAt );
- }
- // #i33751#, #i34060# - method <GetPageFrameOfAnchor()>
- // is replaced by method <FindPageFrameOfAnchor()>. It's return value
- // have to be checked.
- SwPageFrame* pPageFrameOfAnchor = FindPageFrameOfAnchor();
- if ( pPageFrameOfAnchor &&
- pPageFrameOfAnchor != pPageFrame &&
- pPageFrameOfAnchor != pPageFrameRegisteredAt )
- {
- InvalidatePage_( pPageFrameOfAnchor );
- }
+ // --> #118547# - notify anchor frame of as-character
+ // anchored object, because its positioned by the format of its anchor frame.
+ // --> #i44559# - assure, that text hint is already
+ // existing in the text frame
+ if ( dynamic_cast< const SwTextFrame* >(GetAnchorFrame()) != nullptr &&
+ (GetFrameFormat().GetAnchor().GetAnchorId() == RndStdIds::FLY_AS_CHAR) )
+ {
+ SwTextFrame* pAnchorTextFrame( static_cast<SwTextFrame*>(AnchorFrame()) );
+ if (pAnchorTextFrame->CalcFlyPos(&GetFrameFormat()) != TextFrameIndex(COMPLETE_STRING))
+ {
+ AnchorFrame()->Prepare( PrepareHint::FlyFrameAttributesChanged, &GetFrameFormat() );
}
}
+
+ SwPageFrame* pPageFrame = AnchorFrame()->FindPageFrame();
+ InvalidatePage_( pPageFrame );
+
+ // --> #i32270# - also invalidate page frame, at which the
+ // drawing object is registered at.
+ SwPageFrame* pPageFrameRegisteredAt = GetPageFrame();
+ if ( pPageFrameRegisteredAt &&
+ pPageFrameRegisteredAt != pPageFrame )
+ {
+ InvalidatePage_( pPageFrameRegisteredAt );
+ }
+ // #i33751#, #i34060# - method <GetPageFrameOfAnchor()>
+ // is replaced by method <FindPageFrameOfAnchor()>. It's return value
+ // have to be checked.
+ SwPageFrame* pPageFrameOfAnchor = FindPageFrameOfAnchor();
+ if ( pPageFrameOfAnchor &&
+ pPageFrameOfAnchor != pPageFrame &&
+ pPageFrameOfAnchor != pPageFrameRegisteredAt )
+ {
+ InvalidatePage_( pPageFrameOfAnchor );
+ }
}
SwFrameFormat& SwAnchoredDrawObject::GetFrameFormat()