示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }