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 kowmf* files.

This parser is included in the kowmf library, also created by
CMakeLists.txt. 


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.


kowmfenums.h    Most of the enums defined in the [MS-EMF].pdf documentation
kowmfstruct.h   A number of structs used in the wmf file.  Seems
                similar to wmfstruct.h
kowmfstack.{h,cc}
                "WMF file allows manipulation on a stack of object.
                It's possible to create, delete or select an object."
kowmfread.{h,cc}
                Abstract base class of the callback interface.
                Also contains some implemented methods.
kowmfreadprivate.{h,cc}
                Private class for kowmfread. Contains the actual implementation.
kowmfpaint.{h,cc}
                Implementation of the kowmfread interface using a QPainter.
kowmfwrite.{h,cc}
                Implementation of a writer for placeable WMF's using
                the same interface as the callback interface to the
                parser.  Probably (although I haven't checked), this
                makes it possible to create a new WMF using kowmfwrite
                as a backend to kowmfread.
                
