GR_BITMAP

Name

GR_BITMAP -- Bitmap unit

Synopsis

typedef unsigned short  GR_BITMAP;
  

Description

The GR_BITMAP type is used to specify small monochrome bitmapped images. These bitmap images are generally used for mouse cursors.

Each pixel is represented by a bit in a GR_BITMAP value. The bitmaps can be up to 16x16 pixels in size. Therefore this type will define a complete row of the bitmap within one GR_BITMAP value. To define a 16x16 bitmap, you would use a 16 element array of GR_BITMAP values.

Example

The following example builds an X shaped mouse cursor.

Example 3-1. Using GR_BITMAP

 
void set_x_cursor (GR_WINDOW_ID wid)
{
    GR_BITMAP fg_bitmap[16];
    GR_BITMAP bg_bitmap[16];

    fg_bitmap[0]  = 0x8001;  /* X______________X */
    fg_bitmap[1]  = 0x4002;  /* _X____________X_ */
    fg_bitmap[2]  = 0x2004;  /* __X__________X__ */
    fg_bitmap[3]  = 0x1008;  /* ___X________X___ */
    fg_bitmap[4]  = 0x0810;  /* ____X______X____ */
    fg_bitmap[5]  = 0x0420;  /* _____X____X_____ */
    fg_bitmap[6]  = 0x0240;  /* ______X__X______ */
    fg_bitmap[7]  = 0x0180;  /* _______XX_______ */
    fg_bitmap[8]  = 0x0180;  /* _______XX_______ */
    fg_bitmap[9]  = 0x0240;  /* ______X__X______ */
    fg_bitmap[10] = 0x0420;  /* _____X____X_____ */
    fg_bitmap[11] = 0x0810;  /* ____X______X____ */
    fg_bitmap[12] = 0x1008;  /* ___X________X___ */
    fg_bitmap[13] = 0x2004;  /* __X__________X__ */
    fg_bitmap[14] = 0x4002;  /* _X____________X_ */
    fg_bitmap[15] = 0x8001;  /* X______________X */

    bg_bitmap[0]  = 0x4002;  /* _X____________X_ */
    bg_bitmap[1]  = 0xA005;  /* X_X__________X_X */
    bg_bitmap[2]  = 0x500A;  /* _X_X________X_X_ */
    bg_bitmap[3]  = 0x2814;  /* __X_X______X_X__ */
    bg_bitmap[4]  = 0x1428;  /* ___X_X____X_X___ */
    bg_bitmap[5]  = 0x0A50;  /* ____X_X__X_X____ */
    bg_bitmap[6]  = 0x05A0;  /* _____X_XX_X_____ */
    bg_bitmap[7]  = 0x0240;  /* ______X__X______ */
    bg_bitmap[8]  = 0x0240;  /* ______X__X______ */
    bg_bitmap[9]  = 0x05A0;  /* _____X_XX_X_____ */
    bg_bitmap[10] = 0x0A50;  /* ____X_X__X_X____ */
    bg_bitmap[11] = 0x1428;  /* ___X_X____X_X___ */
    bg_bitmap[12] = 0x2814;  /* __X_X______X_X__ */
    bg_bitmap[13] = 0x500A;  /* _X_X________X_X_ */
    bg_bitmap[14] = 0xA005;  /* X_X__________X_X */
    bg_bitmap[15] = 0x4002;  /* _X____________X_ */

    GrSetCursor (wid, 16, 16, 8, 8, 
                 BLACK, BLACK, fg_bitmap, bg_bitmap);
}

See Also

GrSetCursor(), GrBitmap().