Creation of MBM file
This article provides two methods for creating Symbian .mbm (multibitmap) files from bitmaps. The first uses Symbian C++ directly, while the second uses the build toolchain to create the file based on a definition in the MMP file.
Creating an MBM file in Symbian C++
- Convert images to bmp and save them as .mbm using function CFbsbitmap::saveL()
- Get this MBM filepaths into some buffer and pass them to TDesC* aSources,
- For TInt32 aSourceIds you can use ids starting from 0.
- Call this storel() function ,mbm is ready to use now...
TInt32* uniqueIds = new ( ELeave ) TInt32[ 2 ];
CleanupStack::PushL( uniqueIds );
uniqueIds[ 0 ] = 0;
uniqueIds[ 1 ] = 0;
TFileName** filenames = new ( ELeave ) TFileName*[ 2 ];
CleanupStack::PushL( filenames );
filenames[ 0 ] = new (ELeave) TFileName( KBMPFilePath0 );
filenames[ 1 ] = new (ELeave) TFileName( KBMPFilePath1 );
CFbsBitmap::StoreL( KMbmFile, // Filename for new multi-bitmap mbm
2, // Count of files
( const TDesC** )filenames, // bitmaps to be loaded
uniqueIds ); // id's of the bitmaps in MBM files
// Clean resources
delete filenames[ 0 ];
delete filenames[ 1 ];
CleanupStack::PopAndDestroy( filenames );
CleanupStack::PopAndDestroy( uniqueIds );
Creating an MBM file using a Symbian project file definition
This method applies if you already have Bmp files and/or their masks. In this case the MBM files can be created using the mmp file.
Without mask file
START BITMAP S60Test.mbm
SOURCE c12 tlo.bmp
With mask file
START BITMAP Myownmbm.mbm
SOURCE c12 check.bmp
SOURCE c12 check_mask.bmp
SOURCE c12 uncheck.bmp
SOURCE c12 uncheck_mask.bmp
This creates a mbg file that has to be included wherever the images need to be used. The mbg is actually a text file which contains an enum with the image indexes.
/* This file has been generated, DO NOT MODIFY. */