DOKK / manpages / debian 10 / libemf-doc / EMF_DATASTREAM.3.en
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 BYTE & byte) [inline]

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

Parameters:

byte byte 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 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 DWORD & dword) [inline]

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

Parameters:

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

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

Parameters:

int_ (long) int 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 FLOAT & float_) [inline]

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

Parameters:

float_ single precision float 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 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 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 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 ::EMR & emr) [inline]

Output an Enhanced Metafile Record header.

Parameters:

emr Enhanced Metafile Record header to output.

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

Output a POINT structure.

Parameters:

point POINT to output.

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

Output a POINTL structure.

Parameters:

pointl POINTL to output.

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

Output a POINT16 structure.

Parameters:

point POINT16 to output.

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

Output an XFORM structure.

Parameters:

xform XFORM 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 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 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 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 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 ::EMRTEXT & text) [inline]

Output an Enhanced Metafile Text Record.

Parameters:

text Enhanced Metafile Text Record 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 EXTLOGPEN & pen) [inline]

Output an Extended Logical Pen definition.

Parameters:

pen Extended Logical Pen 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 LOGFONTW & font) [inline]

Output a Logical Font definition (using WCHAR strings).

Parameters:

font Logical Font definition to output.

References EMF::WCHARSTR::WCHARSTR().

DATASTREAM& EMF::DATASTREAM::operator<< (const PANOSE & panose) [inline]

Output a Panose structure.

Parameters:

panose Panose structure 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.

References EMF::WCHARSTR::WCHARSTR().

DATASTREAM& EMF::DATASTREAM::operator<< (const LOGPALETTE & palette) [inline]

Output a Logical Palette.

Parameters:

palette Logical Palette to output.

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

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

Parameters:

word destination for (short) word.

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>> (DWORD & dword) [inline]

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

Parameters:

dword destination for double word (long).

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

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

Parameters:

int_ destination for (long) int.

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>> (FLOAT & float_) [inline]

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

Parameters:

float_ destination for single precision float.

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>> (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>> (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>> (::EMR & emr) [inline]

Input an Enhanced Metafile Record header.

Parameters:

emr destination of Enhanced Metafile Record header.

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

Input a POINT structure.

Parameters:

point destination of input POINT.

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

Input a POINTL structure.

Parameters:

pointl destination of input POINTL.

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

Input a POINT16 structure.

Parameters:

point destination of input POINT16.

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

Input an XFORM structure.

Parameters:

xform destination of input XFORM.

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>> (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>> (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>> (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>> (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>> (::EMRTEXT & text) [inline]

Input an Enhanced Metafile Text Record.

Parameters:

text destination of Enhanced Metafile Text Record.

DATASTREAM& EMF::DATASTREAM::operator>> (LOGPEN & pen) [inline]

Input a Logical Pen definition.

Parameters:

pen destination of Logical Pen 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>> (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>> (PANOSE & panose) [inline]

Input a Panose structure.

Parameters:

panose destinatino of input Panose structure.

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

Input a Logical Palette.

Parameters:

palette destination of input Logical Palette.

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.

Fri Nov 2 2018 Version 1.0.9