EMF::DATASTREAM(3)

πŸ“¦
version 1.0.13 Β· 5 versions
, in debian trixie, ubuntu questing

πŸ’– 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