define DjVuImage.h

Decoding DjVu and IW44 images.

o class DjVuImage: public DjVuPort
Main DjVu Image data structure.
Files "DjVuImage.h" and "DjVuImage.cpp" implement DjVuImage class produced as a result of decoding of DjVu files. In the previous version of the library both the rendering and decoding have been handled by DjVuImage. This is no longer true. Now the DjVuDocument and DjVuFile classes handle decoding of both single page and multi page documents.

For compatibility reasons though, we still support old-style decoding interface through the DjVuImage class for single page documents only. As before, the display programs can call the decoding function from a separate thread. The user interface thread may call the rendering functions at any time. Rendering will be performed using the most recent data generated by the decoding thread. This multithreaded capability enables progressive display of remote images.

Creating DjVu images --- Class DjVuImage does not provide a direct way to create a DjVu image. The recommended procedure consists of directly writing the required chunks into an IFFByteStream as demonstrated in program djvumake. Dealing with too many encoding issues (such as chunk ordering and encoding quality) would indeed make the decoder unnecessarily complex.

ToDo: Layered structure --- Class DjVuImage currently contains an unstructured collection of smart pointers to various data structures. Although it simplifies the rendering routines, this choice does not reflect the layered structure of DjVu images and does not leave much room for evolution. We should be able to do better.

Author:
Léon Bottou <leonb@research.att.com> - initial implementation Andrei Erofeev <eaf@geocities.com> - multipage support
Version:
$Id: DjVuImage.h.html,v 1.12 2001/02/15 01:12:21 bcr Exp $

Alphabetic index Hierarchy of classes


DjVu is a trademark of LizardTech, Inc.
All other products mentioned are registered trademarks or trademarks of their respective companies.