10 #ifndef __LIBCDR_UTILS_H__
11 #define __LIBCDR_UTILS_H__
17 #include <librevenge-stream/librevenge-stream.h>
18 #include <librevenge/librevenge.h>
21 #define M_PI 3.14159265358979323846
24 #define CDR_EPSILON 1E-6
25 #define CDR_ALMOST_ZERO(m) (fabs(m) <= CDR_EPSILON)
29 typedef unsigned char uint8_t;
30 typedef unsigned short uint16_t;
31 typedef short int16_t;
32 typedef unsigned uint32_t;
34 typedef unsigned __int64 uint64_t;
35 typedef __int64 int64_t;
47 #ifdef HAVE_INTTYPES_H
67 #define CDR_DEBUG_MSG(M) printf("%15s:%5d: ", __FILE__, __LINE__); printf M
68 #define CDR_DEBUG(M) M
70 #define CDR_DEBUG_MSG(M) printf M
71 #define CDR_DEBUG(M) M
74 #define CDR_DEBUG_MSG(M)
81 uint8_t
readU8(librevenge::RVNGInputStream *input,
bool bigEndian=
false);
82 uint16_t
readU16(librevenge::RVNGInputStream *input,
bool bigEndian=
false);
83 uint32_t
readU32(librevenge::RVNGInputStream *input,
bool bigEndian=
false);
84 uint64_t
readU64(librevenge::RVNGInputStream *input,
bool bigEndian=
false);
85 int32_t
readS32(librevenge::RVNGInputStream *input,
bool bigEndian=
false);
86 int16_t
readS16(librevenge::RVNGInputStream *input,
bool bigEndian=
false);
88 double readDouble(librevenge::RVNGInputStream *input,
bool bigEndian=
false);
90 double readFixedPoint(librevenge::RVNGInputStream *input,
bool bigEndian=
false);
94 void writeU16(librevenge::RVNGBinaryData &buffer,
const int value);
95 void writeU32(librevenge::RVNGBinaryData &buffer,
const int value);
96 void appendCharacters(librevenge::RVNGString &text, std::vector<unsigned char> characters,
unsigned short charset);
97 void appendCharacters(librevenge::RVNGString &text, std::vector<unsigned char> characters);
100 const char *toFourCC(
unsigned value,
bool bigEndian=
false);
121 #endif // __LIBCDR_UTILS_H__
Definition: libcdr_utils.h:103
Definition: libcdr_utils.h:111
double readFixedPoint(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition: libcdr_utils.cpp:258
uint16_t readU16(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition: libcdr_utils.cpp:175
int cdr_round(double d)
Definition: libcdr_utils.cpp:266
int16_t readS16(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition: libcdr_utils.cpp:195
Definition: libcdr_utils.h:107
void writeU32(librevenge::RVNGBinaryData &buffer, const int value)
Definition: libcdr_utils.cpp:277
void appendCharacters(librevenge::RVNGString &text, std::vector< unsigned char > characters, unsigned short charset)
Definition: libcdr_utils.cpp:285
int32_t readS32(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition: libcdr_utils.cpp:220
Definition: libcdr_utils.h:115
double readDouble(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition: libcdr_utils.cpp:245
uint64_t readU64(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition: libcdr_utils.cpp:225
uint8_t readU8(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition: libcdr_utils.cpp:159
void writeU16(librevenge::RVNGBinaryData &buffer, const int value)
Definition: libcdr_utils.cpp:271
uint32_t readU32(librevenge::RVNGInputStream *input, bool bigEndian=false)
Definition: libcdr_utils.cpp:200