<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>libcdr_utils.h File Reference documentation</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('libcdr__utils_8h.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">libcdr_utils.h File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include <stdio.h></code><br/> <code>#include <string></code><br/> <code>#include <math.h></code><br/> <code>#include <vector></code><br/> <code>#include <librevenge-stream/librevenge-stream.h></code><br/> <code>#include <librevenge/librevenge.h></code><br/> <code>#include <stdint.h></code><br/> <code>#include <inttypes.h></code><br/> </div> <p><a href="libcdr__utils_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibcdr_1_1EndOfStreamException.html">libcdr::EndOfStreamException</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibcdr_1_1GenericException.html">libcdr::GenericException</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibcdr_1_1UnknownPrecisionException.html">libcdr::UnknownPrecisionException</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classlibcdr_1_1EncodingException.html">libcdr::EncodingException</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:namespacelibcdr"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html">libcdr</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ae71449b1cc6e6250b91f539153a7a0d3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libcdr__utils_8h.html#ae71449b1cc6e6250b91f539153a7a0d3">M_PI</a>   3.14159265358979323846</td></tr> <tr class="separator:ae71449b1cc6e6250b91f539153a7a0d3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6d71d4d258fbf34661ba60d56f4fa174"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libcdr__utils_8h.html#a6d71d4d258fbf34661ba60d56f4fa174">CDR_EPSILON</a>   1E-6</td></tr> <tr class="separator:a6d71d4d258fbf34661ba60d56f4fa174"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa8d0d5821dd0116ac71834b13747ac0a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libcdr__utils_8h.html#aa8d0d5821dd0116ac71834b13747ac0a">CDR_ALMOST_ZERO</a>(m)   (fabs(m) <= <a class="el" href="libcdr__utils_8h.html#a6d71d4d258fbf34661ba60d56f4fa174">CDR_EPSILON</a>)</td></tr> <tr class="separator:aa8d0d5821dd0116ac71834b13747ac0a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc7c3967c04ceaae551ac80f0b1bd47b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libcdr__utils_8h.html#abc7c3967c04ceaae551ac80f0b1bd47b">CDR_DEBUG_MSG</a>(M)</td></tr> <tr class="separator:abc7c3967c04ceaae551ac80f0b1bd47b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad9c716b541909c191d071d30c612613b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="libcdr__utils_8h.html#ad9c716b541909c191d071d30c612613b">CDR_DEBUG</a>(M)</td></tr> <tr class="separator:ad9c716b541909c191d071d30c612613b"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a1371725ab289def133d9f6a3cbff968e"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a1371725ab289def133d9f6a3cbff968e">libcdr::readU8</a> (librevenge::RVNGInputStream *input, bool bigEndian=false)</td></tr> <tr class="separator:a1371725ab289def133d9f6a3cbff968e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad4b5c4ae63f4c293c7bdc3e63b810315"><td class="memItemLeft" align="right" valign="top">uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#ad4b5c4ae63f4c293c7bdc3e63b810315">libcdr::readU16</a> (librevenge::RVNGInputStream *input, bool bigEndian=false)</td></tr> <tr class="separator:ad4b5c4ae63f4c293c7bdc3e63b810315"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac7dc44bee9d285defdc901daf49cb40a"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#ac7dc44bee9d285defdc901daf49cb40a">libcdr::readU32</a> (librevenge::RVNGInputStream *input, bool bigEndian=false)</td></tr> <tr class="separator:ac7dc44bee9d285defdc901daf49cb40a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6209a32db2e7b5033c693ad4cb83b041"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a6209a32db2e7b5033c693ad4cb83b041">libcdr::readU64</a> (librevenge::RVNGInputStream *input, bool bigEndian=false)</td></tr> <tr class="separator:a6209a32db2e7b5033c693ad4cb83b041"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9b8152ccc70f7288db7ab53207a81dc1"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a9b8152ccc70f7288db7ab53207a81dc1">libcdr::readS32</a> (librevenge::RVNGInputStream *input, bool bigEndian=false)</td></tr> <tr class="separator:a9b8152ccc70f7288db7ab53207a81dc1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:add8ecfdb8f60461482565f49b4ec86bc"><td class="memItemLeft" align="right" valign="top">int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#add8ecfdb8f60461482565f49b4ec86bc">libcdr::readS16</a> (librevenge::RVNGInputStream *input, bool bigEndian=false)</td></tr> <tr class="separator:add8ecfdb8f60461482565f49b4ec86bc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a10699c45256fc85a04c85f9370be9cff"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a10699c45256fc85a04c85f9370be9cff">libcdr::readDouble</a> (librevenge::RVNGInputStream *input, bool bigEndian=false)</td></tr> <tr class="separator:a10699c45256fc85a04c85f9370be9cff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1eef2f510040ccaba1d52469fb5556a4"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a1eef2f510040ccaba1d52469fb5556a4">libcdr::readFixedPoint</a> (librevenge::RVNGInputStream *input, bool bigEndian=false)</td></tr> <tr class="separator:a1eef2f510040ccaba1d52469fb5556a4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a85c4739d7ee1309128e6e03aa6f639c3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a85c4739d7ee1309128e6e03aa6f639c3">libcdr::cdr_round</a> (double d)</td></tr> <tr class="separator:a85c4739d7ee1309128e6e03aa6f639c3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4593cfd0298e7b7aadc0a89ff233ec41"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a4593cfd0298e7b7aadc0a89ff233ec41">libcdr::writeU16</a> (librevenge::RVNGBinaryData &buffer, const int value)</td></tr> <tr class="separator:a4593cfd0298e7b7aadc0a89ff233ec41"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3e76d1bf4465d5b1323849c7dff39dad"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a3e76d1bf4465d5b1323849c7dff39dad">libcdr::writeU32</a> (librevenge::RVNGBinaryData &buffer, const int value)</td></tr> <tr class="separator:a3e76d1bf4465d5b1323849c7dff39dad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6e14a29381d2896685d3a2e4f9d41675"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a6e14a29381d2896685d3a2e4f9d41675">libcdr::appendCharacters</a> (librevenge::RVNGString &text, std::vector< unsigned char > characters, unsigned short charset)</td></tr> <tr class="separator:a6e14a29381d2896685d3a2e4f9d41675"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3af2fcc745e48fa22e00407fa29c0567"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibcdr.html#a3af2fcc745e48fa22e00407fa29c0567">libcdr::appendCharacters</a> (librevenge::RVNGString &text, std::vector< unsigned char > characters)</td></tr> <tr class="separator:a3af2fcc745e48fa22e00407fa29c0567"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="aa8d0d5821dd0116ac71834b13747ac0a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CDR_ALMOST_ZERO</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">m</td><td>)</td> <td>   (fabs(m) <= <a class="el" href="libcdr__utils_8h.html#a6d71d4d258fbf34661ba60d56f4fa174">CDR_EPSILON</a>)</td> </tr> </table> </div><div class="memdoc"> <p>Referenced by <a class="el" href="classlibcdr_1_1CDRContentCollector.html#a649c667b4f7bb8b56f9671226505f09a">libcdr::CDRContentCollector::_flushCurrentPath()</a>, <a class="el" href="classlibcdr_1_1CDRTransform.html#a6b2bd56bd7abcd943f79efbf7aa6a172">libcdr::CDRTransform::applyToArc()</a>, and <a class="el" href="structlibcdr_1_1CDRCharacterStyle.html#a1cad254e0d2059d987753821515a4852">libcdr::CDRCharacterStyle::overrideCharacterStyle()</a>.</p> </div> </div> <a class="anchor" id="ad9c716b541909c191d071d30c612613b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CDR_DEBUG</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">M</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="abc7c3967c04ceaae551ac80f0b1bd47b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CDR_DEBUG_MSG</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">M</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Referenced by <a class="el" href="classlibcdr_1_1CDRContentCollector.html#a649c667b4f7bb8b56f9671226505f09a">libcdr::CDRContentCollector::_flushCurrentPath()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a87327ab7bfefd4cb92afbb628b92efa2">libcdr::CDRParser::_readX6StyleString()</a>, <a class="el" href="classlibcdr_1_1CDRContentCollector.html#aaf52627e06671a7703440e06c1e2438a">libcdr::CDRContentCollector::collectPath()</a>, <a class="el" href="classlibcdr_1_1CDRStylesCollector.html#a30fb246868c6ca258904682f75a83ae5">libcdr::CDRStylesCollector::collectText()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#abb81ec176e11e8697cd4537135d11522">libcdr::CDRParser::gatherWaldoInformation()</a>, <a class="el" href="classlibcdr_1_1CDRDocument.html#af7997f4d426130f7aa90bfe414ec4c97">libcdr::CDRDocument::parse()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a4a59712a9aa21194a9a6d3adc2b56a73">libcdr::CMXParser::parseRecord()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#ace626bdc7088eede337a862289c64fee">libcdr::CDRParser::parseRecord()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a8dd90e8464bd19f5d50281c171702b41">libcdr::CDRParser::parseWaldo()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a9720ba01a524f8ff5fc598d827aa7316">libcdr::CDRParser::readArrw()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a9d43a2ffc084ad5188b42d43d6d26c05">libcdr::CMXParser::readBeginPage()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a881a34189a1da989c9b3715d5b85f3a2">libcdr::CDRParser::readBitmap()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a774f80624c4136643185deecffc1f2d7">libcdr::CMXParser::readCMXHeader()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a8e6a5fdf46a0d39181e502bc44e6f67c">libcdr::CMXParser::readEllipse()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a9435f111dbfbab765c32f07a7f7a6384">libcdr::CDRParser::readEllipse()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a68f482cd5827ae6bc325bb06784cc181">libcdr::CMXParser::readFill()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#accc500fca7226747dd260b49fff9e6af">libcdr::CMXParser::readJumpAbsolute()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#abc9c56edd71ae5e0dce7901fac5d656e">libcdr::CDRParser::readLineAndCurve()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a07b80dc5cae89a057a7838131aa5f42f">libcdr::CMXParser::readPage()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a74ec727a3fa0e35e546c162cabb7b35c">libcdr::CDRParser::readPath()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a593ba53e9a82213da3537a68a50d35e0">libcdr::CMXParser::readPolyCurve()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a121e3f1d1f11ae1f4281ce130f159af8">libcdr::CDRParser::readPolygonCoords()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#ae1ed21876575bb3e2f6e15ec211c0128">libcdr::CMXParser::readRectangle()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a1d3a2cf22e59b9795a4a1cbfa219725d">libcdr::CMXParser::readRenderingAttributes()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a4e594d7a9788e3d24c7602d9bced42b8">libcdr::CDRParser::readStlt()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#ae0381a8010bcb67261b19d3d06e77d64">libcdr::CDRParser::readStyd()</a>, <a class="el" href="namespacelibcdr.html#ad4b5c4ae63f4c293c7bdc3e63b810315">libcdr::readU16()</a>, <a class="el" href="namespacelibcdr.html#ac7dc44bee9d285defdc901daf49cb40a">libcdr::readU32()</a>, <a class="el" href="namespacelibcdr.html#a6209a32db2e7b5033c693ad4cb83b041">libcdr::readU64()</a>, <a class="el" href="namespacelibcdr.html#a1371725ab289def133d9f6a3cbff968e">libcdr::readU8()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a3b1a06dd8dce769c48e8b25e017d0806">libcdr::CDRParser::readUdta()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a11776ce6a503c630839fc0b85efa2c4c">libcdr::CDRParser::readWaldoRecord()</a>, and <a class="el" href="classlibcdr_1_1CDRParser.html#addbb0262a1a39d77fd36f2f69c69e8c7">libcdr::CDRParser::readWaldoTrfd()</a>.</p> </div> </div> <a class="anchor" id="a6d71d4d258fbf34661ba60d56f4fa174"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CDR_EPSILON   1E-6</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a class="anchor" id="ae71449b1cc6e6250b91f539153a7a0d3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define M_PI   3.14159265358979323846</td> </tr> </table> </div><div class="memdoc"> <p>Referenced by <a class="el" href="classlibcdr_1_1CDRContentCollector.html#abccfbe932ecd9199f33e41c500302030">libcdr::CDRContentCollector::_fillProperties()</a>, <a class="el" href="classlibcdr_1_1CDRContentCollector.html#a649c667b4f7bb8b56f9671226505f09a">libcdr::CDRContentCollector::_flushCurrentPath()</a>, <a class="el" href="classlibcdr_1_1CDRTransform.html#a6b2bd56bd7abcd943f79efbf7aa6a172">libcdr::CDRTransform::applyToArc()</a>, <a class="el" href="structlibcdr_1_1CDRPolygon.html#a4ac7c095b6275924f26f5e6f6ad6d963">libcdr::CDRPolygon::create()</a>, <a class="el" href="classlibcdr_1_1CommonParser.html#a2c7388324945b3785d4f7e64c8db8d19">libcdr::CommonParser::readAngle()</a>, <a class="el" href="classlibcdr_1_1CMXParser.html#a8e6a5fdf46a0d39181e502bc44e6f67c">libcdr::CMXParser::readEllipse()</a>, <a class="el" href="classlibcdr_1_1CDRParser.html#a9435f111dbfbab765c32f07a7f7a6384">libcdr::CDRParser::readEllipse()</a>, and <a class="el" href="classlibcdr_1_1CDRArcToElement.html#abab453b058f80d853a4758e766f0dc9c">libcdr::CDRArcToElement::writeOut()</a>.</p> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <hr size="1"><address style="align: right;"><small> Generated for libcdr by <a href="http://www.doxygen.org/index.html"> doxygen</a> 1.8.5</small></address> </body> </html>