EMF::METARECORD Class Reference

The base class of all metafile records. More...

#include <libemf.h>

Inheritance diagram for EMF::METARECORD:
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::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 EMF::ENHMETAHEADER

List of all members.

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::ENHMETAHEADER, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN, EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, and EMF::EMRCREATEPALETTE.

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::ENHMETAHEADER, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN, EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, and EMF::EMRCREATEPALETTE.

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::ENHMETAHEADER, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN, EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, and EMF::EMRCREATEPALETTE.


The documentation for this class was generated from the following file:

Generated on Thu May 24 08:29:26 2012 for EMF by  doxygen 1.5.9-20090622