• Michael Stahl's avatar
    tdf#91260 svx, sw: don't paint off-page part of drawing object · 689cead9
    Michael Stahl yazdı
    Since commit a4dee94a Writer no
    longer forces drawing objects to be entirely on one page.  However since
    there is only one SdrPage for the entire document, a drawing object
    dangleing off the bottom of one page will be painted again on the next
    page, which is clearly undesirable since Word doesn't do that
    (and it also destroys the nice invariant that a fly on page N never
    overlaps a fly on page N+1).
    
    So force the SdrPageView code to ignore the drawing object on the next
    page, by passing in the area of the page frame so that
    ViewObjectContactOfSdrObj::isPrimitiveVisible() can verify that the
    anchor position of the SdrObject is actually on the painted page.
    
    This requires passing in another parameter; in the usual case the
    DisplayInfo::maRedrawArea already contains the page frame since
    commit 8af09bf3, but there are special
    cases in SwFrame::Retouch() and SwFlyFrameFormat::MakeGraphic() where
    some sub-area is passed in, which cannot be used to check the anchor.
    
    Change-Id: Ia0476216ca41dbdaa3de1063fa18cb94fe2e5ae8
    689cead9
sdrpagewindow.hxx 3.31 KB