Bitmaps are handled by the CFbsBitmap
class, which provides facilities for creating, loading and saving bitmaps, and the TBitmapUtil
class, which provides functions that allow the user to operate on the individual bits within a bitmap.
Bitmaps are held in one of two heaps according to their size. Bitmaps are classified into large bitmaps and small bitmaps. Large bitmaps (those whose size is over a certain threshold value, currently set at 4Kb) are stored on a different heap to small bitmaps. The size of the large bitmap heap is automatically minimized by defragmenting it.
Each bitmap has two sizes stored with it: its twip-size — a “real-world” size used for WYSIWYG purposes, specified in twips; and its pixel-size — the actual size of the bitmap in pixels.