diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/ui/inc/output.hxx sc/source/ui/inc/output.hxx --- sc.clean/source/ui/inc/output.hxx 2008-02-05 11:16:55.000000000 -0500 +++ sc/source/ui/inc/output.hxx 2008-02-19 12:50:45.000000000 -0500 @@ -237,6 +237,7 @@ public: void DrawGrid( BOOL bGrid, BOOL bPage ); void DrawStrings( BOOL bPixelToLogic = FALSE ); + void DrawDocumentBackground(); void DrawBackground(); void DrawShadow(); void DrawExtraShadow(BOOL bLeft, BOOL bTop, BOOL bRight, BOOL bBottom); diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/ui/view/gridwin4.cxx sc/source/ui/view/gridwin4.cxx --- sc.clean/source/ui/view/gridwin4.cxx 2008-02-05 11:16:56.000000000 -0500 +++ sc/source/ui/view/gridwin4.cxx 2008-02-19 13:03:18.000000000 -0500 @@ -721,9 +721,10 @@ void ScGridWindow::Draw( SCCOL nX1, SCRO aOutputData.SetSolidBackground(TRUE); pContentDev->SetMapMode(MAP_PIXEL); - aOutputData.DrawBackground(); + aOutputData.DrawDocumentBackground(); if ( bGridFirst && ( bGrid || bPage ) ) aOutputData.DrawGrid( bGrid, bPage ); + aOutputData.DrawBackground(); if ( bPageMode ) { // #87655# DrawPagePreview draws complete lines/page numbers, must always be clipped diff -urp --exclude=CVS --exclude=unxlngi6.pro --exclude=sc.vpj sc.clean/source/ui/view/output.cxx sc/source/ui/view/output.cxx --- sc.clean/source/ui/view/output.cxx 2008-02-05 11:16:56.000000000 -0500 +++ sc/source/ui/view/output.cxx 2008-02-19 13:06:50.000000000 -0500 @@ -796,15 +796,26 @@ BOOL lcl_EqualBack( const RowInfo& rFirs return TRUE; } +void ScOutputData::DrawDocumentBackground() +{ + if ( !bSolidBackground ) + return; + + Size aOnePixel = pDev->PixelToLogic(Size(1,1)); + long nOneX = aOnePixel.Width(); + long nOneY = aOnePixel.Height(); + Rectangle aRect(nScrX - nOneX, nScrY - nOneY, nScrX + nScrW, nScrY + nScrH); + Color aBgColor( SC_MOD()->GetColorConfig().GetColorValue(svtools::DOCCOLOR).nColor ); + pDev->SetFillColor(aBgColor); + pDev->DrawRect(aRect); +} + void ScOutputData::DrawBackground() { FindRotated(); //! von aussen ? ScModule* pScMod = SC_MOD(); - // used only if bSolidBackground is set (only for ScGridWindow): - Color aBgColor( pScMod->GetColorConfig().GetColorValue(svtools::DOCCOLOR).nColor ); - Rectangle aRect; Size aOnePixel = pDev->PixelToLogic(Size(1,1)); long nOneX = aOnePixel.Width(); @@ -900,8 +911,6 @@ void ScOutputData::DrawBackground() if (pOldBackground) // ==0 if hidden { Color aBackCol = pOldBackground->GetColor(); - if ( bSolidBackground && aBackCol.GetTransparency() ) - aBackCol = aBgColor; if ( !aBackCol.GetTransparency() ) //! partial transparency? { pDev->SetFillColor( aBackCol ); @@ -917,8 +926,6 @@ void ScOutputData::DrawBackground() if (pOldBackground) { Color aBackCol = pOldBackground->GetColor(); - if ( bSolidBackground && aBackCol.GetTransparency() ) - aBackCol = aBgColor; if ( !aBackCol.GetTransparency() ) //! partial transparency? { pDev->SetFillColor( aBackCol );