.TH "EMF::METARECORD" 3 "Tue Jun 30 2020" "Version 1.0.9" "libemf" \" -*- nroff -*- .ad l .nh .SH NAME EMF::METARECORD \- The base class of all metafile records\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherited by \fBEMF::EMRARC\fP, \fBEMF::EMRARCTO\fP, \fBEMF::EMRBEGINPATH\fP, \fBEMF::EMRCLOSEFIGURE\fP, \fBEMF::EMRCREATEBRUSHINDIRECT\fP, \fBEMF::EMRCREATEPALETTE\fP, \fBEMF::EMRCREATEPEN\fP, \fBEMF::EMRDELETEOBJECT\fP, \fBEMF::EMRELLIPSE\fP, \fBEMF::EMRENDPATH\fP, \fBEMF::EMREOF\fP, \fBEMF::EMREXTCREATEFONTINDIRECTW\fP, \fBEMF::EMREXTCREATEPEN\fP, \fBEMF::EMREXTTEXTOUTA\fP, \fBEMF::EMREXTTEXTOUTW\fP, \fBEMF::EMRFILLPATH\fP, \fBEMF::EMRLINETO\fP, \fBEMF::EMRMODIFYWORLDTRANSFORM\fP, \fBEMF::EMRMOVETOEX\fP, \fBEMF::EMRPOLYBEZIER\fP, \fBEMF::EMRPOLYBEZIER16\fP, \fBEMF::EMRPOLYBEZIERTO\fP, \fBEMF::EMRPOLYBEZIERTO16\fP, \fBEMF::EMRPOLYGON\fP, \fBEMF::EMRPOLYGON16\fP, \fBEMF::EMRPOLYLINE\fP, \fBEMF::EMRPOLYLINE16\fP, \fBEMF::EMRPOLYLINETO\fP, \fBEMF::EMRPOLYLINETO16\fP, \fBEMF::EMRPOLYPOLYGON\fP, \fBEMF::EMRPOLYPOLYGON16\fP, \fBEMF::EMRRECTANGLE\fP, \fBEMF::EMRRESTOREDC\fP, \fBEMF::EMRSAVEDC\fP, \fBEMF::EMRSCALEVIEWPORTEXTEX\fP, \fBEMF::EMRSCALEWINDOWEXTEX\fP, \fBEMF::EMRSELECTOBJECT\fP, \fBEMF::EMRSETBKCOLOR\fP, \fBEMF::EMRSETBKMODE\fP, \fBEMF::EMRSETMAPMODE\fP, \fBEMF::EMRSETMETARGN\fP, \fBEMF::EMRSETMITERLIMIT\fP, \fBEMF::EMRSETPIXELV\fP, \fBEMF::EMRSETPOLYFILLMODE\fP, \fBEMF::EMRSETTEXTALIGN\fP, \fBEMF::EMRSETTEXTCOLOR\fP, \fBEMF::EMRSETVIEWPORTEXTEX\fP, \fBEMF::EMRSETVIEWPORTORGEX\fP, \fBEMF::EMRSETWINDOWEXTEX\fP, \fBEMF::EMRSETWINDOWORGEX\fP, \fBEMF::EMRSETWORLDTRANSFORM\fP, \fBEMF::EMRSTROKEANDFILLPATH\fP, \fBEMF::EMRSTROKEPATH\fP, and \fBEMF::ENHMETAHEADER\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual void \fBexecute\fP (\fBMETAFILEDEVICECONTEXT\fP *source, HDC dc) const =0" .br .ti -1c .RI "virtual bool \fBserialize\fP (\fBDATASTREAM\fP ds)=0" .br .ti -1c .RI "virtual int \fBsize\fP (void) const =0" .br .ti -1c .RI "virtual \fB~METARECORD\fP ()" .br .in -1c .SH "Detailed Description" .PP 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\&. .SH "Constructor & Destructor Documentation" .PP .SS "virtual EMF::METARECORD::~METARECORD ()\fC [inline]\fP, \fC [virtual]\fP" 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\&. .SH "Member Function Documentation" .PP .SS "virtual void EMF::METARECORD::execute (\fBMETAFILEDEVICECONTEXT\fP * source, HDC dc) const\fC [pure virtual]\fP" Execute the graphics command in the given context\&. Used by PlayEnhMetaFile to 'copy' one metafile into another\&. .PP \fBParameters\fP .RS 4 \fIsource\fP the device context from which this record is taken\&. .br \fIdc\fP the destination context\&. .RE .PP .PP Implemented in \fBEMF::EMRSETMITERLIMIT\fP, \fBEMF::EMRSETMETARGN\fP, \fBEMF::EMRRESTOREDC\fP, \fBEMF::EMRSAVEDC\fP, \fBEMF::EMRCLOSEFIGURE\fP, \fBEMF::EMRENDPATH\fP, \fBEMF::EMRBEGINPATH\fP, \fBEMF::EMRSTROKEANDFILLPATH\fP, \fBEMF::EMRSTROKEPATH\fP, \fBEMF::EMRFILLPATH\fP, \fBEMF::EMRCREATEPALETTE\fP, \fBEMF::EMREXTCREATEFONTINDIRECTW\fP, \fBEMF::EMRCREATEBRUSHINDIRECT\fP, \fBEMF::EMREXTCREATEPEN\fP, \fBEMF::EMRCREATEPEN\fP, \fBEMF::EMRSETPIXELV\fP, \fBEMF::EMREXTTEXTOUTW\fP, \fBEMF::EMREXTTEXTOUTA\fP, \fBEMF::EMRPOLYLINETO16\fP, \fBEMF::EMRPOLYLINETO\fP, \fBEMF::EMRPOLYBEZIERTO16\fP, \fBEMF::EMRPOLYBEZIERTO\fP, \fBEMF::EMRPOLYBEZIER16\fP, \fBEMF::EMRPOLYBEZIER\fP, \fBEMF::EMRPOLYPOLYGON16\fP, \fBEMF::EMRPOLYPOLYGON\fP, \fBEMF::EMRPOLYGON16\fP, \fBEMF::EMRPOLYGON\fP, \fBEMF::EMRPOLYLINE16\fP, \fBEMF::EMRPOLYLINE\fP, \fBEMF::EMRELLIPSE\fP, \fBEMF::EMRRECTANGLE\fP, \fBEMF::EMRARCTO\fP, \fBEMF::EMRARC\fP, \fBEMF::EMRLINETO\fP, \fBEMF::EMRMOVETOEX\fP, \fBEMF::EMRDELETEOBJECT\fP, \fBEMF::EMRSELECTOBJECT\fP, \fBEMF::EMRSETMAPMODE\fP, \fBEMF::EMRSETPOLYFILLMODE\fP, \fBEMF::EMRSETBKMODE\fP, \fBEMF::EMRSETBKCOLOR\fP, \fBEMF::EMRSETTEXTCOLOR\fP, \fBEMF::EMRSETTEXTALIGN\fP, \fBEMF::EMRSETWORLDTRANSFORM\fP, \fBEMF::EMRMODIFYWORLDTRANSFORM\fP, \fBEMF::EMRSCALEWINDOWEXTEX\fP, \fBEMF::EMRSETWINDOWEXTEX\fP, \fBEMF::EMRSCALEVIEWPORTEXTEX\fP, \fBEMF::EMRSETVIEWPORTEXTEX\fP, \fBEMF::EMRSETWINDOWORGEX\fP, \fBEMF::EMRSETVIEWPORTORGEX\fP, \fBEMF::EMREOF\fP, and \fBEMF::ENHMETAHEADER\fP\&. .SS "virtual bool EMF::METARECORD::serialize (\fBDATASTREAM\fP ds)\fC [pure virtual]\fP" 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\&. .PP \fBParameters\fP .RS 4 \fIds\fP the datastream to write oneself to\&. .RE .PP .PP Implemented in \fBEMF::EMRSETMITERLIMIT\fP, \fBEMF::EMRSETMETARGN\fP, \fBEMF::EMRRESTOREDC\fP, \fBEMF::EMRSAVEDC\fP, \fBEMF::EMRCLOSEFIGURE\fP, \fBEMF::EMRENDPATH\fP, \fBEMF::EMRBEGINPATH\fP, \fBEMF::EMRSTROKEANDFILLPATH\fP, \fBEMF::EMRSTROKEPATH\fP, \fBEMF::EMRFILLPATH\fP, \fBEMF::EMRCREATEPALETTE\fP, \fBEMF::EMREXTCREATEFONTINDIRECTW\fP, \fBEMF::EMRCREATEBRUSHINDIRECT\fP, \fBEMF::EMREXTCREATEPEN\fP, \fBEMF::EMRCREATEPEN\fP, \fBEMF::EMRSETPIXELV\fP, \fBEMF::EMREXTTEXTOUTW\fP, \fBEMF::EMREXTTEXTOUTA\fP, \fBEMF::EMRPOLYLINETO16\fP, \fBEMF::EMRPOLYLINETO\fP, \fBEMF::EMRPOLYBEZIERTO16\fP, \fBEMF::EMRPOLYBEZIERTO\fP, \fBEMF::EMRPOLYBEZIER16\fP, \fBEMF::EMRPOLYBEZIER\fP, \fBEMF::EMRPOLYPOLYGON16\fP, \fBEMF::EMRPOLYPOLYGON\fP, \fBEMF::EMRPOLYGON16\fP, \fBEMF::EMRPOLYGON\fP, \fBEMF::EMRPOLYLINE16\fP, \fBEMF::EMRPOLYLINE\fP, \fBEMF::EMRELLIPSE\fP, \fBEMF::EMRRECTANGLE\fP, \fBEMF::EMRARCTO\fP, \fBEMF::EMRARC\fP, \fBEMF::EMRLINETO\fP, \fBEMF::EMRMOVETOEX\fP, \fBEMF::EMRDELETEOBJECT\fP, \fBEMF::EMRSELECTOBJECT\fP, \fBEMF::EMRSETMAPMODE\fP, \fBEMF::EMRSETPOLYFILLMODE\fP, \fBEMF::EMRSETBKMODE\fP, \fBEMF::EMRSETBKCOLOR\fP, \fBEMF::EMRSETTEXTCOLOR\fP, \fBEMF::EMRSETTEXTALIGN\fP, \fBEMF::EMRSETWORLDTRANSFORM\fP, \fBEMF::EMRMODIFYWORLDTRANSFORM\fP, \fBEMF::EMRSCALEWINDOWEXTEX\fP, \fBEMF::EMRSETWINDOWEXTEX\fP, \fBEMF::EMRSCALEVIEWPORTEXTEX\fP, \fBEMF::EMRSETVIEWPORTEXTEX\fP, \fBEMF::EMRSETWINDOWORGEX\fP, \fBEMF::EMRSETVIEWPORTORGEX\fP, \fBEMF::EMREOF\fP, and \fBEMF::ENHMETAHEADER\fP\&. .SS "virtual int EMF::METARECORD::size (void) const\fC [pure virtual]\fP" 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\&. .PP Implemented in \fBEMF::EMRSETMITERLIMIT\fP, \fBEMF::EMRSETMETARGN\fP, \fBEMF::EMRRESTOREDC\fP, \fBEMF::EMRSAVEDC\fP, \fBEMF::EMRCLOSEFIGURE\fP, \fBEMF::EMRENDPATH\fP, \fBEMF::EMRBEGINPATH\fP, \fBEMF::EMRSTROKEANDFILLPATH\fP, \fBEMF::EMRSTROKEPATH\fP, \fBEMF::EMRFILLPATH\fP, \fBEMF::EMRCREATEPALETTE\fP, \fBEMF::EMREXTCREATEFONTINDIRECTW\fP, \fBEMF::EMRCREATEBRUSHINDIRECT\fP, \fBEMF::EMREXTCREATEPEN\fP, \fBEMF::EMRCREATEPEN\fP, \fBEMF::EMRSETPIXELV\fP, \fBEMF::EMREXTTEXTOUTW\fP, \fBEMF::EMREXTTEXTOUTA\fP, \fBEMF::EMRPOLYLINETO16\fP, \fBEMF::EMRPOLYLINETO\fP, \fBEMF::EMRPOLYBEZIERTO16\fP, \fBEMF::EMRPOLYBEZIERTO\fP, \fBEMF::EMRPOLYBEZIER16\fP, \fBEMF::EMRPOLYBEZIER\fP, \fBEMF::EMRPOLYPOLYGON16\fP, \fBEMF::EMRPOLYPOLYGON\fP, \fBEMF::EMRPOLYGON16\fP, \fBEMF::EMRPOLYGON\fP, \fBEMF::EMRPOLYLINE16\fP, \fBEMF::EMRPOLYLINE\fP, \fBEMF::EMRELLIPSE\fP, \fBEMF::EMRRECTANGLE\fP, \fBEMF::EMRARCTO\fP, \fBEMF::EMRARC\fP, \fBEMF::EMRLINETO\fP, \fBEMF::EMRMOVETOEX\fP, \fBEMF::EMRDELETEOBJECT\fP, \fBEMF::EMRSELECTOBJECT\fP, \fBEMF::EMRSETMAPMODE\fP, \fBEMF::EMRSETPOLYFILLMODE\fP, \fBEMF::EMRSETBKMODE\fP, \fBEMF::EMRSETBKCOLOR\fP, \fBEMF::EMRSETTEXTCOLOR\fP, \fBEMF::EMRSETTEXTALIGN\fP, \fBEMF::EMRSETWORLDTRANSFORM\fP, \fBEMF::EMRMODIFYWORLDTRANSFORM\fP, \fBEMF::EMRSCALEWINDOWEXTEX\fP, \fBEMF::EMRSETWINDOWEXTEX\fP, \fBEMF::EMRSCALEVIEWPORTEXTEX\fP, \fBEMF::EMRSETVIEWPORTEXTEX\fP, \fBEMF::EMRSETWINDOWORGEX\fP, \fBEMF::EMRSETVIEWPORTORGEX\fP, \fBEMF::EMREOF\fP, and \fBEMF::ENHMETAHEADER\fP\&. .PP Referenced by EMF::METAFILEDEVICECONTEXT::appendHandle(), and EMF::METAFILEDEVICECONTEXT::appendRecord()\&. .SH "Author" .PP Generated automatically by Doxygen for libemf from the source code\&.