Main Page Class Hierarchy Compound List File List Compound Members

# EMF::METARECORD Class Reference

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

`#include <libemf.h>`

Inheritance diagram for EMF::METARECORD::

List of all members.

## Public Methods
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

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

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.
Reimplemented 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::EMRSETPIXELV, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN, EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, EMF::EMRCREATEPALETTE, EMF::EMRFILLPATH, EMF::EMRSTROKEPATH, EMF::EMRBEGINPATH, EMF::EMRENDPATH, EMF::EMRCLOSEFIGURE, EMF::EMRSAVEDC, EMF::EMRRESTOREDC, and EMF::EMRSETMETARGN.

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.
Reimplemented 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::EMRSETPIXELV, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN, EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, EMF::EMRCREATEPALETTE, EMF::EMRFILLPATH, EMF::EMRSTROKEPATH, EMF::EMRBEGINPATH, EMF::EMRENDPATH, EMF::EMRCLOSEFIGURE, EMF::EMRSAVEDC, EMF::EMRRESTOREDC, and EMF::EMRSETMETARGN.

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. Reimplemented 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::EMRSETPIXELV, EMF::EMRCREATEPEN, EMF::EMREXTCREATEPEN, EMF::EMRCREATEBRUSHINDIRECT, EMF::EMREXTCREATEFONTINDIRECTW, EMF::EMRCREATEPALETTE, EMF::EMRFILLPATH, EMF::EMRSTROKEPATH, EMF::EMRBEGINPATH, EMF::EMRENDPATH, EMF::EMRCLOSEFIGURE, EMF::EMRSAVEDC, EMF::EMRRESTOREDC, and EMF::EMRSETMETARGN.

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

- libemf.h