# The multi-bitmap header file

## Contents

- Overview
- Enumeration structure

## Overview

Bmconv bundles one or more Windows bitmaps into an EPOC multi bitmap file, and automatically generates a handle to each contained bitmap in a C++ multi bitmap header file. This header is a bonus for C++ developers; OPL developers must manually index the contained bitmaps.

The C++ header file contains an enumeration which identifies each of the source bitmaps within the associated multi-bitmap file. These enumerated constants can be used as parameters to the EPOC C++ SDK function `CFbsBitmap::Load()` when a bitmap is required by an EPOC application.

This following section describes the method used to generate the enumeration.

## Enumeration structure

Each enum’s type name is generated by

1. taking the name of the header file specified in the command line, without its extension
2. capitalising the first letter and leaving the other characters in lower case
3. prefixing the name with `TMbm`.

For example, if the header filename is `head.h` the enum name will be `TMbmHead`.

The item names are generated by

1. taking the name of the header file specified in the command line, without its extension
2. capitalising the first letter and leaving the other characters in lower case
3. taking the name of the source bitmap file specified in the command line, without its extension
4. capitalising the first letter and leaving the other characters in lower case
5. adding the modified source bitmap filename to the end of the modified header file name
6. prefixing the result with `EMbm`.

For example, if the name of the header file is `head.h` and the source `.bmp` filename is `tblank` the enum item name will be `EMbmHeadTblank`.