EMF::DATASTREAM(3) libemf EMF::DATASTREAM(3)

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

#include <libemf.h>


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)

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 for DATASTREAM.

Parameters

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

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.

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

Parameters

fp file point for i/o.

Generated automatically by Doxygen for libemf from the source code.

Thu Apr 18 2024 17:55:22 Version 1.0.9