public PageCompositionSegment(byte[] buffer, int index, int regionLength) { PageTimeOut = buffer[index]; PageVersionNumber = buffer[index + 1] >> 4; PageState = (buffer[index + 1] & Helper.B00001100) >> 2; Regions = new List<PageCompositionSegmentRegion>(); int i = 0; while (i < regionLength && i + index < buffer.Length) { var rcsr = new PageCompositionSegmentRegion { RegionId = buffer[i + index + 2] }; i += 2; rcsr.RegionHorizontalAddress = Helper.GetEndianWord(buffer, i + index + 2); i += 2; rcsr.RegionVerticalAddress = Helper.GetEndianWord(buffer, i + index + 2); i += 2; Regions.Add(rcsr); } }
public PageCompositionSegment(byte[] buffer, int index, int regionLength) { PageTimeOut = buffer[index]; PageVersionNumber = buffer[index + 1] >> 4; PageState = (buffer[index + 1] & Helper.B00001100) >> 2; Regions = new List <PageCompositionSegmentRegion>(); int i = 0; while (i < regionLength && i + index < buffer.Length) { var rcsr = new PageCompositionSegmentRegion(); rcsr.RegionId = buffer[i + index + 2]; i += 2; rcsr.RegionHorizontalAddress = Helper.GetEndianWord(buffer, i + index + 2); i += 2; rcsr.RegionVerticalAddress = Helper.GetEndianWord(buffer, i + index + 2); i += 2; Regions.Add(rcsr); } }