/// <summary> /// Reads the compressed data from the djvu file /// </summary> /// <param name="reader"></param> /// <param name="count"></param> /// <param name="compressedSectionLength"></param> private void ReadCompressedData(DjvuReader reader, int count, int compressedSectionLength) { DjvuReader decompressor = reader.GetBZZEncodedReader(compressedSectionLength); // Read the component sizes for (int x = 0; x < count; x++) { _components[x].Size = decompressor.ReadInt24MSB(); } // Read the component flag information for (int x = 0; x < count; x++) { _components[x].DecodeFlags(decompressor.ReadSByte()); } // Read the component strings for (int x = 0; x < count; x++) { _components[x].ID = decompressor.ReadNullTerminatedString(); if (_components[x].HasName == true) { _components[x].Name = decompressor.ReadNullTerminatedString(); } if (_components[x].HasTitle == true) { _components[x].Title = decompressor.ReadNullTerminatedString(); } } _isInitialized = true; }