internal void AddPage(Queue <ITH44Chunk> thumbnails, DjvuChunk page) { ITH44Chunk thumbnail = thumbnails?.Count > 0 ? thumbnails.Dequeue() : null; DjvuPage newPage = new DjvuPage(_Pages.Count + 1, this, null, thumbnail, Includes, page); _Pages.Add(newPage); }
public DjvuPage(int pageNumber, IDjvuDocument document, DirmComponent header, ITH44Chunk thumbnail, IReadOnlyList<IDjviChunk> includedItems, DjvuFormElement form) { PageNumber = pageNumber; Document = document; Header = header; Thumbnail = thumbnail; IncludeFiles = includedItems; PageForm = form; _DjvuImage = new DjvuImage(this); PropertyChanged += DjvuPage_PropertyChanged; if (form.ChunkType != ChunkType.BM44Form && form.ChunkType != ChunkType.PM44Form && Info == null) { throw new DjvuFormatException( $"Page {PageNumber} does not have associated Info chunk." + "Page is invalid and can not be displayed"); } else if (form.ChunkType == ChunkType.BM44Form || form.ChunkType == ChunkType.PM44Form) { // TODO: Debug log or assert } }