10 #ifndef LIBETONYEK_UTILS_H_INCLUDED    11 #define LIBETONYEK_UTILS_H_INCLUDED    16 #include <boost/shared_ptr.hpp>    18 #include <librevenge/librevenge.h>    19 #include <librevenge-stream/librevenge-stream.h>    23 typedef unsigned char uint8_t;
    24 typedef unsigned short uint16_t;
    25 typedef unsigned uint32_t;
    26 typedef unsigned __int64 uint64_t;
    27 typedef signed char int8_t;
    28 typedef short int16_t;
    30 typedef __int64 int64_t;
    42 #ifdef HAVE_INTTYPES_H    56 #define ETONYEK_EPSILON 1e-9    57 #define ETONYEK_ALMOST_ZERO(x) (std::fabs(x) < ETONYEK_EPSILON)    59 #define ETONYEK_NUM_ELEMENTS(array) (sizeof(array) / sizeof((array)[0]))    61 #if defined(__clang__) || defined(__GNUC__)    62 #  define ETONYEK_ATTRIBUTE_PRINTF(fmt, arg) __attribute__((__format__(__printf__, fmt, arg)))    64 #  define ETONYEK_ATTRIBUTE_PRINTF(fmt, arg)    77 #define ETONYEK_DEBUG_MSG(M) libetonyek::debugPrint("%15s:%5d: ", FILE, LINE); libetonyek::debugPrint M    78 #define ETONYEK_DEBUG(M) M    80 #define ETONYEK_DEBUG_MSG(M) libetonyek::debugPrint M    81 #define ETONYEK_DEBUG(M) M    84 #define ETONYEK_DEBUG_MSG(M)    85 #define ETONYEK_DEBUG(M)    95 const double etonyek_half_pi(1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00);
    96 const double etonyek_third_pi(1.04719755119659774615421446109316762806572313312503527365831486410260546876206966620934494178070568932738269550e+00);
    97 const double etonyek_pi(3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00);
    98 const double etonyek_two_pi(6.28318530717958647692528676655900576839433879875021164194988918461563281257241799725606965068423413596429617303e+00);
   100 const double etonyek_root_three(1.73205080756887729352744634150587236694280525381038062805580697945193301690880003708114618675724857567562614142e+00);
   101 const double etonyek_root_two(1.41421356237309504880168872420969807856967187537694807317667973799073247846210703885038753432764157273501384623e+00);
   113 uint8_t 
readU8(
const RVNGInputStreamPtr_t &input, 
bool = 
false);
   114 uint16_t 
readU16(
const RVNGInputStreamPtr_t &input, 
bool bigEndian=
false);
   115 uint32_t 
readU32(
const RVNGInputStreamPtr_t &input, 
bool bigEndian=
false);
   116 uint64_t 
readU64(
const RVNGInputStreamPtr_t &input, 
bool bigEndian=
false);
   118 uint64_t 
readUVar(
const RVNGInputStreamPtr_t &input);
   119 int64_t 
readSVar(
const RVNGInputStreamPtr_t &input);
   121 double readDouble(
const RVNGInputStreamPtr_t &input);
   122 float readFloat(
const RVNGInputStreamPtr_t &input);
   124 unsigned long getLength(
const RVNGInputStreamPtr_t &input);
   138   assert(left.length() == right.length());
   140   for (
int i = 0; 
i != left.length(); ++
i)
   183 #endif // LIBETONYEK_UTILS_H_INCLUDED Definition: IWORKBezierElement.cpp:18
#define ETONYEK_ATTRIBUTE_PRINTF(fmt, arg)
Definition: libetonyek_utils.h:64
const double etonyek_root_two(1.41421356237309504880168872420969807856967187537694807317667973799073247846210703885038753432764157273501384623e+00)
unsigned long getRemainingLength(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:215
Definition: IWORKTypes.h:202
unsigned long getLength(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:184
Definition: IWORKTypes.h:71
double deg2rad(double value)
Convert an angle from degrees to radians. 
Definition: libetonyek_utils.cpp:230
double y
Definition: IWORKShape.cpp:43
float readFloat(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:173
Definition: libetonyek_utils.h:177
Definition: libetonyek_utils.h:173
double pt2in(const double d)
Convert a length from points to inches. 
Definition: libetonyek_utils.cpp:225
uint32_t readU32(const RVNGInputStreamPtr_t &input, bool bigEndian)
Definition: libetonyek_utils.cpp:76
Definition: IWORKToken.h:320
const double etonyek_root_three(1.73205080756887729352744634150587236694280525381038062805580697945193301690880003708114618675724857567562614142e+00)
uint64_t readUVar(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:108
bool approxEqual(const IWORKPath &left, const IWORKPath &right, double eps=ETONYEK_EPSILON)
double x
Definition: IWORKShape.cpp:42
Definition: IWORKToken.h:94
Definition: IWORKToken.h:79
const char * name
Definition: IWORKToken.cpp:43
Definition: IWORKToken.h:335
Definition: KEY2Token.h:70
uint8_t readU8(const RVNGInputStreamPtr_t &input, bool)
Definition: libetonyek_utils.cpp:48
double rad2deg(double value)
Convert an angle from radians to degrees. 
Definition: libetonyek_utils.cpp:242
int64_t readSVar(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:141
uint64_t readU64(const RVNGInputStreamPtr_t &input, bool bigEndian)
Definition: libetonyek_utils.cpp:92
void operator()(void *)
Definition: libetonyek_utils.h:108
const unsigned ETONYEK_EPOCH_BEGIN(978307200)
const double etonyek_two_pi(6.28318530717958647692528676655900576839433879875021164194988918461563281257241799725606965068423413596429617303e+00)
librevenge::RVNGString makeColor(const IWORKColor &color)
Definition: libetonyek_utils.cpp:254
Definition: IWORKToken.h:307
Definition: libetonyek_utils.h:106
boost::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libetonyek_utils.h:111
const double etonyek_half_pi(1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00)
uint16_t readU16(const RVNGInputStreamPtr_t &input, bool bigEndian)
Definition: libetonyek_utils.cpp:60
#define ETONYEK_EPSILON
Definition: libetonyek_utils.h:56
double readDouble(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:162
void writeBorder(const IWORKStroke &stroke, const char *const name, librevenge::RVNGPropertyList &props)
Definition: libetonyek_utils.cpp:268
Definition: IWORKToken.h:253
const double etonyek_pi(3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00)
const double etonyek_third_pi(1.04719755119659774615421446109316762806572313312503527365831486410260546876206966620934494178070568932738269550e+00)