| EMF
    1.0
    | 
Graphics Device Context. More...
#include <libemf.h>
 
  
 | Public Member Functions | |
| METAFILEDEVICECONTEXT (FILE *fp_, const RECT *size, LPCWSTR description_w) | |
| virtual | ~METAFILEDEVICECONTEXT () | 
| OBJECTTYPE | getType (void) const | 
| DWORD | nextHandle (void) | 
| void | clearHandle (DWORD handle) | 
| void | appendRecord (METARECORD *record) | 
| void | appendHandle (METARECORD *record) | 
| void | deleteMetafile (void) | 
| void | mergePoint (const LONG &x, const LONG &y) | 
| void | mergePoint (const POINT &p) | 
|  Public Member Functions inherited from EMF::OBJECT | |
| virtual | ~OBJECT () | 
| OBJECTs have a virtual destructor. | |
| OBJECT (void) | |
| Public Attributes | |
| ::FILE * | fp | 
| DATASTREAM | ds | 
| ENHMETAHEADER * | header | 
| std::vector< EMF::METARECORD * > | records | 
| SIZEL | resolution | 
| The resolution in DPI of the reference DC. | |
| SIZEL | viewport_ext | 
| The extent of the viewport. | |
| POINT | viewport_org | 
| The origin of the viewport. | |
| SIZEL | window_ext | 
| The extent of the window. | |
| POINT | window_org | 
| The origin of the window. | |
| bool | update_frame | 
| Update the frame automatically? | |
| POINT | min_device_point | 
| The lft/top-most painted point in device units. | |
| POINT | max_device_point | 
| The rgt/btm-most painted point in device units. | |
| POINT | point | 
| The current point. | |
| PEN * | pen | 
| The current pen. | |
| BRUSH * | brush | 
| The current brush. | |
| FONT * | font | 
| The current font. | |
| PALETTE * | palette | 
| The current palette. | |
| UINT | text_alignment | 
| The current text alignment. | |
| COLORREF | text_color | 
| The current text foreground color. | |
| COLORREF | bk_color | 
| The current background color. | |
| INT | bk_mode | 
| The current background mode. | |
| INT | polyfill_mode | 
| The current polygon fill mode. | |
| INT | map_mode | 
| The current mapping mode. | |
| FLOAT | miter_limit | 
| The current miter length limit. | |
| std::vector< bool > | handles | 
| std::map< HGDIOBJ, HGDIOBJ > | emf_handles | 
|  Public Attributes inherited from EMF::OBJECT | |
| HGDIOBJ | handle | 
Graphics Device Context.
Almost all GDI graphics calls require a device context (except those which create graphics objects such as pens and fonts). This is a specific context which renders to a metafile. There is a one-to-one correspondence between the device context and the metafile.
| 
 | inline | 
Most graphics programs seem to want to handle the opening and closing of files themselves, so this is an extension to the w32 interface.
| fp_ | stdio pointer to an open file. May be null. | 
| size | the rectangle describing the position and size of the metafile on the "page". May be null. | 
| description_w | a UNICODE string describing the metafile. The format must be "some text\0some more text\0\0". May be null. | 
| 
 | inlinevirtual | 
Destructor frees all the graphics objects which may have been allocated. Now, it also frees any metarecords which it might hold, too.
| 
 | inline | 
Add this record to the metafile.
| record | this record is an object so it increments the handle count as well. | 
| 
 | inline | 
Add this record to the metafile.
| record | standard graphics record | 
| 
 | inline | 
Clear the usage of this handle
| 
 | inline | 
Delete all the records from the metafile. This would seem to include deleting the header record as well.
| 
 | inlinevirtual | 
Return the type of this object (could probably do better with RTTI()).
Implements EMF::OBJECT.
| 
 | inline | 
Somewhat superfluous, except checker doesn't understand the initialization of automatic structures in the declaration.
| 
 | inline | 
Take the given point and determine if it enlarges the "painted" area of the device.
| 
 | inline | 
Scan the bit vector of used handles and return the index of the first free bit as this objects metafile handle.
| DATASTREAM EMF::METAFILEDEVICECONTEXT::ds | 
All i/o to the metafile is wrapped by this class so that byte swapping on big-endian machines is transparent.
| std::map< HGDIOBJ, HGDIOBJ > EMF::METAFILEDEVICECONTEXT::emf_handles | 
This map holds the current mapping between EMF handles and global object handles as a metafile is played back (with PlayEnhMetaFile).
| ::FILE* EMF::METAFILEDEVICECONTEXT::fp | 
If it is a file-based metafile, then this pointer is not null.
| std::vector< bool > EMF::METAFILEDEVICECONTEXT::handles | 
For compatibility, it appears that metafile handles are reused as objects are deleted. Attempt to emulate that behavior with a bit vector of used metafile handles.
| ENHMETAHEADER* EMF::METAFILEDEVICECONTEXT::header | 
Serves double duty as the physical device description.
| std::vector< EMF::METARECORD* > EMF::METAFILEDEVICECONTEXT::records | 
All of the metafile records are stored in memory.
 1.8.11
 1.8.11