/// <summary> /// Parse TS_UPDATE_BITMAP_DATA /// (parser index is updated according to parsed length) /// </summary> /// <param name="data">data to be parsed</param> /// <param name="currentIndex">current parser index</param> /// <returns>TS_UPDATE_BITMAP_DATA</returns> private TS_UPDATE_BITMAP_DATA ParseTsUpdateBitmapData(byte[] data, ref int currentIndex) { TS_UPDATE_BITMAP_DATA bitmapData = new TS_UPDATE_BITMAP_DATA(); // TS_UPDATE_BITMAP: updateType bitmapData.updateType = ParseUInt16(data, ref currentIndex, false); // TS_UPDATE_BITMAP: numberRectangles bitmapData.numberRectangles = ParseUInt16(data, ref currentIndex, false); // TS_UPDATE_BITMAP: rectangles bitmapData.rectangles = new TS_BITMAP_DATA[bitmapData.numberRectangles]; for (int i = 0; i < bitmapData.rectangles.Length; i++) { bitmapData.rectangles[i] = ParseTsBitmapData(data, ref currentIndex); } return bitmapData; }