To create a custom fill pattern that the operating system will use to fill area primitives and paths:
The following figure shows how to create the pattern.
/* Define an array of bytes; this array creates a grid pattern. */ BYTE abPattern5[] = { 0xFF, 0xFF, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 }; LONG lcidCustom = 1; HPS hps; PBITMAPINFO2 pbmi; BITMAPINFOHEADER2 bmp; HBITMAP hbm; PRGB2 prgb2; /* Create the bit map, passing the address of the array of bytes. */ hbm = GpiCreateBitmap(hps, &bmp, CBM_INIT, (PBYTE) abPattern5, pbmi); /* Assign a local identifier to the bit map. */ GpiSetBitmapId(hps, hbm, lcidCustom); /* Set the pattern-set attribute in the AREABUNDLE structure. */ GpiSetPatternSet(hps, lcidCustom);