Provided by: libemf-doc_1.0.13-5_all bug

NAME

       EMF::DATASTREAM - Support different endian modes when reading and writing the metafile.

SYNOPSIS

       #include <libemf.h>

   Public Member Functions
       DATASTREAM (::FILE *fp=0)
       void setStream (::FILE *fp)
       DATASTREAM & operator<< (const BYTE &byte)
       DATASTREAM & operator>> (BYTE &byte)
       DATASTREAM & operator<< (const WORD &word)
       DATASTREAM & operator>> (WORD &word)
       DATASTREAM & operator<< (const INT16 &word)
       DATASTREAM & operator>> (INT16 &word)
       DATASTREAM & operator<< (const DWORD &dword)
       DATASTREAM & operator>> (DWORD &dword)
       DATASTREAM & operator<< (const LONG &long_)
       DATASTREAM & operator>> (LONG &long_)
       DATASTREAM & operator<< (const INT &int_)
       DATASTREAM & operator>> (INT &int_)
       DATASTREAM & operator<< (const UINT &uint)
       DATASTREAM & operator>> (UINT &uint)
       DATASTREAM & operator<< (const FLOAT &float_)
       DATASTREAM & operator>> (FLOAT &float_)
       DATASTREAM & operator<< (const PADDING &padding)
       DATASTREAM & operator<< (const RECTL &rectl)
       DATASTREAM & operator>> (RECTL &rectl)
       DATASTREAM & operator<< (const SIZEL &sizel)
       DATASTREAM & operator>> (SIZEL &sizel)
       DATASTREAM & operator<< (const WCHARSTR &wcharstr)
       DATASTREAM & operator>> (WCHARSTR &wcharstr)
       DATASTREAM & operator<< (const CHARSTR &charstr)
       DATASTREAM & operator>> (CHARSTR &charstr)
       DATASTREAM & operator<< (const ::EMR &emr)
       DATASTREAM & operator>> (::EMR &emr)
       DATASTREAM & operator<< (const POINT &point)
       DATASTREAM & operator>> (POINT &point)
       DATASTREAM & operator<< (const POINTL &pointl)
       DATASTREAM & operator>> (POINTL &pointl)
       DATASTREAM & operator<< (const POINT16 &point)
       DATASTREAM & operator>> (POINT16 &point)
       DATASTREAM & operator<< (const XFORM &xform)
       DATASTREAM & operator>> (XFORM &xform)
       DATASTREAM & operator<< (const BYTEARRAY &array)
       DATASTREAM & operator>> (BYTEARRAY &array)
       DATASTREAM & operator<< (const POINTLARRAY &array)
       DATASTREAM & operator>> (POINTLARRAY &array)
       DATASTREAM & operator<< (const POINT16ARRAY &array)
       DATASTREAM & operator>> (POINT16ARRAY &array)
       DATASTREAM & operator<< (const INTARRAY &array)
       DATASTREAM & operator>> (INTARRAY &array)
       DATASTREAM & operator<< (const DWORDARRAY &array)
       DATASTREAM & operator>> (DWORDARRAY &array)
       DATASTREAM & operator<< (const ::EMRTEXT &text)
       DATASTREAM & operator>> (::EMRTEXT &text)
       DATASTREAM & operator<< (const LOGPEN &pen)
       DATASTREAM & operator>> (LOGPEN &pen)
       DATASTREAM & operator<< (const EXTLOGPEN &pen)
       DATASTREAM & operator>> (EXTLOGPEN &pen)
       DATASTREAM & operator<< (const LOGBRUSH &brush)
       DATASTREAM & operator>> (LOGBRUSH &brush)
       DATASTREAM & operator<< (const LOGFONTW &font)
       DATASTREAM & operator>> (LOGFONTW &font)
       DATASTREAM & operator<< (const PANOSE &panose)
       DATASTREAM & operator>> (PANOSE &panose)
       DATASTREAM & operator<< (const EXTLOGFONTW &font)
       DATASTREAM & operator>> (EXTLOGFONTW &font)
       DATASTREAM & operator<< (const LOGPALETTE &palette)
       DATASTREAM & operator>> (LOGPALETTE &palette)

Detailed Description

       Support different endian modes when reading and writing the metafile.

       To support different endian modes, rather than just writing the structures directly to a
       file via fwrite( &emr, ...), we have to write each element of the structure separately,
       swapping bytes as necessary. datastream supports this. Remarkably similar to the
       QDataStream class from Qt. So, too, for reading.

Constructor & Destructor Documentation

   EMF::DATASTREAM::DATASTREAM (::FILE * fp = 0) [inline]
       Constructor for DATASTREAM.

       Parameters
           fp optional file pointer (but must be assigned before any output occurs.)

Member Function Documentation

   DATASTREAM& EMF::DATASTREAM::operator<< (const ::EMR & emr) [inline]
       Output an Enhanced Metafile Record header.

       Parameters
           emr Enhanced Metafile Record header to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const ::EMRTEXT & text) [inline]
       Output an Enhanced Metafile Text Record.

       Parameters
           text Enhanced Metafile Text Record to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const BYTE & byte) [inline]
       Output a byte to the stream (not swabbed or anything).

       Parameters
           byte byte to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const BYTEARRAY & array) [inline]
       Output an array of BYTEs.

       Parameters
           array array of BYTEs to output.

       References EMF::BYTEARRAY::array_, and EMF::BYTEARRAY::n_.

   DATASTREAM& EMF::DATASTREAM::operator<< (const CHARSTR & charstr) [inline]
       Output a single byte character string.

       Parameters
           charstr structure to output.

       References EMF::CHARSTR::length_, and EMF::CHARSTR::string_.

   DATASTREAM& EMF::DATASTREAM::operator<< (const DWORD & dword) [inline]
       Output a double word (long) to the stream (swabbed).

       Parameters
           dword double word (long) to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const DWORDARRAY & array) [inline]
       Output an array of double words (longs).

       Parameters
           array array of double words (longs) to output.

       References EMF::DWORDARRAY::dwords_, and EMF::DWORDARRAY::n_.

   DATASTREAM& EMF::DATASTREAM::operator<< (const EXTLOGFONTW & font) [inline]
       Output an Extended Logical Font definition (using WCHAR strings).

       Parameters
           font Extended Logical Font definition to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const EXTLOGPEN & pen) [inline]
       Output an Extended Logical Pen definition.

       Parameters
           pen Extended Logical Pen definition to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const FLOAT & float_) [inline]
       Output a single precision float to the stream (swabbed).

       Parameters
           float_ single precision float to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const INT & int_) [inline]
       Output a (long) int to the stream (swabbed).

       Parameters
           int_ (long) int to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const INT16 & word) [inline]
       Output a (short, 16-bit) word to the stream (swabbed).

       Parameters
           word (short, 16-bit) word to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const INTARRAY & array) [inline]
       Output an array of (long) ints.

       Parameters
           array array of (long) ints to output.

       References EMF::INTARRAY::ints_, and EMF::INTARRAY::n_.

   DATASTREAM& EMF::DATASTREAM::operator<< (const LOGBRUSH & brush) [inline]
       Output a Logical Brush definition.

       Parameters
           brush Logical Brush definition to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const LOGFONTW & font) [inline]
       Output a Logical Font definition (using WCHAR strings).

       Parameters
           font Logical Font definition to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const LOGPALETTE & palette) [inline]
       Output a Logical Palette.

       Parameters
           palette Logical Palette to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const LOGPEN & pen) [inline]
       Output a Logical Pen definition.

       Parameters
           pen Logical Pen definition to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const LONG & long_) [inline]
       Output a long int to the stream (swabbed).

       Parameters
           long_ long int to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const PADDING & padding) [inline]
       Output a series of '\0's to pad out a record.

       Parameters
           padding simple padding structure (length and number of nulls).

       References EMF::PADDING::padding_, and EMF::PADDING::size_.

   DATASTREAM& EMF::DATASTREAM::operator<< (const PANOSE & panose) [inline]
       Output a Panose structure.

       Parameters
           panose Panose structure to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const POINT & point) [inline]
       Output a POINT structure.

       Parameters
           point POINT to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const POINT16 & point) [inline]
       Output a POINT16 structure.

       Parameters
           point POINT16 to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const POINT16ARRAY & array) [inline]
       Output an array of POINT16s.

       Parameters
           array array of POINT16s to output.

       References EMF::POINT16ARRAY::n_, and EMF::POINT16ARRAY::points_.

   DATASTREAM& EMF::DATASTREAM::operator<< (const POINTL & pointl) [inline]
       Output a POINTL structure.

       Parameters
           pointl POINTL to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const POINTLARRAY & array) [inline]
       Output an array of POINTLs.

       Parameters
           array array of POINTLs to output.

       References EMF::POINTLARRAY::n_, and EMF::POINTLARRAY::points_.

   DATASTREAM& EMF::DATASTREAM::operator<< (const RECTL & rectl) [inline]
       Output a RECTL structure.

       Parameters
           rectl structure to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const SIZEL & sizel) [inline]
       Output a SIZEL structure.

       Parameters
           sizel structure to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const UINT & uint) [inline]
       Output a (long) unsigned int to the stream (swabbed).

       Parameters
           uint (long) unsigned int to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const WCHARSTR & wcharstr) [inline]
       Output a WCHAR string (note: the individual characters are swabbed).

       Parameters
           wcharstr structure to output.

       References EMF::WCHARSTR::length_, and EMF::WCHARSTR::string_.

   DATASTREAM& EMF::DATASTREAM::operator<< (const WORD & word) [inline]
       Output a (short) word to the stream (swabbed).

       Parameters
           word (short) word to output.

   DATASTREAM& EMF::DATASTREAM::operator<< (const XFORM & xform) [inline]
       Output an XFORM structure.

       Parameters
           xform XFORM to output.

   DATASTREAM& EMF::DATASTREAM::operator>> (::EMR & emr) [inline]
       Input an Enhanced Metafile Record header.

       Parameters
           emr destination of Enhanced Metafile Record header.

   DATASTREAM& EMF::DATASTREAM::operator>> (::EMRTEXT & text) [inline]
       Input an Enhanced Metafile Text Record.

       Parameters
           text destination of Enhanced Metafile Text Record.

   DATASTREAM& EMF::DATASTREAM::operator>> (BYTE & byte) [inline]
       Input a byte from the stream (not swabbed or anything).

       Parameters
           byte destination for input byte.

   DATASTREAM& EMF::DATASTREAM::operator>> (BYTEARRAY & array) [inline]
       Input an array of BYTEs.

       Parameters
           array destination of array of input BYTEs.

       References EMF::BYTEARRAY::array_, and EMF::BYTEARRAY::n_.

   DATASTREAM& EMF::DATASTREAM::operator>> (CHARSTR & charstr) [inline]
       Input a single byte character string.

       Parameters
           charstr destination of input CHAR string.

       References EMF::CHARSTR::length_, and EMF::CHARSTR::string_.

   DATASTREAM& EMF::DATASTREAM::operator>> (DWORD & dword) [inline]
       Input a double word (long) from the stream (swabbed).

       Parameters
           dword destination for double word (long).

   DATASTREAM& EMF::DATASTREAM::operator>> (DWORDARRAY & array) [inline]
       Input an array of double words (longs).

       Parameters
           array destination of array of input double words (longs).

       References EMF::DWORDARRAY::dwords_, and EMF::DWORDARRAY::n_.

   DATASTREAM& EMF::DATASTREAM::operator>> (EXTLOGFONTW & font) [inline]
       Input an Extended Logical Font definition (using WCHAR strings).

       Parameters
           font destination of Extended Logical Font definition.

   DATASTREAM& EMF::DATASTREAM::operator>> (EXTLOGPEN & pen) [inline]
       Input an Extended Logical Pen definition.

       Parameters
           pen destination of Extended Logical Pen definition.

   DATASTREAM& EMF::DATASTREAM::operator>> (FLOAT & float_) [inline]
       Input a single precision float from the stream (swabbed).

       Parameters
           float_ destination for single precision float.

   DATASTREAM& EMF::DATASTREAM::operator>> (INT & int_) [inline]
       Input a (long) int from the stream (swabbed).

       Parameters
           int_ destination for (long) int.

   DATASTREAM& EMF::DATASTREAM::operator>> (INT16 & word) [inline]
       Input a (short, 16-bit) word from the stream (swabbed).

       Parameters
           word destination for (short, 16-bit) word.

   DATASTREAM& EMF::DATASTREAM::operator>> (INTARRAY & array) [inline]
       Input an array of (long) ints.

       Parameters
           array destination of array of input (long) ints.

       References EMF::INTARRAY::ints_, and EMF::INTARRAY::n_.

   DATASTREAM& EMF::DATASTREAM::operator>> (LOGBRUSH & brush) [inline]
       Input a Logical Brush definition.

       Parameters
           brush destination of Logical Brush definition.

   DATASTREAM& EMF::DATASTREAM::operator>> (LOGFONTW & font) [inline]
       Input a Logical Font definition (using WCHAR strings).

       Parameters
           font destination of Logical Font definition.

   DATASTREAM& EMF::DATASTREAM::operator>> (LOGPALETTE & palette) [inline]
       Input a Logical Palette.

       Parameters
           palette destination of input Logical Palette.

   DATASTREAM& EMF::DATASTREAM::operator>> (LOGPEN & pen) [inline]
       Input a Logical Pen definition.

       Parameters
           pen destination of Logical Pen definition.

   DATASTREAM& EMF::DATASTREAM::operator>> (LONG & long_) [inline]
       Input a long int from the stream (swabbed).

       Parameters
           long_ destination for long int.

   DATASTREAM& EMF::DATASTREAM::operator>> (PANOSE & panose) [inline]
       Input a Panose structure.

       Parameters
           panose destinatino of input Panose structure.

   DATASTREAM& EMF::DATASTREAM::operator>> (POINT & point) [inline]
       Input a POINT structure.

       Parameters
           point destination of input POINT.

   DATASTREAM& EMF::DATASTREAM::operator>> (POINT16 & point) [inline]
       Input a POINT16 structure.

       Parameters
           point destination of input POINT16.

   DATASTREAM& EMF::DATASTREAM::operator>> (POINT16ARRAY & array) [inline]
       Input an array of POINT16s.

       Parameters
           array destination of array of input POINT16s.

       References EMF::POINT16ARRAY::n_, and EMF::POINT16ARRAY::points_.

   DATASTREAM& EMF::DATASTREAM::operator>> (POINTL & pointl) [inline]
       Input a POINTL structure.

       Parameters
           pointl destination of input POINTL.

   DATASTREAM& EMF::DATASTREAM::operator>> (POINTLARRAY & array) [inline]
       Input an array of POINTLs.

       Parameters
           array destination of array of input POINTLs.

       References EMF::POINTLARRAY::n_, and EMF::POINTLARRAY::points_.

   DATASTREAM& EMF::DATASTREAM::operator>> (RECTL & rectl) [inline]
       Input a RECTL structure.

       Parameters
           rectl destination of input RECTL.

   DATASTREAM& EMF::DATASTREAM::operator>> (SIZEL & sizel) [inline]
       Input a SIZEL structure.

       Parameters
           sizel destination of input SIZEL.

   DATASTREAM& EMF::DATASTREAM::operator>> (UINT & uint) [inline]
       Input a (long) unsigned int from the stream (swabbed).

       Parameters
           uint destination for (long) unsigned int.

   DATASTREAM& EMF::DATASTREAM::operator>> (WCHARSTR & wcharstr) [inline]
       Input a WCHAR string (note: the individual characters are swabbed.)

       Parameters
           wcharstr destination of input WCHAR string.

       References EMF::WCHARSTR::length_, and EMF::WCHARSTR::string_.

   DATASTREAM& EMF::DATASTREAM::operator>> (WORD & word) [inline]
       Input a (short) word from the stream (swabbed).

       Parameters
           word destination for (short) word.

   DATASTREAM& EMF::DATASTREAM::operator>> (XFORM & xform) [inline]
       Input an XFORM structure.

       Parameters
           xform destination of input XFORM.

   void EMF::DATASTREAM::setStream (::FILE * fp) [inline]
       Use the given FILE stream as the input/output destination.

       Parameters
           fp file point for i/o.

Author

       Generated automatically by Doxygen for libemf from the source code.