From 702eb3d389f7525674f0743a46c987bc981394f3 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Wed, 25 May 2016 17:56:19 +0200 Subject: convert RSC_IMAGE to scoped enum and drop unused RSC_IMAGE_IMAGEBITMAP Change-Id: I6c38e5e8e17d288ab525bbef368ebbc7e860e154 Reviewed-on: https://gerrit.libreoffice.org/25458 Tested-by: Jenkins Reviewed-by: Noel Grandin --- include/tools/rc.h | 10 +++++++--- rsc/source/parser/rscicpx.cxx | 6 ++---- vcl/source/image/Image.cxx | 19 ++++--------------- 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/include/tools/rc.h b/include/tools/rc.h index 6bfafde5a244..cd09254b4dc4 100644 --- a/include/tools/rc.h +++ b/include/tools/rc.h @@ -154,9 +154,13 @@ namespace o3tl { } // For "Image": -#define RSC_IMAGE_IMAGEBITMAP 0x01 -#define RSC_IMAGE_MASKBITMAP 0x02 -#define RSC_IMAGE_MASKCOLOR 0x04 +enum class RscImageFlags { + ImageBitmap = 0x01, + MaskColor = 0x04 +}; +namespace o3tl { + template<> struct typed_flags : is_typed_flags {}; +} // For "ImageList": enum class RscImageListFlags { diff --git a/rsc/source/parser/rscicpx.cxx b/rsc/source/parser/rscicpx.cxx index 1ec99f235f1d..4e0b2fcb6949 100644 --- a/rsc/source/parser/rscicpx.cxx +++ b/rsc/source/parser/rscicpx.cxx @@ -152,12 +152,10 @@ RscTop * RscTypCont::InitClassImage( RscTop * pSuper, RscTop * pClassBitmap, // initialize variables nId = aNmTb.Put( "ImageBitmap", VARNAME ); - pClassImage->SetVariable( nId, pClassBitmap, nullptr, 0, RSC_IMAGE_IMAGEBITMAP ); - nId = aNmTb.Put( "MaskBitmap", VARNAME ); - pClassImage->SetVariable( nId, pClassBitmap, nullptr, 0, RSC_IMAGE_MASKBITMAP ); + pClassImage->SetVariable( nId, pClassBitmap, nullptr, 0, (sal_uInt32)RscImageFlags::ImageBitmap ); nId = aNmTb.Put( "MaskColor", VARNAME ); pClassImage->SetVariable( nId, pClassColor, nullptr, - VAR_SVDYNAMIC, RSC_IMAGE_MASKCOLOR ); + VAR_SVDYNAMIC, (sal_uInt32)RscImageFlags::MaskColor ); return pClassImage; } diff --git a/vcl/source/image/Image.cxx b/vcl/source/image/Image.cxx index 607fed2b6f64..417c3fe3433d 100644 --- a/vcl/source/image/Image.cxx +++ b/vcl/source/image/Image.cxx @@ -56,27 +56,16 @@ Image::Image( const ResId& rResId ) : { pResMgr->Increment( sizeof( RSHEADER_TYPE ) ); - BitmapEx aBmpEx; - sal_uLong nObjMask = pResMgr->ReadLong(); + BitmapEx aBmpEx; + RscImageFlags nObjMask = (RscImageFlags)pResMgr->ReadLong(); - if( nObjMask & RSC_IMAGE_IMAGEBITMAP ) + if( nObjMask & RscImageFlags::ImageBitmap ) { aBmpEx = BitmapEx( ResId( static_cast(pResMgr->GetClass()), *pResMgr ) ); pResMgr->Increment( ResMgr::GetObjSize( static_cast(pResMgr->GetClass()) ) ); } - if( nObjMask & RSC_IMAGE_MASKBITMAP ) - { - if( !aBmpEx.IsEmpty() && aBmpEx.GetTransparentType() == TRANSPARENT_NONE ) - { - const Bitmap aMaskBitmap( ResId( static_cast(pResMgr->GetClass()), *pResMgr ) ); - aBmpEx = BitmapEx( aBmpEx.GetBitmap(), aMaskBitmap ); - } - - pResMgr->Increment( ResMgr::GetObjSize( static_cast(pResMgr->GetClass()) ) ); - } - - if( nObjMask & RSC_IMAGE_MASKCOLOR ) + if( nObjMask & RscImageFlags::MaskColor ) { if( !aBmpEx.IsEmpty() && aBmpEx.GetTransparentType() == TRANSPARENT_NONE ) { -- cgit