Loading...
Searching...
No Matches
EMF::DATASTREAM Class Reference

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

`#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

## DATASTREAM()

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

## operator<<() [1/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const ::EMR & | emr | ) |

inline

Output an Enhanced Metafile Record header.

Parameters

  emr | Enhanced Metafile Record header to output.

## operator<<() [2/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const ::EMRTEXT & | text | ) |

inline

Output an Enhanced Metafile Text Record.

Parameters

  text | Enhanced Metafile Text Record to output.

## operator<<() [3/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const BYTE & | byte | ) |

inline

Output a byte to the stream (not swabbed or anything).

Parameters

  byte | byte to output.

## operator<<() [4/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const BYTEARRAY & | array | ) |

inline

Output an array of BYTEs.

Parameters

  array | array of BYTEs to output.

## operator<<() [5/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const CHARSTR & | charstr | ) |

inline

Output a single byte character string.

Parameters

  charstr | structure to output.

## operator<<() [6/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const DWORD & | dword | ) |

inline

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

Parameters

  dword | double word (long) to output.

## operator<<() [7/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const DWORDARRAY & | array | ) |

inline

Output an array of double words (longs).

Parameters

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

## operator<<() [8/31]

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.

## operator<<() [9/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const EXTLOGPEN & | pen | ) |

inline

Output an Extended Logical Pen definition.

Parameters

  pen | Extended Logical Pen definition to output.

## operator<<() [10/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const FLOAT & | float_ | ) |

inline

Output a single precision float to the stream (swabbed).

Parameters

  float_ | single precision float to output.

## operator<<() [11/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const INT & | int_ | ) |

inline

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

Parameters

  int_ | (long) int to output.

## operator<<() [12/31]

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.

## operator<<() [13/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const INTARRAY & | array | ) |

inline

Output an array of (long) ints.

Parameters

  array | array of (long) ints to output.

## operator<<() [14/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const LOGBRUSH & | brush | ) |

inline

Output a Logical Brush definition.

Parameters

  brush | Logical Brush definition to output.

## operator<<() [15/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const LOGFONTW & | font | ) |

inline

Output a Logical Font definition (using WCHAR strings).

Parameters

  font | Logical Font definition to output.

## operator<<() [16/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const LOGPALETTE & | palette | ) |

inline

Output a Logical Palette.

Parameters

  palette | Logical Palette to output.

## operator<<() [17/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const LOGPEN & | pen | ) |

inline

Output a Logical Pen definition.

Parameters

  pen | Logical Pen definition to output.

## operator<<() [18/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const LONG & | long_ | ) |

inline

Output a long int to the stream (swabbed).

Parameters

  long_ | long int to output.

## operator<<() [19/31]

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).

## operator<<() [20/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const PANOSE & | panose | ) |

inline

Output a Panose structure.

Parameters

  panose | Panose structure to output.

## operator<<() [21/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const POINT & | point | ) |

inline

Output a POINT structure.

Parameters

  point | POINT to output.

## operator<<() [22/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const POINT16 & | point | ) |

inline

Output a POINT16 structure.

Parameters

  point | POINT16 to output.

## operator<<() [23/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const POINT16ARRAY & | array | ) |

inline

Output an array of POINT16s.

Parameters

  array | array of POINT16s to output.

## operator<<() [24/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const POINTL & | pointl | ) |

inline

Output a POINTL structure.

Parameters

  pointl | POINTL to output.

## operator<<() [25/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const POINTLARRAY & | array | ) |

inline

Output an array of POINTLs.

Parameters

  array | array of POINTLs to output.

## operator<<() [26/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const RECTL & | rectl | ) |

inline

Output a RECTL structure.

Parameters

  rectl | structure to output.

## operator<<() [27/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const SIZEL & | sizel | ) |

inline

Output a SIZEL structure.

Parameters

  sizel | structure to output.

## operator<<() [28/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const UINT & | uint | ) |

inline

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

Parameters

  uint | (long) unsigned int to output.

## operator<<() [29/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const WCHARSTR & | wcharstr | ) |

inline

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

Parameters

  wcharstr | structure to output.

## operator<<() [30/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const WORD & | word | ) |

inline

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

Parameters

  word | (short) word to output.

## operator<<() [31/31]

DATASTREAM & EMF::DATASTREAM::operator<< | ( | const XFORM & | xform | ) |

inline

Output an XFORM structure.

Parameters

  xform | XFORM to output.

## operator>>() [1/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | ::EMR & | emr | ) |

inline

Input an Enhanced Metafile Record header.

Parameters

  emr | destination of Enhanced Metafile Record header.

## operator>>() [2/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | ::EMRTEXT & | text | ) |

inline

Input an Enhanced Metafile Text Record.

Parameters

  text | destination of Enhanced Metafile Text Record.

## operator>>() [3/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | BYTE & | byte | ) |

inline

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

Parameters

  byte | destination for input byte.

## operator>>() [4/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | BYTEARRAY & | array | ) |

inline

Input an array of BYTEs.

Parameters

  array | destination of array of input BYTEs.

## operator>>() [5/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | CHARSTR & | charstr | ) |

inline

Input a single byte character string.

Parameters

  charstr | destination of input CHAR string.

## operator>>() [6/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | DWORD & | dword | ) |

inline

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

Parameters

  dword | destination for double word (long).

## operator>>() [7/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | DWORDARRAY & | array | ) |

inline

Input an array of double words (longs).

Parameters

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

## operator>>() [8/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | EXTLOGFONTW & | font | ) |

inline

Input an Extended Logical Font definition (using WCHAR strings).

Parameters

  font | destination of Extended Logical Font definition.

## operator>>() [9/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | EXTLOGPEN & | pen | ) |

inline

Input an Extended Logical Pen definition.

Parameters

  pen | destination of Extended Logical Pen definition.

## operator>>() [10/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | FLOAT & | float_ | ) |

inline

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

Parameters

  float_ | destination for single precision float.

## operator>>() [11/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | INT & | int_ | ) |

inline

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

Parameters

  int_ | destination for (long) int.

## operator>>() [12/30]

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.

## operator>>() [13/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | INTARRAY & | array | ) |

inline

Input an array of (long) ints.

Parameters

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

## operator>>() [14/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | LOGBRUSH & | brush | ) |

inline

Input a Logical Brush definition.

Parameters

  brush | destination of Logical Brush definition.

## operator>>() [15/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | LOGFONTW & | font | ) |

inline

Input a Logical Font definition (using WCHAR strings).

Parameters

  font | destination of Logical Font definition.

## operator>>() [16/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | LOGPALETTE & | palette | ) |

inline

Input a Logical Palette.

Parameters

  palette | destination of input Logical Palette.

## operator>>() [17/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | LOGPEN & | pen | ) |

inline

Input a Logical Pen definition.

Parameters

  pen | destination of Logical Pen definition.

## operator>>() [18/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | LONG & | long_ | ) |

inline

Input a long int from the stream (swabbed).

Parameters

  long_ | destination for long int.

## operator>>() [19/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | PANOSE & | panose | ) |

inline

Input a Panose structure.

Parameters

  panose | destinatino of input Panose structure.

## operator>>() [20/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | POINT & | point | ) |

inline

Input a POINT structure.

Parameters

  point | destination of input POINT.

## operator>>() [21/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | POINT16 & | point | ) |

inline

Input a POINT16 structure.

Parameters

  point | destination of input POINT16.

## operator>>() [22/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | POINT16ARRAY & | array | ) |

inline

Input an array of POINT16s.

Parameters

  array | destination of array of input POINT16s.

## operator>>() [23/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | POINTL & | pointl | ) |

inline

Input a POINTL structure.

Parameters

  pointl | destination of input POINTL.

## operator>>() [24/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | POINTLARRAY & | array | ) |

inline

Input an array of POINTLs.

Parameters

  array | destination of array of input POINTLs.

## operator>>() [25/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | RECTL & | rectl | ) |

inline

Input a RECTL structure.

Parameters

  rectl | destination of input RECTL.

## operator>>() [26/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | SIZEL & | sizel | ) |

inline

Input a SIZEL structure.

Parameters

  sizel | destination of input SIZEL.

## operator>>() [27/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | UINT & | uint | ) |

inline

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

Parameters

  uint | destination for (long) unsigned int.

## operator>>() [28/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | WCHARSTR & | wcharstr | ) |

inline

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

Parameters

  wcharstr | destination of input WCHAR string.

## operator>>() [29/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | WORD & | word | ) |

inline

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

Parameters

  word | destination for (short) word.

## operator>>() [30/30]

DATASTREAM & EMF::DATASTREAM::operator>> | ( | XFORM & | xform | ) |

inline

Input an XFORM structure.

Parameters

  xform | destination of input XFORM.

## setStream()

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 file:

- libemf.h