<!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>VSDXParser.h Source File documentation</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.8.1.1 --> <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> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('VSDXParser_8h.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">VSDXParser.h</div> </div> </div><!--header--> <div class="contents"> <a href="VSDXParser_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">/* libvisio</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * Version: MPL 1.1 / GPLv2+ / LGPLv2+</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * The contents of this file are subject to the Mozilla Public License Version</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * 1.1 (the "License"); you may not use this file except in compliance with</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * the License or as specified alternatively below. You may obtain a copy of</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * the License at http://www.mozilla.org/MPL/</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * Software distributed under the License is distributed on an "AS IS" basis,</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * for the specific language governing rights and limitations under the</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * License.</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * Major Contributor(s):</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * Copyright (C) 2012 Fridrich Strba <fridrich.strba@bluewin.ch></span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> *</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * All Rights Reserved.</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> *</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * For minor contributions see the git repository.</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> *</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * Alternatively, the contents of this file may be used under the terms of</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * either the GNU General Public License Version 2 or later (the "GPLv2+"), or</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * instead of those above.</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef __VSDXPARSER_H__</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define __VSDXPARSER_H__</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <libwpd-stream/libwpd-stream.h></span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <libwpg/libwpg.h></span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="VSDXMLParserBase_8h.html">VSDXMLParserBase.h</a>"</span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">namespace </span>libvisio</div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">class </span>VSDCollector;</div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> <div class="line"><a name="l00042"></a><span class="lineno"><a class="code" href="classlibvisio_1_1VSDXParser.html"> 42</a></span> <span class="keyword">class </span><a class="code" href="classlibvisio_1_1VSDXParser.html">VSDXParser</a> : <span class="keyword">public</span> <a class="code" href="classlibvisio_1_1VSDXMLParserBase.html">VSDXMLParserBase</a></div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">using</span> <a class="code" href="classlibvisio_1_1VSDXMLParserBase.html#ad0f544bf7530a90cbaa39322c78e20c0">VSDXMLParserBase::readExtendedColourData</a>;</div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">using</span> <a class="code" href="classlibvisio_1_1VSDXMLParserBase.html#a868cafbf80957d00a264bf9ccc410a19">VSDXMLParserBase::readDoubleData</a>;</div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">using</span> <a class="code" href="classlibvisio_1_1VSDXMLParserBase.html#aa0fd6d18e16dd930f413533aa1b48830">VSDXMLParserBase::readBoolData</a>;</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">using</span> <a class="code" href="classlibvisio_1_1VSDXMLParserBase.html#af17b6a3077866d5a6bc127397c8d32c7">VSDXMLParserBase::readLongData</a>;</div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">explicit</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a00cbf884b04e73788b0599fe3c2247a6">VSDXParser</a>(WPXInputStream *input, libwpg::WPGPaintInterface *painter);</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">virtual</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#ab6062db33e276b5b20429fcf9cd740e0">~VSDXParser</a>();</div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordtype">bool</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a113863b041653c0844f2785716e9954e">parseMain</a>();</div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordtype">bool</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#ab0c3187d30b250806e641c9661e0c0d3">extractStencils</a>();</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classlibvisio_1_1VSDXParser.html#a00cbf884b04e73788b0599fe3c2247a6">VSDXParser</a>();</div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classlibvisio_1_1VSDXParser.html#a00cbf884b04e73788b0599fe3c2247a6">VSDXParser</a>(<span class="keyword">const</span> <a class="code" href="classlibvisio_1_1VSDXParser.html">VSDXParser</a> &);</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classlibvisio_1_1VSDXParser.html">VSDXParser</a> &<a class="code" href="classlibvisio_1_1VSDXParser.html#a0054c6c871ee243e2b4122933818e4f5">operator=</a>(<span class="keyword">const</span> <a class="code" href="classlibvisio_1_1VSDXParser.html">VSDXParser</a> &);</div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// Helper functions</span></div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  xmlChar *<a class="code" href="classlibvisio_1_1VSDXParser.html#ade66e7f5dd1d7365be00b0aef306ccec">readStringData</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordtype">int</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a18e8ce23289e1023fe52549a2f6fd124">getElementToken</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordtype">int</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a67cb651baeaecb7ed37b0777e0111bca">getElementDepth</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordtype">int</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a4c56cb2d308b01744905e6451e77cfce">skipSection</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="comment">// Functions parsing the Visio 2013 OPC document structure</span></div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordtype">bool</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#aa780bb713321f761c08c013c2b00f067">parseDocument</a>(WPXInputStream *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordtype">bool</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a03e8c1b517ef5e601114be08b4772902">parseMasters</a>(WPXInputStream *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">bool</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#ab629710af5e5c63872b350f910052788">parseMaster</a>(WPXInputStream *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">bool</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a26007c9af355c0e6b5b8058791b74f85">parsePages</a>(WPXInputStream *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordtype">bool</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#ac6a591778ffbb61b68b2ed5c6ba593e3">parsePage</a>(WPXInputStream *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordtype">bool</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a263b71469a09fbdc6bcbf7b9658d2d97">parseTheme</a>(WPXInputStream *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#ad52f4dd8d2040615aeed45194a411b44">processXmlDocument</a>(WPXInputStream *input, <a class="code" href="classlibvisio_1_1VSDXRelationships.html">VSDXRelationships</a> &rels);</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a646ebe6f7a3aef72acba5a2189d16ce2">processXmlNode</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="comment">// Functions reading the Visio 2013 OPC document content</span></div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#ab24636d411a4eaa1451bec87b7b08a75">extractBinaryData</a>(WPXInputStream *input, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);</div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#aa005ebf7d7ed77aa9756931a69fb1dbb">readPageSheetProperties</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a77ed5d5bbe2a88b48f6bce3ca924e599">readStyleProperties</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a125de955a4b33123528793b6c727f21b">readShapeProperties</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#abfe1032fb6cb9fc98bb1bab29534eb04">getBinaryData</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#afb3031217b8b9c2539c2e6c4fb5dffd5">readParagraph</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a267829d5cba45668c83dc97d054de2a2">readCharacter</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordtype">void</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a816647a8672dfdfebf191ad36aa07650">readFonts</a>(xmlTextReaderPtr reader);</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">// Private data</span></div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div> <div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="classlibvisio_1_1VSDXParser.html#a84055f1781cb33a86c3fe40a02959552"> 98</a></span>  WPXInputStream *<a class="code" href="classlibvisio_1_1VSDXParser.html#a84055f1781cb33a86c3fe40a02959552">m_input</a>;</div> <div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="classlibvisio_1_1VSDXParser.html#aea77ac69ed501402b71e55d63180f08f"> 99</a></span>  libwpg::WPGPaintInterface *<a class="code" href="classlibvisio_1_1VSDXParser.html#aea77ac69ed501402b71e55d63180f08f">m_painter</a>;</div> <div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="classlibvisio_1_1VSDXParser.html#a3978b45f1e32c8325803e13b3b2d5c90"> 100</a></span>  <span class="keywordtype">int</span> <a class="code" href="classlibvisio_1_1VSDXParser.html#a3978b45f1e32c8325803e13b3b2d5c90">m_currentDepth</a>;</div> <div class="line"><a name="l00101"></a><span class="lineno"><a class="code" href="classlibvisio_1_1VSDXParser.html#a1da3004ec1eda4dccf6c2a9bee17b91f"> 101</a></span>  <a class="code" href="classlibvisio_1_1VSDXRelationships.html">VSDXRelationships</a> *<a class="code" href="classlibvisio_1_1VSDXParser.html#a1da3004ec1eda4dccf6c2a9bee17b91f">m_rels</a>;</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span> };</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span> } <span class="comment">// namespace libvisio</span></div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor">#endif // __VSDXPARSER_H__</span></div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor"></span><span class="comment">/* vim:set shiftwidth=2 softtabstop=2 expandtab: */</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <hr size="1"><address style="align: right;"><small> Generated for libvisio by <a href="http://www.doxygen.org/index.html"> doxygen</a> 1.8.1.1</small></address> </body> </html>