diff options
author | Jan Holesovsky <kendy@suse.cz> | 2011-03-23 16:59:26 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2011-03-23 16:59:26 +0100 |
commit | 3b7ab82aee60aec1e47c1e253d3977a3fc011f5b (patch) | |
tree | 1ebee7adb28ba3175deee3948aee8f5489d9b509 /framework/source/services/backingwindow.cxx | |
parent | 486dd9082e177aa63294f76d6a75b08dde5957e5 (diff) | |
parent | 61879c218dd0e6e94884e7c6e06e3c5c18540b4a (diff) |
Merge commit 'ooo/DEV300_m103'
Conflicts:
basic/source/runtime/makefile.mk
basic/source/runtime/step2.cxx
desktop/prj/build.lst
desktop/source/app/app.cxx
desktop/source/deployment/registry/dp_backend.cxx
drawinglayer/source/attribute/fontattribute.cxx
editeng/inc/editeng/fontitem.hxx
editeng/source/editeng/edtspell.cxx
editeng/source/misc/svxacorr.cxx
framework/inc/services/substitutepathvars.hxx
framework/source/services/substitutepathvars.cxx
sfx2/qa/cppunit/makefile.mk
sfx2/source/doc/SfxDocumentMetaData.cxx
sfx2/source/doc/objxtor.cxx
svx/source/dialog/svxruler.cxx
sysui/desktop/icons/so9_base_app.ico
sysui/desktop/icons/so9_calc_app.ico
sysui/desktop/icons/so9_draw_app.ico
sysui/desktop/icons/so9_impress_app.ico
sysui/desktop/icons/so9_main_app.ico
sysui/desktop/icons/so9_math_app.ico
sysui/desktop/icons/so9_writer_app.ico
xmlhelp/source/cxxhelp/provider/databases.cxx
xmlhelp/source/cxxhelp/provider/db.cxx
xmlhelp/source/cxxhelp/provider/db.hxx
Diffstat (limited to 'framework/source/services/backingwindow.cxx')
-rwxr-xr-x | framework/source/services/backingwindow.cxx | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/framework/source/services/backingwindow.cxx b/framework/source/services/backingwindow.cxx index 729b84481681..14f6dc954588 100755 --- a/framework/source/services/backingwindow.cxx +++ b/framework/source/services/backingwindow.cxx @@ -397,7 +397,7 @@ void BackingWindow::prepareRecentFileMenu() void BackingWindow::initBackground() { - SetBackground( GetSettings().GetStyleSettings().GetWorkspaceGradient() ); + SetBackground(); bool bDark = GetSettings().GetStyleSettings().GetHighContrastMode(); if( bDark ) @@ -705,36 +705,39 @@ void BackingWindow::layoutButton( void BackingWindow::Paint( const Rectangle& ) { + Wallpaper aBack( GetSettings().GetStyleSettings().GetWorkspaceGradient() ); + Region aClip( Rectangle( Point( 0, 0 ), GetOutputSizePixel() ) ); + Rectangle aBmpRect(maControlRect); + aBmpRect.Left() -= nShadowLeft; + aBmpRect.Top() -= nShadowTop; + aBmpRect.Right() += nShadowRight; + aBmpRect.Bottom() += nShadowBottom; + aClip.Exclude( aBmpRect ); + Push( PUSH_CLIPREGION ); + IntersectClipRegion( aClip ); + DrawWallpaper( Rectangle( Point( 0, 0 ), GetOutputSizePixel() ), aBack ); + Pop(); + + VirtualDevice aDev( *this ); + aDev.EnableRTL( IsRTLEnabled() ); + aDev.SetOutputSizePixel( aBmpRect.GetSize() ); + Point aOffset( Point( 0, 0 ) - aBmpRect.TopLeft() ); + aDev.DrawWallpaper( Rectangle( aOffset, GetOutputSizePixel() ), aBack ); // draw bitmap - if( GetSettings().GetLayoutRTL() ) + Point aTL( 0, 0 ); + aDev.DrawBitmapEx( aTL, maBackgroundLeft ); + aTL.X() += maBackgroundLeft.GetSizePixel().Width(); + if( !!maBackgroundMiddle ) { - Point aTL( maControlRect.TopLeft() ); - aTL.X() -= nShadowRight; - aTL.Y() -= nShadowTop; - DrawBitmapEx( aTL, maBackgroundLeft ); - aTL.X() += maBackgroundLeft.GetSizePixel().Width(); - if( !!maBackgroundMiddle ) - { - DrawBitmapEx( aTL, maBackgroundMiddle ); - aTL.X() += maBackgroundMiddle.GetSizePixel().Width(); - } - DrawBitmapEx( aTL, maBackgroundRight ); - } - else - { - Point aTL( maControlRect.TopLeft() ); - aTL.X() -= nShadowLeft; - aTL.Y() -= nShadowTop; - DrawBitmapEx( aTL, maBackgroundLeft ); - aTL.X() += maBackgroundLeft.GetSizePixel().Width(); - if( !!maBackgroundMiddle ) - { - DrawBitmapEx( aTL, maBackgroundMiddle ); - aTL.X() += maBackgroundMiddle.GetSizePixel().Width(); - } - DrawBitmapEx( aTL, maBackgroundRight ); + aDev.DrawBitmapEx( aTL, maBackgroundMiddle ); + aTL.X() += maBackgroundMiddle.GetSizePixel().Width(); } + aDev.DrawBitmapEx( aTL, maBackgroundRight ); + + DrawOutDev( aBmpRect.TopLeft(), aBmpRect.GetSize(), + Point( 0, 0 ), aBmpRect.GetSize(), + aDev ); } long BackingWindow::Notify( NotifyEvent& rNEvt ) |