public static TS_FP_COLORPOINTERATTRIBUTE CreateFPColorPointerAttribute(int width, int height)
{
TS_FP_COLORPOINTERATTRIBUTE fpColorPtr = new TS_FP_COLORPOINTERATTRIBUTE();
fpColorPtr.updateHeader = (byte)(((int)updateCode_Values.FASTPATH_UPDATETYPE_COLOR & 0x0f)
| (((int)fragmentation_Value.FASTPATH_FRAGMENT_SINGLE) << 4)
| ((int)compressedType_Values.None << 6));
fpColorPtr.size = 0;
fpColorPtr.colorPointerUpdateData.cacheIndex = 0;
fpColorPtr.colorPointerUpdateData.hotSpot.xPos = 5;
fpColorPtr.colorPointerUpdateData.hotSpot.yPos = 5;
fpColorPtr.colorPointerUpdateData.width = (ushort)width;
fpColorPtr.colorPointerUpdateData.height = (ushort)height;
fpColorPtr.colorPointerUpdateData.lengthAndMask = (ushort)(((width + 7) / 8 + 1) / 2 * 2 * height);
fpColorPtr.colorPointerUpdateData.lengthXorMask = (ushort)((width * 3 + 1) / 2 * 2 * height);
fpColorPtr.colorPointerUpdateData.xorMaskData = new byte[fpColorPtr.colorPointerUpdateData.lengthXorMask];
for (int i = 0; i < fpColorPtr.colorPointerUpdateData.lengthXorMask; i++)
fpColorPtr.colorPointerUpdateData.xorMaskData[i] = 0xf1;
fpColorPtr.colorPointerUpdateData.andMaskData = new byte[fpColorPtr.colorPointerUpdateData.lengthAndMask];
for (int i = 0; i < fpColorPtr.colorPointerUpdateData.lengthAndMask; i++)
fpColorPtr.colorPointerUpdateData.andMaskData[i] = 0x1f;
fpColorPtr.colorPointerUpdateData.pad = 0;
fpColorPtr.size = (ushort)(15 + fpColorPtr.colorPointerUpdateData.lengthXorMask + fpColorPtr.colorPointerUpdateData.lengthAndMask);
return fpColorPtr;
}