public static TS_FP_COLORPOINTERATTRIBUTE CreateFPColorPointerAttribute(int width, int height) { TS_FP_COLORPOINTERATTRIBUTE fpColorPtr = new TS_FP_COLORPOINTERATTRIBUTE(); fpColorPtr.updateHeader = new nested_TS_FP_UPDATE_updateHeader(updateCode_Values.FASTPATH_UPDATETYPE_COLOR); 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.AssignUpdateDataAndSize(); return(fpColorPtr); }
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); }
public static TS_FP_COLORPOINTERATTRIBUTE CreateFPColorPointerAttribute(ushort cacheIndex, ushort hotSpotX, ushort hotSpotY, ushort width, ushort height, byte[] xorMaskData = null, byte[] andMaskData = null) { 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.colorPointerUpdateData.cacheIndex = cacheIndex; fpColorPtr.colorPointerUpdateData.hotSpot.xPos = hotSpotX; fpColorPtr.colorPointerUpdateData.hotSpot.yPos = hotSpotY; fpColorPtr.colorPointerUpdateData.width = width; fpColorPtr.colorPointerUpdateData.height = height; if (xorMaskData != null) { fpColorPtr.colorPointerUpdateData.lengthXorMask = (ushort)xorMaskData.Length; fpColorPtr.colorPointerUpdateData.xorMaskData = xorMaskData; } else { 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] = 0xff; } } if (andMaskData != null) { fpColorPtr.colorPointerUpdateData.lengthAndMask = (ushort)andMaskData.Length; fpColorPtr.colorPointerUpdateData.andMaskData = andMaskData; } else { fpColorPtr.colorPointerUpdateData.lengthAndMask = (ushort)(((width + 7) / 8 + 1) / 2 * 2 * height); fpColorPtr.colorPointerUpdateData.andMaskData = new byte[fpColorPtr.colorPointerUpdateData.lengthAndMask]; for (int i = 0; i < fpColorPtr.colorPointerUpdateData.lengthAndMask; i++) { fpColorPtr.colorPointerUpdateData.andMaskData[i] = 0xff; } } fpColorPtr.colorPointerUpdateData.pad = 0; fpColorPtr.size = (ushort)(15 + fpColorPtr.colorPointerUpdateData.lengthXorMask + fpColorPtr.colorPointerUpdateData.lengthAndMask); return(fpColorPtr); }
public static TS_FP_COLORPOINTERATTRIBUTE CreateFPColorPointerAttribute(ushort cacheIndex, ushort hotSpotX, ushort hotSpotY, ushort width, ushort height, byte[] xorMaskData = null, byte[] andMaskData = null) { TS_FP_COLORPOINTERATTRIBUTE fpColorPtr = new TS_FP_COLORPOINTERATTRIBUTE(); fpColorPtr.updateHeader = new nested_TS_FP_UPDATE_updateHeader(updateCode_Values.FASTPATH_UPDATETYPE_COLOR); fpColorPtr.colorPointerUpdateData.cacheIndex = cacheIndex; fpColorPtr.colorPointerUpdateData.hotSpot.xPos = hotSpotX; fpColorPtr.colorPointerUpdateData.hotSpot.yPos = hotSpotY; fpColorPtr.colorPointerUpdateData.width = width; fpColorPtr.colorPointerUpdateData.height = height; if (xorMaskData != null) { fpColorPtr.colorPointerUpdateData.lengthXorMask = (ushort)xorMaskData.Length; fpColorPtr.colorPointerUpdateData.xorMaskData = xorMaskData; } else { 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] = 0xff; } } if (andMaskData != null) { fpColorPtr.colorPointerUpdateData.lengthAndMask = (ushort)andMaskData.Length; fpColorPtr.colorPointerUpdateData.andMaskData = andMaskData; } else { fpColorPtr.colorPointerUpdateData.lengthAndMask = (ushort)(((width + 7) / 8 + 1) / 2 * 2 * height); fpColorPtr.colorPointerUpdateData.andMaskData = new byte[fpColorPtr.colorPointerUpdateData.lengthAndMask]; for (int i = 0; i < fpColorPtr.colorPointerUpdateData.lengthAndMask; i++) { fpColorPtr.colorPointerUpdateData.andMaskData[i] = 0xff; } } fpColorPtr.colorPointerUpdateData.pad = 0; fpColorPtr.AssignUpdateDataAndSize(); return(fpColorPtr); }