Main Page   Class Hierarchy   Compound List   File List   Compound Members  

EMF::DATASTREAM Class Reference

Support different endian modes when reading and writing the metafile. More...

#include <libemf.h>

List of all members.

Public Methods

 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 LOGPALETTE & palette ) [inline]
 

Output a Logical Palette.

Parameters:
palette   Logical Palette to output.

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 PANOSE & panose ) [inline]
 

Output a Panose structure.

Parameters:
panose   Panose structure 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 LOGBRUSH & brush ) [inline]
 

Output a Logical Brush definition.

Parameters:
brush   Logical Brush 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 LOGPEN & pen ) [inline]
 

Output a Logical Pen definition.

Parameters:
pen   Logical Pen definition 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 DWORDARRAY & array ) [inline]
 

Output an array of double words (longs).

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

DATASTREAM & EMF::DATASTREAM::operator<< ( const INTARRAY & array ) [inline]
 

Output an array of (long) ints.

Parameters:
array   array of (long) ints to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const POINT16ARRAY & array ) [inline]
 

Output an array of POINT16s.

Parameters:
array   array of POINT16s to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const POINTLARRAY & array ) [inline]
 

Output an array of POINTLs.

Parameters:
array   array of POINTLs to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const BYTEARRAY & array ) [inline]
 

Output an array of BYTEs.

Parameters:
array   array of BYTEs to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const XFORM & xform ) [inline]
 

Output an XFORM structure.

Parameters:
xform   XFORM to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const POINT16 & point ) [inline]
 

Output a POINT16 structure.

Parameters:
point   POINT16 to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const POINTL & pointl ) [inline]
 

Output a POINTL structure.

Parameters:
pointl   POINTL to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const POINT & point ) [inline]
 

Output a POINT structure.

Parameters:
point   POINT to output.

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 CHARSTR & charstr ) [inline]
 

Output a single byte character string.

Parameters:
charstr   structure 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.

DATASTREAM & EMF::DATASTREAM::operator<< ( const SIZEL & sizel ) [inline]
 

Output a SIZEL structure.

Parameters:
sizel   structure to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const RECTL & rectl ) [inline]
 

Output a RECTL structure.

Parameters:
rectl   structure 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).

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 UINT & uint ) [inline]
 

Output a (long) unsigned int to the stream (swabbed).

Parameters:
uint   (long) unsigned int 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 LONG & long_ ) [inline]
 

Output a long int to the stream (swabbed).

Parameters:
long   long int to output.

DATASTREAM & EMF::DATASTREAM::operator<< ( const DWORD & dword ) [inline]
 

Output a double word (long) to the stream (swabbed).

Parameters:
word   word (long) 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 WORD & word ) [inline]
 

Output a (short) word to the stream (swabbed).

Parameters:
word   (short) word 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>> ( LOGPALETTE & palette ) [inline]
 

Input a Logical Palette.

Parameters:
palette   destination of input Logical Palette.

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>> ( PANOSE & panose ) [inline]
 

Input a Panose structure.

Parameters:
panose   destinatino of input Panose structure.

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>> ( LOGBRUSH & brush ) [inline]
 

Input a Logical Brush definition.

Parameters:
brush   destination of Logical Brush 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>> ( LOGPEN & pen ) [inline]
 

Input a Logical Pen definition.

Parameters:
pen   destination of Logical Pen definition.

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>> ( DWORDARRAY & array ) [inline]
 

Input an array of double words (longs).

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

DATASTREAM & EMF::DATASTREAM::operator>> ( INTARRAY & array ) [inline]
 

Input an array of (long) ints.

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

DATASTREAM & EMF::DATASTREAM::operator>> ( POINT16ARRAY & array ) [inline]
 

Input an array of POINT16s.

Parameters:
array   destination of array of input POINT16s.

DATASTREAM & EMF::DATASTREAM::operator>> ( POINTLARRAY & array ) [inline]
 

Input an array of POINTLs.

Parameters:
array   destination of array of input POINTLs.

DATASTREAM & EMF::DATASTREAM::operator>> ( BYTEARRAY & array ) [inline]
 

Input an array of BYTEs.

Parameters:
array   destination of array of input BYTEs.

DATASTREAM & EMF::DATASTREAM::operator>> ( XFORM & xform ) [inline]
 

Input an XFORM structure.

Parameters:
xfrom   destination of input XFORM.

DATASTREAM & EMF::DATASTREAM::operator>> ( POINT16 & point ) [inline]
 

Input a POINT16 structure.

Parameters:
point   destination of input POINT16.

DATASTREAM & EMF::DATASTREAM::operator>> ( POINTL & pointl ) [inline]
 

Input a POINTL structure.

Parameters:
pointl   destination of input POINTL.

DATASTREAM & EMF::DATASTREAM::operator>> ( POINT & point ) [inline]
 

Input a POINT structure.

Parameters:
point   destination of input POINT.

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>> ( CHARSTR & charstr ) [inline]
 

Input a single byte character string.

Parameters:
charstr   destination of input CHAR string.

DATASTREAM & EMF::DATASTREAM::operator>> ( WCHARSTR & wcharstr ) [inline]
 

Input a WCHAR string (note: the individual characters are swabbed.)

Parameters:
wcharstr   destination of input WCHAR string.

DATASTREAM & EMF::DATASTREAM::operator>> ( SIZEL & sizel ) [inline]
 

Input a SIZEL structure.

Parameters:
sizel   destination of input SIZEL.

DATASTREAM & EMF::DATASTREAM::operator>> ( RECTL & rectl ) [inline]
 

Input a RECTL structure.

Parameters:
rectl   destination of input RECTL.

DATASTREAM & EMF::DATASTREAM::operator>> ( FLOAT & float_ ) [inline]
 

Input a single precision float from the stream (swabbed).

Parameters:
uint   destination for single precision float.

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>> ( INT & int_ ) [inline]
 

Input a (long) int from the stream (swabbed).

Parameters:
int_   destination for (long) int.

DATASTREAM & EMF::DATASTREAM::operator>> ( LONG & long_ ) [inline]
 

Input a long int from the stream (swabbed).

Parameters:
word   destination for long int.

DATASTREAM & EMF::DATASTREAM::operator>> ( DWORD & dword ) [inline]
 

Input a double word (long) from the stream (swabbed).

Parameters:
word   destination for double word (long).

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>> ( WORD & word ) [inline]
 

Input a (short) word from the stream (swabbed).

Parameters:
word   destination for (short) word.

DATASTREAM & EMF::DATASTREAM::operator>> ( BYTE & byte ) [inline]
 

Input a byte from the stream (not swabbed or anything).

Parameters:
byte   destination for input byte.

void EMF::DATASTREAM::setStream ( ::FILE * fp ) [inline]
 

Use the given FILE stream as the input/output destination.

Parameters:
fp   file point for i/o.


The documentation for this class was generated from the following files:
Generated at Mon Jan 13 21:34:19 2003 for EMF by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001