Encapsulated Dib API

This article describes a class (CDib) encapsulating the Dib API distributed with the DIBLOOK sample. The class methods are mostly the same global functions declared in the dibapi.h file. The names of the functions were slighty modified to reflect encapsulation (e.g. the dib sufix was removed). The code is almost the same, with some modifications.

The use of a class instead of global functions allowed for some extra features:

  • The Dib maintains a CPalette member that updates automatically
  • The BITMAPINFOHEADER structure and the image bits are kept in diferent data members (which allows for an easier access if image proccesing capabilities are added)
  • Improved clipboard support implementation
  • The Paint function (former PaintDIB) now includes palette support
  • Serialization support (Serialize function implemented)

This class could be a starting point to a more complex image class. It has been used (among other things) to implement a static control to display images and a completely object oriented DIBLOOK. These articles can be found on the static control section and the samples section respectively.

Download Source Code

Last updated: 24 June 1998

More by Author

Must Read