diff options
author | Frank Schoenheit [fs] <frank.schoenheit@oracle.com> | 2010-09-20 11:35:13 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@oracle.com> | 2010-09-20 11:35:13 +0200 |
commit | 57d315f4c34f8538c4bdfd0e20c354d984c20f28 (patch) | |
tree | c4b3aa72253c41e6bda50332eaf9fe8175c36c0d | |
parent | 432c3c2d8c170c6249b452b9beec57561e90a4f5 (diff) |
dba34a: #i108357# complement existing PrePaint with new PostPaint
-rw-r--r-- | svx/inc/svx/sdrpagewindow.hxx | 1 | ||||
-rw-r--r-- | svx/inc/svx/svdpagv.hxx | 3 | ||||
-rw-r--r-- | svx/inc/svx/svdpntv.hxx | 3 | ||||
-rw-r--r-- | svx/source/svdraw/sdrpagewindow.cxx | 4 | ||||
-rw-r--r-- | svx/source/svdraw/svdpagv.cxx | 15 | ||||
-rw-r--r--[-rwxr-xr-x] | svx/source/svdraw/svdpntv.cxx | 8 |
6 files changed, 34 insertions, 0 deletions
diff --git a/svx/inc/svx/sdrpagewindow.hxx b/svx/inc/svx/sdrpagewindow.hxx index a3e50fadc599..29c08d6335e3 100644 --- a/svx/inc/svx/sdrpagewindow.hxx +++ b/svx/inc/svx/sdrpagewindow.hxx @@ -117,6 +117,7 @@ public: void PrepareRedraw(const Region& rReg); void RedrawAll(sdr::contact::ViewObjectContactRedirector* pRedirector) const; void RedrawLayer(const SdrLayerID* pId, sdr::contact::ViewObjectContactRedirector* pRedirector) const; + void PostPaint(); // Invalidate call, used from ObjectContact(OfPageView) in InvalidatePartOfView(...) void InvalidatePageWindow(const basegfx::B2DRange& rRange); diff --git a/svx/inc/svx/svdpagv.hxx b/svx/inc/svx/svdpagv.hxx index 4ad30c2958f3..cd7b8a6de81e 100644 --- a/svx/inc/svx/svdpagv.hxx +++ b/svx/inc/svx/svdpagv.hxx @@ -184,6 +184,9 @@ public: // PrePaint call forwarded from app windows void PrePaint(); + // PostPaint call forwarded from app windows + void PostPaint(); + // rReg bezieht sich auf's OutDev, nicht auf die Page void CompleteRedraw(SdrPaintWindow& rPaintWindow, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0L) const; diff --git a/svx/inc/svx/svdpntv.hxx b/svx/inc/svx/svdpntv.hxx index bd6c7ea554cc..69f32ad327e5 100644 --- a/svx/inc/svx/svdpntv.hxx +++ b/svx/inc/svx/svdpntv.hxx @@ -375,6 +375,9 @@ public: // PrePaint call forwarded from app windows void PrePaint(); + // PostPaint call forwarded from app windows + void PostPaint(); + //////////////////////////////////////////////////////////////////////////////////////////////////// // used internally for Draw/Impress/sch/chart2 virtual void CompleteRedraw(OutputDevice* pOut, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0); diff --git a/svx/source/svdraw/sdrpagewindow.cxx b/svx/source/svdraw/sdrpagewindow.cxx index 85513fb3b926..6c9c72930603 100644 --- a/svx/source/svdraw/sdrpagewindow.cxx +++ b/svx/source/svdraw/sdrpagewindow.cxx @@ -192,6 +192,10 @@ void SdrPageWindow::PrePaint() } } +void SdrPageWindow::PostPaint() +{ +} + void SdrPageWindow::PrepareRedraw(const Region& rReg) { // evtl. give OC the chance to do ProcessDisplay preparations diff --git a/svx/source/svdraw/svdpagv.cxx b/svx/source/svdraw/svdpagv.cxx index 03e3dc31a94f..0ccfd1e01346 100644 --- a/svx/source/svdraw/svdpagv.cxx +++ b/svx/source/svdraw/svdpagv.cxx @@ -358,6 +358,21 @@ void SdrPageView::PrePaint() } } +void SdrPageView::PostPaint() +{ + const sal_uInt32 nCount(PageWindowCount()); + + for(sal_uInt32 a(0); a < nCount; a++) + { + SdrPageWindow* pCandidate = GetPageWindow(a); + + if(pCandidate) + { + pCandidate->PostPaint(); + } + } +} + void SdrPageView::CompleteRedraw(SdrPaintWindow& rPaintWindow, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector) const { if(GetPage()) diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx index 998c687608fc..feaf859c3b21 100755..100644 --- a/svx/source/svdraw/svdpntv.cxx +++ b/svx/source/svdraw/svdpntv.cxx @@ -733,6 +733,14 @@ void SdrPaintView::PrePaint() } } +void SdrPaintView::PostPaint() +{ + if(mpPageView) + { + mpPageView->PostPaint(); + } +} + //////////////////////////////////////////////////////////////////////////////////////////////////// // #define SVX_REPAINT_TIMER_TEST |