internal ProfileDescription(int idx, ICCHeader header) { //Device manufacturer signature (4 bytes) DeviceManufacturer = Helper.GetUInt32(idx); //Device model signature (4 bytes) DeviceModel = Helper.GetUInt32(idx + 4); //Device attributes (8 bytes) DeviceAttributes = new DeviceAttribute(idx + 8); //Device technology information (4 bytes) TechnologyInformation = (TagSignature)Helper.GetUInt32(idx + 16); //Displayable description of device manufacturer (profile's deviceMfgDescTag) DeviceManufacturerInfo = new multiLocalizedUnicodeTagDataEntry(idx + 20, header.DeviceManufacturer == 0 ? true : false); //Displayable description of device model (profile's deviceModelDescTag) DeviceModelInfo = new multiLocalizedUnicodeTagDataEntry(DeviceManufacturerInfo.end, header.DeviceModel == 0 ? true : false); end = DeviceModelInfo.end; }
internal profileSequenceIdentifierTagDataEntry(int idx) { //Count, specifying number of structures in the array (4 bytes) NumberCount = (int)Helper.GetUInt32(idx); //Positions table for profile identifiers PositionTable = new PositionNumber[NumberCount]; int end = idx + 4 + 8 * NumberCount; int c = 0; for (int i = idx + 4; i < end; i += 8) { PositionTable[c] = new PositionNumber(i); c++; } //Profile ID (16 bytes) ProfileID = Helper.GetProfileID(end); //Profile description ProfileDescription = new multiLocalizedUnicodeTagDataEntry(end + 16, false); }