<!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>CDRCollector.h Source File documentation</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.8.3.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 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('CDRCollector_8h_source.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">CDRCollector.h</div> </div> </div><!--header--> <div class="contents"> <a href="CDRCollector_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">/* libcdr</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 __CDRCOLLECTOR_H__</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#define __CDRCOLLECTOR_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 <map></span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <vector></span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <stack></span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <libwpg/libwpg.h></span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <libwpd-stream/libwpd-stream.h></span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <lcms2.h></span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="CDRTypes_8h.html">CDRTypes.h</a>"</span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="CDRPath_8h.html">CDRPath.h</a>"</span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="CDROutputElementList_8h.html">CDROutputElementList.h</a>"</span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "<a class="code" href="libcdr__utils_8h.html">libcdr_utils.h</a>"</span></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">namespace</span></div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "<a class="code" href="CDRColorProfiles_8h.html">CDRColorProfiles.h</a>"</span></div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }</div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div> <div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="namespacelibcdr.html"> 49</a></span> <span class="keyword">namespace </span>libcdr</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> <div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html"> 52</a></span> <span class="keyword">class </span><a class="code" href="classlibcdr_1_1CDRParserState.html">CDRParserState</a></div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classlibcdr_1_1CDRParserState.html#ab4d308849149de1c27868d80d4e638ba">CDRParserState</a>();</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classlibcdr_1_1CDRParserState.html#a465a90b7349c9a4ae1b8cb992f317da4">~CDRParserState</a>();</div> <div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#a61f6dc5b361b3ce2dc4f79cc72ba9ebd"> 57</a></span>  std::map<unsigned, WPXBinaryData> <a class="code" href="classlibcdr_1_1CDRParserState.html#a61f6dc5b361b3ce2dc4f79cc72ba9ebd">m_bmps</a>;</div> <div class="line"><a name="l00058"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#a254f7c1113d9786862e4fcae5605ae6a"> 58</a></span>  std::map<unsigned, CDRPattern> <a class="code" href="classlibcdr_1_1CDRParserState.html#a254f7c1113d9786862e4fcae5605ae6a">m_patterns</a>;</div> <div class="line"><a name="l00059"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#afca81a1c739880517f9568f11658b5aa"> 59</a></span>  std::map<unsigned, WPXBinaryData> <a class="code" href="classlibcdr_1_1CDRParserState.html#afca81a1c739880517f9568f11658b5aa">m_vects</a>;</div> <div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#a0c08c193b4f13dba67c53cd1b296fc88"> 60</a></span>  std::vector<CDRPage> <a class="code" href="classlibcdr_1_1CDRParserState.html#a0c08c193b4f13dba67c53cd1b296fc88">m_pages</a>;</div> <div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#a5495163088727abcf0e624a51dca370c"> 61</a></span>  std::map<unsigned, CDRColor> <a class="code" href="classlibcdr_1_1CDRParserState.html#a5495163088727abcf0e624a51dca370c">m_documentPalette</a>;</div> <div class="line"><a name="l00062"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#af74e19cfabf94f448cbe9aec3764a63f"> 62</a></span>  std::map<unsigned, std::vector<CDRTextLine> > <a class="code" href="classlibcdr_1_1CDRParserState.html#af74e19cfabf94f448cbe9aec3764a63f">m_texts</a>;</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">unsigned</span> <a class="code" href="classlibcdr_1_1CDRParserState.html#adee2000558149695027f5a6226411896">_getRGBColor</a>(<span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRColor.html">CDRColor</a> &color);</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordtype">unsigned</span> <a class="code" href="classlibcdr_1_1CDRParserState.html#ac204dda880d519d7ae482f66b90c3e19">getBMPColor</a>(<span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRColor.html">CDRColor</a> &color);</div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  WPXString <a class="code" href="classlibcdr_1_1CDRParserState.html#af1b4358f1bb9c5292fb191fbe541667e">getRGBColorString</a>(<span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRColor.html">CDRColor</a> &color);</div> <div class="line"><a name="l00067"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#a6bf133f5804027e4ede3c27efadc7231"> 67</a></span>  cmsHTRANSFORM <a class="code" href="classlibcdr_1_1CDRParserState.html#a6bf133f5804027e4ede3c27efadc7231">m_colorTransformCMYK2RGB</a>;</div> <div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#a4c2af622bb4e9130549381baa7285b50"> 68</a></span>  cmsHTRANSFORM <a class="code" href="classlibcdr_1_1CDRParserState.html#a4c2af622bb4e9130549381baa7285b50">m_colorTransformLab2RGB</a>;</div> <div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRParserState.html#a66b0408922bf1d586751cfaa8d52cc55"> 69</a></span>  cmsHTRANSFORM <a class="code" href="classlibcdr_1_1CDRParserState.html#a66b0408922bf1d586751cfaa8d52cc55">m_colorTransformRGB2RGB</a>;</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">void</span> <a class="code" href="classlibcdr_1_1CDRParserState.html#a7a9b3ce0db82650ff882a3efc572bf0b">setColorTransform</a>(<span class="keyword">const</span> std::vector<unsigned char> &profile);</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRParserState.html#a7a9b3ce0db82650ff882a3efc572bf0b">setColorTransform</a>(WPXInputStream *input);</div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classlibcdr_1_1CDRParserState.html#ab4d308849149de1c27868d80d4e638ba">CDRParserState</a>(<span class="keyword">const</span> <a class="code" href="classlibcdr_1_1CDRParserState.html">CDRParserState</a> &);</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="classlibcdr_1_1CDRParserState.html">CDRParserState</a> &<a class="code" href="classlibcdr_1_1CDRParserState.html#abe56afa48d9d6b8be17f4409cd1a629d">operator=</a>(<span class="keyword">const</span> <a class="code" href="classlibcdr_1_1CDRParserState.html">CDRParserState</a> &);</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span> };</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> <div class="line"><a name="l00079"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRCollector.html"> 79</a></span> <span class="keyword">class </span><a class="code" href="classlibcdr_1_1CDRCollector.html">CDRCollector</a></div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> {</div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00082"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRCollector.html#a68d57582d8bc1c6963c5a712a06cbef2"> 82</a></span>  <a class="code" href="classlibcdr_1_1CDRCollector.html#a68d57582d8bc1c6963c5a712a06cbef2">CDRCollector</a>() {}</div> <div class="line"><a name="l00083"></a><span class="lineno"><a class="code" href="classlibcdr_1_1CDRCollector.html#a9dfeb73b117043ec4837881519faf355"> 83</a></span>  <span class="keyword">virtual</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a9dfeb73b117043ec4837881519faf355">~CDRCollector</a>() {}</div> <div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="comment">// collector functions</span></div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#abaf8529a56bdb382d41de9a3143dc272">collectPage</a>(<span class="keywordtype">unsigned</span> level) = 0;</div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a829eebbac0a3f07ab5bf27eeedc17703">collectObject</a>(<span class="keywordtype">unsigned</span> level) = 0;</div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#afd8ff79b194ae9bd18727a7daaf468f3">collectGroup</a>(<span class="keywordtype">unsigned</span> level) = 0;</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#ab662fc0ab0cdb0bb4239792f86a2fb76">collectVect</a>(<span class="keywordtype">unsigned</span> level) = 0;</div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a007af0f728276d976af9ce6a00a62ed2">collectOtherList</a>() = 0;</div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#aef3d8b95d799a29dc9e04edd369450e4">collectCubicBezier</a>(<span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> y1, <span class="keywordtype">double</span> x2, <span class="keywordtype">double</span> y2, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) = 0;</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#aa3d66ce6fab56b1eff0ea14059c4b57b">collectQuadraticBezier</a>(<span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> y1, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) = 0;</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a687b2bd678956b121d3e06c817d1555e">collectMoveTo</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) = 0;</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a6636795ed5ba1bb73808a5f4f24b1c03">collectLineTo</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) = 0;</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#ac305f35cffe5cf52bc985ee2fd41e649">collectArcTo</a>(<span class="keywordtype">double</span> rx, <span class="keywordtype">double</span> ry, <span class="keywordtype">bool</span> largeArc, <span class="keywordtype">bool</span> sweep, <span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) = 0;</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a507ff97b05f0d74fc636c31b095cf85c">collectClosePath</a>() = 0;</div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a217d81598ce5f45e16b4eee50a0dd84e">collectLevel</a>(<span class="keywordtype">unsigned</span> level) = 0;</div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a566ef3339b7bd54b31a08550377be766">collectTransform</a>(<span class="keyword">const</span> <a class="code" href="classlibcdr_1_1CDRTransforms.html">CDRTransforms</a> &transforms, <span class="keywordtype">bool</span> considerGroupTransform) = 0;</div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a53c98d7f72644b06692422f825617570">collectFillStyle</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> fillType, <span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRColor.html">CDRColor</a> &color1, <span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRColor.html">CDRColor</a> &color2, <span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRGradient.html">CDRGradient</a> &gradient, <span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRImageFill.html">CDRImageFill</a> &imageFill) = 0;</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#ac3384147e4e0187185a0fee2687d9af0">collectLineStyle</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> lineType, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> capsType, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> joinType, <span class="keywordtype">double</span> lineWidth,</div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordtype">double</span> stretch, <span class="keywordtype">double</span> angle, <span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRColor.html">CDRColor</a> &color, <span class="keyword">const</span> std::vector<unsigned> &dashArray,</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordtype">unsigned</span> startMarkerId, <span class="keywordtype">unsigned</span> endMarkerId) = 0;</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a0728b87693bcad53b0b4638c93c06b81">collectRotate</a>(<span class="keywordtype">double</span> angle, <span class="keywordtype">double</span> cx, <span class="keywordtype">double</span> cy) = 0;</div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a0594120e9e0c6d4ab257c1f811675fd3">collectFlags</a>(<span class="keywordtype">unsigned</span> flags, <span class="keywordtype">bool</span> considerFlags) = 0;</div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a65ac890c4604de87389f9deea388deca">collectPageSize</a>(<span class="keywordtype">double</span> width, <span class="keywordtype">double</span> height, <span class="keywordtype">double</span> offsetX, <span class="keywordtype">double</span> offsetY) = 0;</div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#ae06ec42be04e81c9dc9809dd0af10bac">collectPolygonTransform</a>(<span class="keywordtype">unsigned</span> numAngles, <span class="keywordtype">unsigned</span> nextPoint, <span class="keywordtype">double</span> rx, <span class="keywordtype">double</span> ry, <span class="keywordtype">double</span> cx, <span class="keywordtype">double</span> cy) = 0;</div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a3fa7f62a5317882e8ebe41eb1f7cc393">collectBitmap</a>(<span class="keywordtype">unsigned</span> imageId, <span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> x2, <span class="keywordtype">double</span> y1, <span class="keywordtype">double</span> y2) = 0;</div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a9f0b10cbcb09c25e144467393c7c3b9f">collectBmp</a>(<span class="keywordtype">unsigned</span> imageId, <span class="keywordtype">unsigned</span> colorModel, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height, <span class="keywordtype">unsigned</span> bpp, <span class="keyword">const</span> std::vector<unsigned> &palette, <span class="keyword">const</span> std::vector<unsigned char> &bitmap) = 0;</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a9f0b10cbcb09c25e144467393c7c3b9f">collectBmp</a>(<span class="keywordtype">unsigned</span> imageId, <span class="keyword">const</span> std::vector<unsigned char> &bitmap) = 0;</div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#acc0bae737dfba5d57638f01af47640b2">collectBmpf</a>(<span class="keywordtype">unsigned</span> patternId, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height, <span class="keyword">const</span> std::vector<unsigned char> &pattern) = 0;</div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a52f02c3ad011793c2f7a7ce1d1951c11">collectPpdt</a>(<span class="keyword">const</span> std::vector<std::pair<double, double> > &points, <span class="keyword">const</span> std::vector<unsigned> &knotVector) = 0;</div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#ae59303f40bf727a7918e0485d889f9de">collectFillTransform</a>(<span class="keyword">const</span> <a class="code" href="classlibcdr_1_1CDRTransforms.html">CDRTransforms</a> &fillTrafos) = 0;</div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#ac909defc41e59b857e183b2214a40ad4">collectFillOpacity</a>(<span class="keywordtype">double</span> opacity) = 0;</div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a384b4622a9b7bacaed5be3debe88218d">collectPolygon</a>() = 0;</div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a37fcb0a3618499b00177bf83dbdadf20">collectSpline</a>() = 0;</div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#ae6608b0b3e458e0790ca3d298e659e87">collectColorProfile</a>(<span class="keyword">const</span> std::vector<unsigned char> &profile) = 0;</div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a39cbdd802a6ed1a9fdcd044b08320780">collectBBox</a>(<span class="keywordtype">double</span> x0, <span class="keywordtype">double</span> y0, <span class="keywordtype">double</span> x1, <span class="keywordtype">double</span> y1) = 0;</div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a0696844f77c0e74ff95c6efca7c8491a">collectSpnd</a>(<span class="keywordtype">unsigned</span> spnd) = 0;</div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a4ed871434a91662fad6dee59b248f423">collectVectorPattern</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> WPXBinaryData &data) = 0;</div> <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a7034fbedba8814f6087248824c313bfb">collectPaletteEntry</a>(<span class="keywordtype">unsigned</span> colorId, <span class="keywordtype">unsigned</span> userId, <span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRColor.html">CDRColor</a> &color) = 0;</div> <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#aaeae19689e2dc588a6d806584e42b588">collectText</a>(<span class="keywordtype">unsigned</span> textId, <span class="keywordtype">unsigned</span> styleId, <span class="keyword">const</span> std::vector<unsigned char> &data,</div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">const</span> std::vector<unsigned char> &charDescriptions, <span class="keyword">const</span> std::map<unsigned, CDRCharacterStyle> &styleOverrides) = 0;</div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#ad33c76c49d7c51eb723fc2d1f4d44eac">collectArtisticText</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y) = 0;</div> <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#a7b06c592ddf603cb0cedbba0d8b576f2">collectParagraphText</a>(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> width, <span class="keywordtype">double</span> height) = 0;</div> <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classlibcdr_1_1CDRCollector.html#aed05bba181d00a38c798440b7616ec23">collectStld</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="structlibcdr_1_1CDRCharacterStyle.html">CDRCharacterStyle</a> &charStyle) = 0;</div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span> };</div> <div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span> } <span class="comment">// namespace libcdr</span></div> <div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> <div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor">#endif </span><span class="comment">/* __CDRCOLLECTOR_H__ */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</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 libcdr by <a href="http://www.doxygen.org/index.html"> doxygen</a> 1.8.3.1</small></address> </body> </html>