logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

EMF::METARECORD - The base class of all metafile records.

Author

       Generated automatically by Doxygen for libemf from the source code.

Version 1.0.9                                Thu Jun 6 2024 23:01:07                          EMF::METARECORD(3)

Constructor & Destructor Documentation

virtualEMF::METARECORD::~METARECORD()[inline],[virtual]
       The virtual destructor allows records which allocated additional memory to release it when they are
       deleted. Simple records just use the default destructor defined here.

Detailed Description

       The base class of all metafile records.

       A metafile consists off a sequence of graphics records 'executed' in order. This is a common base class
       that allows each, different, record to be stored in a common list. An interface is specified for each
       record to write itself to a file.

Member Function Documentation

virtualvoidEMF::METARECORD::execute(METAFILEDEVICECONTEXT*source,HDCdc)const[purevirtual]
       Execute the graphics command in the given context. Used by PlayEnhMetaFile to 'copy' one metafile into
       another.

       Parameterssource the device context from which this record is taken.
           dc the destination context.

       Implemented in EMF::ENHMETAHEADER, EMF::EMREOF, EMF::EMRSETVIEWPORTORGEX, EMF::EMRSETWINDOWORGEX,
       EMF::EMRSETVIEWPORTEXTEX, EMF::EMRSCALEVIEWPORTEXTEX, EMF::EMRSETWINDOWEXTEX, EMF::EMRSCALEWINDOWEXTEX,
       EMF::EMRMODIFYWORLDTRANSFORM, EMF::EMRSETWORLDTRANSFORM, EMF::EMRSETTEXTALIGN, EMF::EMRSETTEXTCOLOR,
       EMF::EMRSETBKCOLOR, EMF::EMRSETBKMODE, EMF::EMRSETPOLYFILLMODE, EMF::EMRSETMAPMODE, EMF::EMRSELECTOBJECT,
       EMF::EMRDELETEOBJECT, EMF::EMRMOVETOEX, EMF::EMRLINETO, EMF::EMRARC, EMF::EMRARCTO, EMF::EMRRECTANGLE,
       EMF::EMRELLIPSE, EMF::EMRPOLYLINE, EMF::EMRPOLYLINE16, EMF::EMRPOLYGON, EMF::EMRPOLYGON16,
       EMF::EMRPOLYPOLYGON, EMF::EMRPOLYPOLYGON16, EMF::EMRPOLYBEZIER, EMF::EMRPOLYBEZIER16,
       EMF::EMRPOLYBEZIERTO, EMF::EMRPOLYBEZIERTO16, EMF::EMRPOLYLINETO, EMF::EMRPOLYLINETO16,
       EMF::EMREXTTEXTOUTA, EMF::EMREXTTEXTOUTW, EMF::EMRSETPIXELV, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN,
       EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, EMF::EMRCREATEPALETTE, EMF::EMRFILLPATH,
       EMF::EMRSTROKEPATH, EMF::EMRSTROKEANDFILLPATH, EMF::EMRBEGINPATH, EMF::EMRENDPATH, EMF::EMRCLOSEFIGURE,
       EMF::EMRSAVEDC, EMF::EMRRESTOREDC, EMF::EMRSETMETARGN, and EMF::EMRSETMITERLIMIT.

   virtualboolEMF::METARECORD::serialize(DATASTREAMds)[purevirtual]
       Write yourself to the given file. This is virtual since some records are of arbitrary length and need to
       write additional information after their EMR structure.

       Parametersds the datastream to write oneself to.

       Implemented in EMF::ENHMETAHEADER, EMF::EMREOF, EMF::EMRSETVIEWPORTORGEX, EMF::EMRSETWINDOWORGEX,
       EMF::EMRSETVIEWPORTEXTEX, EMF::EMRSCALEVIEWPORTEXTEX, EMF::EMRSETWINDOWEXTEX, EMF::EMRSCALEWINDOWEXTEX,
       EMF::EMRMODIFYWORLDTRANSFORM, EMF::EMRSETWORLDTRANSFORM, EMF::EMRSETTEXTALIGN, EMF::EMRSETTEXTCOLOR,
       EMF::EMRSETBKCOLOR, EMF::EMRSETBKMODE, EMF::EMRSETPOLYFILLMODE, EMF::EMRSETMAPMODE, EMF::EMRSELECTOBJECT,
       EMF::EMRDELETEOBJECT, EMF::EMRMOVETOEX, EMF::EMRLINETO, EMF::EMRARC, EMF::EMRARCTO, EMF::EMRRECTANGLE,
       EMF::EMRELLIPSE, EMF::EMRPOLYLINE, EMF::EMRPOLYLINE16, EMF::EMRPOLYGON, EMF::EMRPOLYGON16,
       EMF::EMRPOLYPOLYGON, EMF::EMRPOLYPOLYGON16, EMF::EMRPOLYBEZIER, EMF::EMRPOLYBEZIER16,
       EMF::EMRPOLYBEZIERTO, EMF::EMRPOLYBEZIERTO16, EMF::EMRPOLYLINETO, EMF::EMRPOLYLINETO16,
       EMF::EMREXTTEXTOUTA, EMF::EMREXTTEXTOUTW, EMF::EMRSETPIXELV, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN,
       EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, EMF::EMRCREATEPALETTE, EMF::EMRFILLPATH,
       EMF::EMRSTROKEPATH, EMF::EMRSTROKEANDFILLPATH, EMF::EMRBEGINPATH, EMF::EMRENDPATH, EMF::EMRCLOSEFIGURE,
       EMF::EMRSAVEDC, EMF::EMRRESTOREDC, EMF::EMRSETMETARGN, and EMF::EMRSETMITERLIMIT.

   virtualintEMF::METARECORD::size(void)const[purevirtual]
       The header record of a metafile records the total size of the metafile in bytes, so as each record is
       added to the list, it updates the total size.

       Implemented in EMF::ENHMETAHEADER, EMF::EMREOF, EMF::EMRSETVIEWPORTORGEX, EMF::EMRSETWINDOWORGEX,
       EMF::EMRSETVIEWPORTEXTEX, EMF::EMRSCALEVIEWPORTEXTEX, EMF::EMRSETWINDOWEXTEX, EMF::EMRSCALEWINDOWEXTEX,
       EMF::EMRMODIFYWORLDTRANSFORM, EMF::EMRSETWORLDTRANSFORM, EMF::EMRSETTEXTALIGN, EMF::EMRSETTEXTCOLOR,
       EMF::EMRSETBKCOLOR, EMF::EMRSETBKMODE, EMF::EMRSETPOLYFILLMODE, EMF::EMRSETMAPMODE, EMF::EMRSELECTOBJECT,
       EMF::EMRDELETEOBJECT, EMF::EMRMOVETOEX, EMF::EMRLINETO, EMF::EMRARC, EMF::EMRARCTO, EMF::EMRRECTANGLE,
       EMF::EMRELLIPSE, EMF::EMRPOLYLINE, EMF::EMRPOLYLINE16, EMF::EMRPOLYGON, EMF::EMRPOLYGON16,
       EMF::EMRPOLYPOLYGON, EMF::EMRPOLYPOLYGON16, EMF::EMRPOLYBEZIER, EMF::EMRPOLYBEZIER16,
       EMF::EMRPOLYBEZIERTO, EMF::EMRPOLYBEZIERTO16, EMF::EMRPOLYLINETO, EMF::EMRPOLYLINETO16,
       EMF::EMREXTTEXTOUTA, EMF::EMREXTTEXTOUTW, EMF::EMRSETPIXELV, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN,
       EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, EMF::EMRCREATEPALETTE, EMF::EMRFILLPATH,
       EMF::EMRSTROKEPATH, EMF::EMRSTROKEANDFILLPATH, EMF::EMRBEGINPATH, EMF::EMRENDPATH, EMF::EMRCLOSEFIGURE,
       EMF::EMRSAVEDC, EMF::EMRRESTOREDC, EMF::EMRSETMETARGN, and EMF::EMRSETMITERLIMIT.

       Referenced by EMF::METAFILEDEVICECONTEXT::appendHandle(), and EMF::METAFILEDEVICECONTEXT::appendRecord().

Name

       EMF::METARECORD - The base class of all metafile records.

Synopsis

       #include <libemf.h>

       Inherited by EMF::EMRARC, EMF::EMRARCTO, EMF::EMRBEGINPATH, EMF::EMRCLOSEFIGURE,
       EMF::EMRCREATEBRUSHINDIRECT, EMF::EMRCREATEPALETTE, EMF::EMRCREATEPEN, EMF::EMRDELETEOBJECT,
       EMF::EMRELLIPSE, EMF::EMRENDPATH, EMF::EMREOF, EMF::EMREXTCREATEFONTINDIRECTW, EMF::EMREXTCREATEPEN,
       EMF::EMREXTTEXTOUTA, EMF::EMREXTTEXTOUTW, EMF::EMRFILLPATH, EMF::EMRLINETO, EMF::EMRMODIFYWORLDTRANSFORM,
       EMF::EMRMOVETOEX, EMF::EMRPOLYBEZIER, EMF::EMRPOLYBEZIER16, EMF::EMRPOLYBEZIERTO, EMF::EMRPOLYBEZIERTO16,
       EMF::EMRPOLYGON, EMF::EMRPOLYGON16, EMF::EMRPOLYLINE, EMF::EMRPOLYLINE16, EMF::EMRPOLYLINETO,
       EMF::EMRPOLYLINETO16, EMF::EMRPOLYPOLYGON, EMF::EMRPOLYPOLYGON16, EMF::EMRRECTANGLE, EMF::EMRRESTOREDC,
       EMF::EMRSAVEDC, EMF::EMRSCALEVIEWPORTEXTEX, EMF::EMRSCALEWINDOWEXTEX, EMF::EMRSELECTOBJECT,
       EMF::EMRSETBKCOLOR, EMF::EMRSETBKMODE, EMF::EMRSETMAPMODE, EMF::EMRSETMETARGN, EMF::EMRSETMITERLIMIT,
       EMF::EMRSETPIXELV, EMF::EMRSETPOLYFILLMODE, EMF::EMRSETTEXTALIGN, EMF::EMRSETTEXTCOLOR,
       EMF::EMRSETVIEWPORTEXTEX, EMF::EMRSETVIEWPORTORGEX, EMF::EMRSETWINDOWEXTEX, EMF::EMRSETWINDOWORGEX,
       EMF::EMRSETWORLDTRANSFORM, EMF::EMRSTROKEANDFILLPATH, EMF::EMRSTROKEPATH, and EMF::ENHMETAHEADER.

   PublicMemberFunctions
       virtual void execute (METAFILEDEVICECONTEXT *source, HDC dc) const =0
       virtual bool serialize (DATASTREAM ds)=0
       virtual int size (void) const =0
       virtual ~METARECORD ()

See Also