Пример #1
0
        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);
        }
Пример #2
0
        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
            }
        }