EMF::DATASTREAM(3)
π EMF::DATASTREAM π β the libemf manual, bestie edition
okay so this is the page for EMF::DATASTREAM from the libemf manual (section 3, the library-call girlies β¨). she's giving "let me handle your endianness for you" and honestly? iconic. let's get into it π«Ά
πΈ NAME πΈ
EMF::DATASTREAM β support different endian modes when reading and writing the metafile.
like literally that's her whole job and she does it flawlessly, no cap π
β¨ SYNOPSIS β¨
#include <libemf.h>
π Public Member Functions π
okay bestie, deep breath, here's the whole roster, every single one, verbatim, we do not skip a single queen in this house π
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 π¦
so like, the whole point of DATASTREAM is supporting different endian modes when reading and writing the metafile.
here's the tea, bestie: because we gotta play nice with different endian modes, we can't just yeet the structures straight into a file with fwrite( &emr, ...). nope. instead we have to write each element of the structure separately, swapping bytes whenever it's necessary. datastream is the girl who handles all of that for you π
and fun fact β she's remarkably similar to the QDataStream class from Qt. so if you already know her, you already know this vibe. iykyk β¨
and yes, same energy for reading. reading and writing, both directions, both slaying π
π Constructor & Destructor Documentation π
EMF::DATASTREAM::DATASTREAM (::FILE * fp = 0) [inline]
Constructor for DATASTREAM. the origin story π«Ά
Parameters
fpβ optional file pointer (but must be assigned before any output occurs.)
bestie listen. "optional" here is doing a LOT of heavy lifting, okay? if you try to output anything before that fp is assigned, that's on you and not on her π assign the file pointer first. periodt.
π Member Function Documentation π
okay this is the long part and we are NOT skipping anyone. every single overload, every single param, every single reference. let's go π
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.
ngl she said "not swabbed or anything" and honestly? a whole mood. a single byte has nothing to swap. she's just vibing π
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_.
okay this is important bestie β with the WCHAR string, it's the individual characters that get swabbed, not just the whole blob. she said what she said π
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).
and bestieβ¦ we're only halfway through the input side π« part 2 is coming, don't go anywhere π
DATASTREAM & EMF::DATASTREAM::operator>> (DWORDARRAY & array) [inline]
okay so this one reads in 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]
reads in an Extended Logical Font definition, using WCHAR strings π¦
Parameters
fontβ destination of Extended Logical Font definition.
DATASTREAM & EMF::DATASTREAM::operator>> (EXTLOGPEN & pen) [inline]
reads in an Extended Logical Pen definition π
Parameters
penβ destination of Extended Logical Pen definition.
DATASTREAM & EMF::DATASTREAM::operator>> (FLOAT & float_) [inline]
reads a single precision float from the stream (swabbed) β
Parameters
float_β destination for single precision float.
DATASTREAM & EMF::DATASTREAM::operator>> (INT & int_) [inline]
reads a (long) int from the stream (swabbed) π₯
Parameters
int_β destination for (long) int.
DATASTREAM & EMF::DATASTREAM::operator>> (INT16 & word) [inline]
reads a (short, 16-bit) word from the stream (swabbed) π
Parameters
wordβ destination for (short, 16-bit) word.
DATASTREAM & EMF::DATASTREAM::operator>> (INTARRAY & array) [inline]
reads in 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]
reads in a Logical Brush definition π
Parameters
brushβ destination of Logical Brush definition.
DATASTREAM & EMF::DATASTREAM::operator>> (LOGFONTW & font) [inline]
reads in a Logical Font definition, using WCHAR strings π
Parameters
fontβ destination of Logical Font definition.
DATASTREAM & EMF::DATASTREAM::operator>> (LOGPALETTE & palette) [inline]
reads in a Logical Palette π¨
Parameters
paletteβ destination of input Logical Palette.
DATASTREAM & EMF::DATASTREAM::operator>> (LOGPEN & pen) [inline]
reads in a Logical Pen definition βοΈ
Parameters
penβ destination of Logical Pen definition.
DATASTREAM & EMF::DATASTREAM::operator>> (LONG & long_) [inline]
reads a long int from the stream (swabbed) π
Parameters
long_β destination for long int.
DATASTREAM & EMF::DATASTREAM::operator>> (PANOSE & panose) [inline]
reads in a Panose structure π¦
Parameters
panoseβ destinatino of input Panose structure.
DATASTREAM & EMF::DATASTREAM::operator>> (POINT & point) [inline]
reads in a POINT structure π
Parameters
pointβ destination of input POINT.
DATASTREAM & EMF::DATASTREAM::operator>> (POINT16 & point) [inline]
reads in a POINT16 structure π
Parameters
pointβ destination of input POINT16.
DATASTREAM & EMF::DATASTREAM::operator>> (POINT16ARRAY & array) [inline]
reads in 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]
reads in a POINTL structure π
Parameters
pointlβ destination of input POINTL.
DATASTREAM & EMF::DATASTREAM::operator>> (POINTLARRAY & array) [inline]
reads in 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]
reads in a RECTL structure π¦
Parameters
rectlβ destination of input RECTL.
DATASTREAM & EMF::DATASTREAM::operator>> (SIZEL & sizel) [inline]
reads in a SIZEL structure π
Parameters
sizelβ destination of input SIZEL.
DATASTREAM & EMF::DATASTREAM::operator>> (UINT & uint) [inline]
reads a (long) unsigned int from the stream (swabbed) π
Parameters
uintβ destination for (long) unsigned int.
DATASTREAM & EMF::DATASTREAM::operator>> (WCHARSTR & wcharstr) [inline]
reads in a WCHAR string β note: the individual characters are swabbed, bestie π
Parameters
wcharstrβ destination of input WCHAR string.
References: EMF::WCHARSTR::length_, and EMF::WCHARSTR::string_.
DATASTREAM & EMF::DATASTREAM::operator>> (WORD & word) [inline]
reads a (short) word from the stream (swabbed) β¨
Parameters
wordβ destination for (short) word.
DATASTREAM & EMF::DATASTREAM::operator>> (XFORM & xform) [inline]
reads in an XFORM structure π
Parameters
xformβ destination of input XFORM.
void EMF::DATASTREAM::setStream (::FILE * fp) [inline]
sets the given FILE stream as the input/output destination, fr fr π«Ά
Parameters
fpβ file point for i/o.
π Author π
Generated automatically by Doxygen for libemf from the source code.
That's the whole page, bestie! Version 1.0.9, dated Thu Jun 6 2024 23:01:07, for EMF::DATASTREAM(3) β slay. πβ¨
π¦ where this page comes from
- debian trixie: libemf-doc 1.0.13-8 Β· GPL-2.0-only
- ubuntu questing: libemf-doc 1.0.13-8
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms