libcdr_utils.h File Reference
`#include <math.h>`
`#include <memory>`
`#include <vector>`
`#include <boost/cstdint.hpp>`
`#include <librevenge-stream/librevenge-stream.h>`
`#include <librevenge/librevenge.h>`

Go to the source code of this file.

## Classes

struct | libcdr::CDRDummyDeleter
class | libcdr::EndOfStreamException
class | libcdr::GenericException
class | libcdr::UnknownPrecisionException
class | libcdr::EncodingException

## Namespaces

namespace | libcdr

## Macros

#define | M_PI 3.14159265358979323846
#define | CDR_EPSILON 1E-6
#define | CDR_ALMOST_ZERO(m)
#define | CDR_ALMOST_EQUAL(m, n)
#define | CDR_ATTRIBUTE_PRINTF(fmt, arg)
#define | CDR_FALLTHROUGH ((void) 0)
#define | CDR_DEBUG_MSG(M)
#define | CDR_DEBUG(M)

## Functions

template<typename T, typename... Args>
std::unique_ptr< T > | libcdr::make_unique (Args &&... args)
uint8_t | libcdr::readU8 (librevenge::RVNGInputStream *input, bool bigEndian=false)
uint16_t | libcdr::readU16 (librevenge::RVNGInputStream *input, bool bigEndian=false)
uint32_t | libcdr::readU32 (librevenge::RVNGInputStream *input, bool bigEndian=false)
uint64_t | libcdr::readU64 (librevenge::RVNGInputStream *input, bool bigEndian=false)
int32_t | libcdr::readS32 (librevenge::RVNGInputStream *input, bool bigEndian=false)
int16_t | libcdr::readS16 (librevenge::RVNGInputStream *input, bool bigEndian=false)
double | libcdr::readDouble (librevenge::RVNGInputStream *input, bool bigEndian=false)
double | libcdr::readFixedPoint (librevenge::RVNGInputStream *input, bool bigEndian=false)
unsigned long | libcdr::getLength (librevenge::RVNGInputStream *input)
unsigned long | libcdr::getRemainingLength (librevenge::RVNGInputStream *input)
int | libcdr::cdr_round (double d)
void | libcdr::writeU16 (librevenge::RVNGBinaryData &buffer, const int value)
void | libcdr::writeU32 (librevenge::RVNGBinaryData &buffer, const int value)
void | libcdr::appendCharacters (librevenge::RVNGString &text, std::vector< unsigned char > characters, unsigned short charset)
void | libcdr::appendCharacters (librevenge::RVNGString &text, std::vector< unsigned char > characters)
void | libcdr::appendUTF8Characters (librevenge::RVNGString &text, std::vector< unsigned char > characters)

## Macro Definition Documentation

## CDR_ALMOST_EQUAL

#define CDR_ALMOST_EQUAL | ( |  | m,
|  |  | n )

Value:
CDR_ALMOST_ZERO(m-n)
CDR_ALMOST_ZERO
#define CDR_ALMOST_ZERO(m)
Definition libcdr_utils.h:31

Referenced by libcdr::CDRParser::readEllipse(), and libcdr::CMXParser::readEllipse().

## CDR_ALMOST_ZERO

#define CDR_ALMOST_ZERO | ( |  | m | ) |

Value:
(fabs(m) <= CDR_EPSILON)
CDR_EPSILON
#define CDR_EPSILON
Definition libcdr_utils.h:30

Referenced by libcdr::CDRContentCollector::_fillProperties(), libcdr::CDRContentCollector::_flushCurrentPath(), libcdr::CDRTransform::applyToArc(), libcdr::CDRContentCollector::collectBBox(), libcdr::CMXParser::getLineStyle(), libcdr::CDRStyle::overrideStyle(), and libcdr::CDRParser::readRectangle().

## CDR_ATTRIBUTE_PRINTF

#define CDR_ATTRIBUTE_PRINTF | ( |  | fmt,
|  |  | arg )

## CDR_DEBUG

#define CDR_DEBUG | ( |  | M | ) |

## CDR_DEBUG_MSG

#define CDR_DEBUG_MSG | ( |  | M | ) |

Referenced by libcdr::CDRContentCollector::_flushCurrentPath(), libcdr::CDRParser::_readX6StyleString(), libcdr::CDRParser::_resolveColorPalette(), libcdr::CDRContentCollector::collectPath(), libcdr::CDRStylesCollector::collectText(), libcdr::CDRParser::gatherWaldoInformation(), libcdr::CDRDocument::parse(), libcdr::CMXParser::parseImage(), libcdr::CDRParser::parseRecord(), libcdr::CMXParser::parseRecord(), libcdr::CDRParser::parseWaldo(), libcdr::CDRParser::readArrw(), libcdr::CMXParser::readBeginGroup(), libcdr::CMXParser::readBeginPage(), libcdr::CMXParser::readBeginProcedure(), libcdr::CDRParser::readBitmap(), libcdr::CommonParser::readBmpPattern(), libcdr::CMXParser::readCMXHeader(), libcdr::CMXParser::readColor(), libcdr::CMXParser::readCommands(), libcdr::CMXParser::readData(), libcdr::CMXParser::readDrawImage(), libcdr::CDRParser::readEllipse(), libcdr::CMXParser::readEllipse(), libcdr::CMXParser::readFill(), libcdr::CMXParser::readInfo(), libcdr::CMXParser::readIxef(), libcdr::CMXParser::readIxpc(), libcdr::CMXParser::readIxpg(), libcdr::CMXParser::readIxtl(), libcdr::CMXParser::readJumpAbsolute(), libcdr::CDRParser::readLineAndCurve(), libcdr::CMXParser::readPage(), libcdr::CDRParser::readPath(), libcdr::CMXParser::readPolyCurve(), libcdr::CDRParser::readPolygonCoords(), libcdr::CMXParser::readProc(), libcdr::CMXParser::readRclr(), libcdr::CMXParser::readRdot(), libcdr::CMXParser::readRectangle(), libcdr::CMXParser::readRenderingAttributes(), libcdr::CMXParser::readRotl(), libcdr::CMXParser::readRott(), libcdr::CMXParser::readRpen(), libcdr::CDRParser::readStlt(), libcdr::CDRParser::readStyd(), libcdr::readU16(), libcdr::readU32(), libcdr::readU64(), libcdr::readU8(), libcdr::CDRParser::readUdta(), libcdr::CDRParser::readWaldoRecord(), and libcdr::CDRParser::readWaldoTrfd().

## CDR_EPSILON

#define CDR_EPSILON 1E-6

## CDR_FALLTHROUGH

#define CDR_FALLTHROUGH ((void) 0)

Referenced by libcdr::CMXParser::readColor().

## M_PI

#define M_PI 3.14159265358979323846

Referenced by libcdr::CDRContentCollector::_fillProperties(), libcdr::CDRContentCollector::_flushCurrentPath(), libcdr::CDRTransform::applyToArc(), libcdr::CDRPolygon::create(), libcdr::CommonParser::readAngle(), libcdr::CDRParser::readEllipse(), libcdr::CMXParser::readEllipse(), and libcdr::CDRArcToElement::writeOut().