Scroll to navigation

EMF::METARECORD(3) libemf EMF::METARECORD(3)

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.

Public Member Functions


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

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.

Constructor & Destructor Documentation

virtual EMF::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.

Member Function Documentation

virtual void EMF::METARECORD::execute (METAFILEDEVICECONTEXT * source, HDC dc) const [pure virtual]

Execute the graphics command in the given context. Used by PlayEnhMetaFile to 'copy' one metafile into another.

Parameters

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

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

virtual bool EMF::METARECORD::serialize (DATASTREAM ds) [pure virtual]

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.

Parameters

ds the datastream to write oneself to.

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

virtual int EMF::METARECORD::size (void) const [pure virtual]

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

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

Author

Generated automatically by Doxygen for libemf from the source code.

Tue Jun 30 2020 Version 1.0.9