EMF_GLOBALOBJECTS3
Usage
Public Member Functions
HGDIOBJ add
(OBJECT
*object)
OBJECT *
find
(const
HGDIOBJ
handle)
void remove
(const
OBJECT
*object)
auto begin
(void)
const
auto end
(void)
const
METARECORDCTOR newRecord
(DWORD
iType)
const
Static Public Member Functions
static EMF::METARECORD
*
new_eof
(DATASTREAM
&ds)
Detailed Description
Stores all the objects in a single database within a process.
Member Function Documentation
HGDIOBJ EMF::GLOBALOBJECTS::add (OBJECT * object)
Add an object to the global vector. The object's handle is simply its index in the global object vector, which is computed by the very interesting 'difference between two iterators' method.
Parameters
object pointer to a real instance of an object, not its handle.
auto EMF::GLOBALOBJECTS::begin (void) const [inline]
Returns
an iterator pointing to the first global object.
auto EMF::GLOBALOBJECTS::end (void) const [inline]
Returns
an iterator pointing to (one past) the final global object.
OBJECT * EMF::GLOBALOBJECTS::find (const HGDIOBJ handle)
Look up a object by handle in the global object vector. Note: Stock objects (like a gray brush or the black pen) have their high order bit set, so this has to be masked out when using their handles.
Parameters
handle the object's handle.
Returns
pointer to object.
METARECORDCTOR EMF::GLOBALOBJECTS::newRecord (DWORD iType) const
See if we have a constructor for a record of the given type.
Parameters
iType metarecord type.
Returns
pointer to 'virtual' constructor.
void EMF::GLOBALOBJECTS::remove (const OBJECT * object)
A call to the metafile function DeleteObject() allows a particular object's handle to be reused, so some care has to be taken to erase it.
Parameters
object pointer to object to delete.
History
- Debian 13 (Trixie): the text shown here
- Debian 12 (Bookworm)
- Debian 11 (Bullseye)
- Debian 10 (Buster)