Man page - emf_metafiledevicecontext(3)
Packages contains this manual
Manual
EMF::METAFILEDEVICECONTEXT
NAMESYNOPSIS
Public Member Functions
Data Fields
Detailed Description
Constructor & Destructor Documentation
EMF::METAFILEDEVICECONTEXT::METAFILEDEVICECONTEXT (FILE * fp_, const RECT *size, LPCWSTR description_w) [inline]
virtual EMF::METAFILEDEVICECONTEXT::˜METAFILEDEVICECONTEXT () [inline],[virtual]
Member Function Documentation
void EMF::METAFILEDEVICECONTEXT::appendHandle (METARECORD * record)[inline]
void EMF::METAFILEDEVICECONTEXT::appendRecord (METARECORD * record)[inline]
void EMF::METAFILEDEVICECONTEXT::clearHandle (DWORD handle) [inline]
void EMF::METAFILEDEVICECONTEXT::deleteMetafile (void) [inline]
OBJECTTYPE EMF::METAFILEDEVICECONTEXT::getType (void) const [inline],[virtual]
void EMF::METAFILEDEVICECONTEXT::mergePoint (const LONG & x, const LONG &y) [inline]
void EMF::METAFILEDEVICECONTEXT::mergePoint (const POINT & p) [inline]
DWORD EMF::METAFILEDEVICECONTEXT::nextHandle (void) [inline]
Field Documentation
DATASTREAM EMF::METAFILEDEVICECONTEXT::ds
std::map< HGDIOBJ, HGDIOBJ > EMF::METAFILEDEVICECONTEXT::emf_handles
::FILE* EMF::METAFILEDEVICECONTEXT::fp
std::vector< bool > EMF::METAFILEDEVICECONTEXT::handles
ENHMETAHEADER* EMF::METAFILEDEVICECONTEXT::header
std::vector< EMF::METARECORD* > EMF::METAFILEDEVICECONTEXT::records
Author
NAME
EMF::METAFILEDEVICECONTEXT - Graphics Device Context.
SYNOPSIS
#include <libemf.h>
Inherits EMF::OBJECT .
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)
Data Fields
::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
Data Fields inherited from EMF::OBJECT
HGDIOBJ handle
Detailed Description
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.
Constructor & Destructor Documentation
EMF::METAFILEDEVICECONTEXT::METAFILEDEVICECONTEXT (FILE * fp_, const RECT *size, LPCWSTR description_w) [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.
Parameters
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.
virtual EMF::METAFILEDEVICECONTEXT::˜METAFILEDEVICECONTEXT () [inline],[virtual]
Destructor frees all the graphics objects which may have been allocated. Now, it also frees any metarecords which it might hold, too.
References deleteMetafile() , and records .
Member Function Documentation
void EMF::METAFILEDEVICECONTEXT::appendHandle (METARECORD * record)[inline]
Add this record to the metafile.
Parameters
record this record is an object so it increments the handle count as well.
References header , records , and EMF::METARECORD::size() .
void EMF::METAFILEDEVICECONTEXT::appendRecord (METARECORD * record)[inline]
Add this record to the metafile.
Parameters
record standard graphics record
References header , records , and EMF::METARECORD::size() .
void EMF::METAFILEDEVICECONTEXT::clearHandle (DWORD handle) [inline]
Clear the usage of this handle
References EMF::OBJECT::handle , and handles .
void EMF::METAFILEDEVICECONTEXT::deleteMetafile (void) [inline]
Delete all the records from the metafile. This would seem to include deleting the header record as well.
References records .
Referenced by ˜METAFILEDEVICECONTEXT() .
OBJECTTYPE EMF::METAFILEDEVICECONTEXT::getType (void) const [inline],[virtual]
Return the type of this object (could probably do better with RTTI()).
Implements EMF::OBJECT .
void EMF::METAFILEDEVICECONTEXT::mergePoint (const LONG & x, const LONG &y) [inline]
Somewhat superfluous, except checker doesn’t understand the initialization of automatic structures in the declaration.
References mergePoint() .
Referenced by mergePoint() .
void EMF::METAFILEDEVICECONTEXT::mergePoint (const POINT & p) [inline]
Take the given point and determine if it enlarges the ’painted’ area of the device.
References header , max_device_point , min_device_point , update_frame , viewport_ext , viewport_org , window_ext , and window_org .
DWORD EMF::METAFILEDEVICECONTEXT::nextHandle (void) [inline]
Scan the bit vector of used handles and return the index of the first free bit as this objects metafile handle.
References handles , header , and EMF::ENHMETAHEADER::size() .
Field Documentation
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).
Referenced by EMF::EMRSELECTOBJECT::execute() , EMF::EMRDELETEOBJECT::execute() , EMF::EMRCREATEPEN::execute() , EMF::EMREXTCREATEPEN::execute() , EMF::EMRCREATEBRUSHINDIRECT::execute() , and EMF::EMREXTCREATEFONTINDIRECTW::execute() .
::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.
Referenced by clearHandle() , and nextHandle() .
ENHMETAHEADER* EMF::METAFILEDEVICECONTEXT::header
Serves double duty as the physical device description.
Referenced by appendHandle() , appendRecord() , mergePoint() , and nextHandle() .
std::vector< EMF::METARECORD* > EMF::METAFILEDEVICECONTEXT::records
All of the metafile records are stored in memory.
Referenced by appendHandle() , appendRecord() , deleteMetafile() , and ˜METAFILEDEVICECONTEXT() .
Author
Generated automatically by Doxygen for libemf from the source code.