Bitmaps are defined as an array of GR_BITMAP values, which are unsigned shorts. Each word is 16 bits, which specify foreground and background values, with 1 being foreground and 0 being background. Higher order bits in the word represent pixels to the left of the lower order bits. Bitmaps have a width and a height, measured in pixels. The width does not need to be a multiple of 16. In this case, remaining bits in the last word of a row are unused, so that each row starts with a new bitmap word. The GR_BITMAP_SIZE macro can be used to allocate the proper number of bitmap words for a bitmap, as in:

	GR_BITMAP_SIZE(width, height).

The symbol GR_MAX_BITMAP_SIZE is the number of bitmap words required for the maximum sized cursor.