This directory contains several parsers for the Windows MetaFile
format (WMF).  This is only for historical reasons.

1. The first parser is a simple viewer that uses a QPainter to paint
   the output.  This parser consists of wmfstruct.h, qwmf.{h,cc}, and
   metafuncs.h.

2. The second is a more generic advanced parser for WMF that provides
   callbacks for a generic output backend API.  This parser consists
   of kwmf.{h,cc} only and seems not to be used anywhere.

These two parsers are included in the kwmf library created by the
CMakeLists.txt file.

3. The third parser is also a generic one that uses callbacks. This
   API has several implementations, including one using a QPainter
   like the first one, and one that only outputs debuginfo.  This
   parser consists of all the Wmf* files.

This parser is included in the libwmf library, also created by
CMakeLists.txt.  It is also the most advanced one, and the one that is
used in the filters and in the vector shape.


Files
-----

qwmf.{h,cc}     "QWinMetaFile is a WMF viewer based on Qt" according
                to the class doc 
wmfstruct.h	Structs that are used in the records.
metafuncs.h     Big table of MetaFuncRec, with {name, number, handler} for
                each record type.  Only included in qwmf.cc, and it's
                not really sure why it's in a .h file at all.

kwmf.{h,cc]     "a generic parser for WMFs.  The output is a series of callbacks."
                Not used anywhere.


---------------- The actively maintained parser ----------------

WmfEnums.h      Most of the enums defined in the [MS-WMF].pdf documentation
WmfStruct.h     A number of structs used in the WMF file.
WmfStack.{h,cpp}
                "WMF file allows manipulation on a stack of object.
                It's possible to create, delete or select an object."
WmfParser.{h,cpp}
                Contains a parser for WMF. This parser will call
                functions in the backend to perform actions.
WmfAbstractBackend.{h,cpp}
                Abstract base class of the callback interface.
                Also contains some implemented methods.
WmfPainterBackend.{h,cpp}
                Implementation of the WmfAbstractBackend interface using a QPainter.
WmfWriter.{h,cpp}

                Implementation of a writer for WMF's using the same
                interface as the callback interface to the parser.
                This makes it possible to create a new WMF file.
