Kaydet (Commit) cd19a60f authored tarafından Kurt Zenker's avatar Kurt Zenker

INTEGRATION: CWS aw043_SRC680 (1.32.86.1.12); FILE MERGED

2007/02/01 18:26:05 aw 1.32.86.1.12.2: #i72752# re-implemented AreFormControlsUsed, added exception painting to text edit or form controls
2007/01/31 16:00:17 aw 1.32.86.1.12.1: #i73602# flag for DrawOverlay() to not be forced to delete the PreRenderDevice
üst d16854e7
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
* *
* $RCSfile: svdpntv.cxx,v $ * $RCSfile: svdpntv.cxx,v $
* *
* $Revision: 1.33 $ * $Revision: 1.34 $
* *
* last change: $Author: obo $ $Date: 2007-01-22 15:17:23 $ * last change: $Author: kz $ $Date: 2007-02-12 14:41:23 $
* *
* The Contents of this file are made available subject to * The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1. * the terms of GNU Lesser General Public License Version 2.1.
...@@ -952,41 +952,53 @@ void SdrPaintView::EndCompleteRedraw(SdrPaintWindow& rPaintWindow, const Region& ...@@ -952,41 +952,53 @@ void SdrPaintView::EndCompleteRedraw(SdrPaintWindow& rPaintWindow, const Region&
else else
{ {
// draw postprocessing, only for known devices // draw postprocessing, only for known devices
sal_Bool bFormControlsUsed(sal_False); bool bFormControlsUsed(false);
bool bTextEditActive(false);
if(mpPageView) if(mpPageView)
{ {
bFormControlsUsed = mpPageView->AreFormControlsUsed(); bFormControlsUsed = mpPageView->AreFormControlsUsed(rPaintWindow);
} }
if(bFormControlsUsed) if(IsTextEdit() && GetTextEditPageView())
{
bTextEditActive = true;
}
if(bFormControlsUsed || bTextEditActive)
{ {
// output PreRendering and destroy it so that it is not used for FormLayer // output PreRendering and destroy it so that it is not used for FormLayer
// or overlay // or overlay
rPaintWindow.OutputPreRenderDevice(rPaintWindow.GetRedrawRegion()); rPaintWindow.OutputPreRenderDevice(rPaintWindow.GetRedrawRegion());
rPaintWindow.DestroyPreRenderDevice();
// #i73602# do not destroy PreRenderDevice, this will be bad for performance.
// To not use it when drawing overlay, better give a flag for that purpose
// rPaintWindow.DestroyPreRenderDevice();
// draw form layer directly to window. // draw form layer directly to window.
ImpFormLayerDrawing(rPaintWindow); if(bFormControlsUsed)
{
ImpFormLayerDrawing(rPaintWindow);
}
// draw old text edit stuff before overlay to have it as part of the background // draw old text edit stuff before overlay to have it as part of the background
// ATM. This will be changed to have the text editing on the overlay, bit it // ATM. This will be changed to have the text editing on the overlay, bit it
// is not an easy thing to do, see BegTextEdit and the OutlinerView stuff used... // is not an easy thing to do, see BegTextEdit and the OutlinerView stuff used...
ImpTextEditDrawing(rReg, rPaintWindow); if(bTextEditActive)
{
ImpTextEditDrawing(rReg, rPaintWindow);
}
// draw Overlay directly to window. This will save the contents of the window // draw Overlay directly to window. This will save the contents of the window
// in the RedrawRegion to the overlay background buffer, too. // in the RedrawRegion to the overlay background buffer, too.
rPaintWindow.DrawOverlay(rPaintWindow.GetRedrawRegion()); // #i73602# pass flag if buffer shall be used
rPaintWindow.DrawOverlay(rPaintWindow.GetRedrawRegion(), false);
} }
else else
{ {
// draw old text edit stuff before overlay to have it as part of the background
// ATM. This will be changed to have the text editing on the overlay, bit it
// is not an easy thing to do, see BegTextEdit and the OutlinerView stuff used...
ImpTextEditDrawing(rReg, rPaintWindow);
// draw Overlay, also to PreRender device if exists // draw Overlay, also to PreRender device if exists
rPaintWindow.DrawOverlay(rPaintWindow.GetRedrawRegion()); // #i73602# add flag if buffer shall be used
rPaintWindow.DrawOverlay(rPaintWindow.GetRedrawRegion(), true);
// output PreRendering // output PreRendering
rPaintWindow.OutputPreRenderDevice(rPaintWindow.GetRedrawRegion()); rPaintWindow.OutputPreRenderDevice(rPaintWindow.GetRedrawRegion());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment