diff options
author | Jan Holesovsky <kendy@suse.cz> | 2013-01-09 11:16:47 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2013-01-09 11:17:53 +0100 |
commit | 0721b5b83e34de1e2fcb320d6a7deae1ad109d61 (patch) | |
tree | 0c210865ffc8df7218f47b9bb6f87647c5f80401 /vcl/source | |
parent | 0d91792ae34ca6531fbd6244d7717a2738f6a607 (diff) |
Personas: As Michael suggested, use BitmapEx instead of BitmapEx*.
Change-Id: Ib1d84b37d452785d12502095c0eedaac4a25fb6b
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/app/settings.cxx | 38 | ||||
-rw-r--r-- | vcl/source/window/dockingarea.cxx | 8 | ||||
-rw-r--r-- | vcl/source/window/menu.cxx | 12 |
3 files changed, 25 insertions, 33 deletions
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index 17d523db7513..32366face1bc 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -34,7 +34,6 @@ #include "vcl/i18nhelp.hxx" #include "vcl/configsettings.hxx" #include "vcl/gradient.hxx" -#include "vcl/bitmapex.hxx" #include "unotools/fontcfg.hxx" #include "unotools/localedatawrapper.hxx" @@ -204,8 +203,8 @@ sal_Bool MouseSettings::operator ==( const MouseSettings& rSet ) const ImplStyleData::ImplStyleData() : maPersonaHeaderFooter(), - mpPersonaHeaderBitmap( NULL ), - mpPersonaFooterBitmap( NULL ) + mpPersonaHeaderBitmap(), + mpPersonaFooterBitmap() { mnRefCount = 1; mnScrollBarSize = 16; @@ -305,8 +304,8 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : maDialogStyle( rData.maDialogStyle ), maFrameStyle( rData.maFrameStyle ), maPersonaHeaderFooter( rData.maPersonaHeaderFooter ), - mpPersonaHeaderBitmap( rData.mpPersonaHeaderBitmap? new BitmapEx( *rData.mpPersonaHeaderBitmap ): NULL ), - mpPersonaFooterBitmap( rData.mpPersonaFooterBitmap? new BitmapEx( *rData.mpPersonaFooterBitmap ): NULL ) + mpPersonaHeaderBitmap( rData.mpPersonaHeaderBitmap ), + mpPersonaFooterBitmap( rData.mpPersonaFooterBitmap ) { mnRefCount = 1; mnBorderSize = rData.mnBorderSize; @@ -687,7 +686,7 @@ sal_Bool StyleSettings::GetUseImagesInMenus() const // ----------------------------------------------------------------------- -static BitmapEx* readBitmapEx( const OUString& rPath ) +static BitmapEx readBitmapEx( const OUString& rPath ) { OUString aPath( rPath ); rtl::Bootstrap::expandMacros( aPath ); @@ -695,19 +694,15 @@ static BitmapEx* readBitmapEx( const OUString& rPath ) // import the image Graphic aGraphic; if ( GraphicFilter::LoadGraphic( aPath, String(), aGraphic ) != GRFILTER_OK ) - return NULL; + return BitmapEx(); - const BitmapEx& rBitmap( aGraphic.GetBitmapEx() ); - if ( rBitmap.IsEmpty() ) - return NULL; - - return new BitmapEx( rBitmap ); + return aGraphic.GetBitmapEx(); } enum WhichPersona { PERSONA_HEADER, PERSONA_FOOTER }; /** Update the setting of the Persona header / footer in ImplStyleData */ -static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFooter, BitmapEx*& pHeaderFooterBitmap ) +static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFooter, BitmapEx& rHeaderFooterBitmap ) { uno::Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext() ); if ( !xContext.is() ) @@ -745,9 +740,6 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot case PERSONA_FOOTER: aName = aFooter; break; } - delete pHeaderFooterBitmap; - pHeaderFooterBitmap = NULL; - if ( !aName.isEmpty() ) { // try the gallery first, then edition, and the program path if @@ -757,23 +749,23 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot gallery += "/user/gallery/personas/"; if ( aPersona == "own" ) - pHeaderFooterBitmap = readBitmapEx( gallery + aName ); + rHeaderFooterBitmap = readBitmapEx( gallery + aName ); - if ( !pHeaderFooterBitmap ) - pHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/edition/" + aName ); + if ( rHeaderFooterBitmap.IsEmpty() ) + rHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/edition/" + aName ); - if ( !pHeaderFooterBitmap ) - pHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/" + aName ); + if ( rHeaderFooterBitmap.IsEmpty() ) + rHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/" + aName ); } } -const BitmapEx* StyleSettings::GetPersonaHeader() const +const BitmapEx StyleSettings::GetPersonaHeader() const { setupPersonaHeaderFooter( PERSONA_HEADER, mpData->maPersonaHeaderFooter, mpData->mpPersonaHeaderBitmap ); return mpData->mpPersonaHeaderBitmap; } -const BitmapEx* StyleSettings::GetPersonaFooter() const +const BitmapEx StyleSettings::GetPersonaFooter() const { setupPersonaHeaderFooter( PERSONA_FOOTER, mpData->maPersonaHeaderFooter, mpData->mpPersonaFooterBitmap ); return mpData->mpPersonaFooterBitmap; diff --git a/vcl/source/window/dockingarea.cxx b/vcl/source/window/dockingarea.cxx index 8269c5e94985..e20265ded966 100644 --- a/vcl/source/window/dockingarea.cxx +++ b/vcl/source/window/dockingarea.cxx @@ -50,10 +50,10 @@ DockingAreaWindow::ImplData::~ImplData() static void ImplInitBackground( DockingAreaWindow* pThis ) { - const BitmapEx* pPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); - if ( pPersonaBitmap != NULL && pThis->GetAlign() == WINDOWALIGN_TOP ) + const BitmapEx& rPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); + if ( !rPersonaBitmap.IsEmpty() && pThis->GetAlign() == WINDOWALIGN_TOP ) { - Wallpaper aWallpaper( *pPersonaBitmap ); + Wallpaper aWallpaper( rPersonaBitmap ); aWallpaper.SetStyle( WALLPAPER_TOPRIGHT ); // we need to shift the bitmap vertically so that it spans over the @@ -175,7 +175,7 @@ void DockingAreaWindow::Paint( const Rectangle& ) } ControlState nState = CTRL_STATE_ENABLED; - if ( GetAlign() == WINDOWALIGN_TOP && Application::GetSettings().GetStyleSettings().GetPersonaHeader() ) + if ( GetAlign() == WINDOWALIGN_TOP && !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) Erase(); else if ( !ImplGetSVData()->maNWFData.mbDockingAreaSeparateTB ) { diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index d2d6adf89b20..dc70650f090a 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -3874,10 +3874,10 @@ static void ImplInitMenuWindow( Window* pWin, sal_Bool bFont, sal_Bool bMenuBar pWin->SetPointFont( rStyleSettings.GetMenuFont() ); if( bMenuBar ) { - const BitmapEx* pPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); - if ( pPersonaBitmap != NULL ) + const BitmapEx& rPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); + if ( !rPersonaBitmap.IsEmpty() ) { - Wallpaper aWallpaper( *pPersonaBitmap ); + Wallpaper aWallpaper( rPersonaBitmap ); aWallpaper.SetStyle( WALLPAPER_TOPRIGHT ); pWin->SetBackground( aWallpaper ); pWin->SetPaintTransparent( sal_False ); @@ -5521,7 +5521,7 @@ void MenuBarWindow::HighlightItem( sal_uInt16 nPos, sal_Bool bHighlight ) MenubarValue aControlValue; aControlValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - if ( Application::GetSettings().GetStyleSettings().GetPersonaHeader() ) + if ( !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) Erase(); else { @@ -5557,7 +5557,7 @@ void MenuBarWindow::HighlightItem( sal_uInt16 nPos, sal_Bool bHighlight ) MenubarValue aMenubarValue; aMenubarValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - if ( Application::GetSettings().GetStyleSettings().GetPersonaHeader() ) + if ( !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) Erase( aRect ); else { @@ -5793,7 +5793,7 @@ void MenuBarWindow::Paint( const Rectangle& ) MenubarValue aMenubarValue; aMenubarValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - if ( Application::GetSettings().GetStyleSettings().GetPersonaHeader() ) + if ( !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) Erase(); else { |