File: View_8h_source.html

package info (click to toggle)
iipimage 1.1-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 7,376 kB
  • sloc: sh: 8,127; cpp: 7,791; ansic: 3,983; java: 872; makefile: 200; perl: 2
file content (136 lines) | stat: -rw-r--r-- 60,829 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>iipsrv: View.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="iip.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">iipsrv
   &#160;<span id="projectnumber">1.1</span>
   </div>
   <div id="projectbrief">iipsrv is an advanced high-performance feature-rich image server for web-based streamed viewing and zooming of ultra high-resolution images</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('View_8h_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">View.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    Image View and Transform Parameters</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    Copyright (C) 2003-2019 Ruven Pillay.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    This program is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    the Free Software Foundation; either version 3 of the License, or</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">    (at your option) any later version.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">    This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    GNU General Public License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#ifndef _VIEW_H</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define _VIEW_H</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;Transforms.h&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classView.html">   36</a></span>&#160;<span class="keyword">class </span><a class="code" href="classView.html">View</a>{</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;  <span class="comment">// Resolution independent x,y,w,h region viewport</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  <span class="keywordtype">float</span> view_left, view_top, view_width, view_height; </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;  <span class="keywordtype">int</span> resolution;                             </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_resolutions;               </div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, height;                 </div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> res_width, res_height;         </div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> min_size;                      </div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> max_size;                      </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> requested_width;               </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> requested_height;              </div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="keywordtype">float</span> rotation;                             </div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  <span class="keywordtype">void</span> calculateResolution( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> m, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> r );</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  <span class="keywordtype">int</span> xangle;                                 </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classView.html#a272483c42cab8c6340ccd9aee4a0a590">   66</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classView.html#a272483c42cab8c6340ccd9aee4a0a590">yangle</a>;                                 </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classView.html#a605b9d2c55831e9daa9d270d17f45c7d">   67</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#a605b9d2c55831e9daa9d270d17f45c7d">shaded</a>;                                </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classView.html#a6caf330847d42fc8f5527359cade610c">   68</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classView.html#a6caf330847d42fc8f5527359cade610c">shade</a>[3];                               </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classView.html#ab8f56e796bef6f4f53a2e4b0b96b27e5">   69</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#ab8f56e796bef6f4f53a2e4b0b96b27e5">cmapped</a>;                               </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classView.html#aef2cc576c53dc89c1b0e56f898637bb0">   70</a></span>&#160;  <span class="keyword">enum</span> cmap_type <a class="code" href="classView.html#aef2cc576c53dc89c1b0e56f898637bb0">cmap</a>;                        </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classView.html#af40f237efd940ec20457da749f8b464e">   71</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#af40f237efd940ec20457da749f8b464e">inverted</a>;                              </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classView.html#a65d44ca93e3e4712909232ab5961e410">   72</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classView.html#a65d44ca93e3e4712909232ab5961e410">max_layers</a>;                             </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classView.html#ac2d157433d47b53439fec339fc6be28e">   73</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classView.html#ac2d157433d47b53439fec339fc6be28e">layers</a>;                                 </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classView.html#ae4d962c68d2c740d5b74784420624b5c">   74</a></span>&#160;  ColourSpaces <a class="code" href="classView.html#ae4d962c68d2c740d5b74784420624b5c">colourspace</a>;                   </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classView.html#afa69db05c497c874f872249f6bd24223">   75</a></span>&#160;  std::vector&lt; std::vector&lt;float&gt; &gt; <a class="code" href="classView.html#afa69db05c497c874f872249f6bd24223">ctw</a>;      </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classView.html#a5445431e62f1f4fa2b8e39e5b116dd9f">   76</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classView.html#a5445431e62f1f4fa2b8e39e5b116dd9f">flip</a>;                                   </div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classView.html#a5ac9e196f50d7dff4d4dab53f224d748">   77</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#a5ac9e196f50d7dff4d4dab53f224d748">maintain_aspect</a>;                       </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classView.html#a89afa2a83e27664ebabe4d835a08fced">   78</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#a89afa2a83e27664ebabe4d835a08fced">allow_upscaling</a>;                       </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classView.html#a00d687587ca91d27fe705fb642e4a611">   79</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#a00d687587ca91d27fe705fb642e4a611">embed_icc</a>;                             </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classView.html#a97559125ceaddb8a589c390934a338c8">   80</a></span>&#160;  CompressionType <a class="code" href="classView.html#a97559125ceaddb8a589c390934a338c8">output_format</a>;              </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classView.html#a0eb16fb9e47c8a0f120392682280c14a">   81</a></span>&#160;  <span class="keywordtype">float</span> <a class="code" href="classView.html#a0eb16fb9e47c8a0f120392682280c14a">contrast</a>;                             </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classView.html#a66501d855c367e23894d2ca9958d7b44">   82</a></span>&#160;  <span class="keywordtype">float</span> <a class="code" href="classView.html#a66501d855c367e23894d2ca9958d7b44">gamma</a>;                                </div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classView.html#a5bf5002eeb7a74fb275f4bc628694314">   83</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#a5bf5002eeb7a74fb275f4bc628694314">equalization</a>;                          </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classView.html#a44ad60a768422d3fa8fbd7576950080a">   87</a></span>&#160;  <a class="code" href="classView.html#a44ad60a768422d3fa8fbd7576950080a">View</a>() {</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    view_left = 0.0; view_top = 0.0; view_width = 1.0; view_height = 1.0;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    resolution = 0; max_resolutions = 0;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    width = 0; height = 0;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    res_width = 0; res_height = 0;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    min_size = 1; max_size = 0;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    requested_width = 0; requested_height = 0;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <a class="code" href="classView.html#a0eb16fb9e47c8a0f120392682280c14a">contrast</a> = 1.0; <a class="code" href="classView.html#a66501d855c367e23894d2ca9958d7b44">gamma</a> = 1.0;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    xangle = 0; <a class="code" href="classView.html#a272483c42cab8c6340ccd9aee4a0a590">yangle</a> = 90;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <a class="code" href="classView.html#a605b9d2c55831e9daa9d270d17f45c7d">shaded</a> = <span class="keyword">false</span>; <a class="code" href="classView.html#a6caf330847d42fc8f5527359cade610c">shade</a>[0] = 0; <a class="code" href="classView.html#a6caf330847d42fc8f5527359cade610c">shade</a>[1] = 0; <a class="code" href="classView.html#a6caf330847d42fc8f5527359cade610c">shade</a>[2] = 0;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <a class="code" href="classView.html#ab8f56e796bef6f4f53a2e4b0b96b27e5">cmapped</a> = <span class="keyword">false</span>; <a class="code" href="classView.html#aef2cc576c53dc89c1b0e56f898637bb0">cmap</a> = HOT; <a class="code" href="classView.html#af40f237efd940ec20457da749f8b464e">inverted</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <a class="code" href="classView.html#a65d44ca93e3e4712909232ab5961e410">max_layers</a> = 0; <a class="code" href="classView.html#ac2d157433d47b53439fec339fc6be28e">layers</a> = 0;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    rotation = 0.0; <a class="code" href="classView.html#a5445431e62f1f4fa2b8e39e5b116dd9f">flip</a> = 0;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    <a class="code" href="classView.html#a5ac9e196f50d7dff4d4dab53f224d748">maintain_aspect</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <a class="code" href="classView.html#a89afa2a83e27664ebabe4d835a08fced">allow_upscaling</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <a class="code" href="classView.html#ae4d962c68d2c740d5b74784420624b5c">colourspace</a> = NONE;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <a class="code" href="classView.html#a00d687587ca91d27fe705fb642e4a611">embed_icc</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <a class="code" href="classView.html#a97559125ceaddb8a589c390934a338c8">output_format</a> = JPEG;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <a class="code" href="classView.html#a5bf5002eeb7a74fb275f4bc628694314">equalization</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  };</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classView.html#aa8456bd84f6f12ba59fcf61fb575095a">  111</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#aa8456bd84f6f12ba59fcf61fb575095a">setMaxSize</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> m ){ max_size = m; };</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="comment">/* @return maximum output dimension */</span></div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classView.html#a77101965d8b2943fb5ca6425823ffa91">  116</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#a77101965d8b2943fb5ca6425823ffa91">getMaxSize</a>(){ <span class="keywordflow">return</span> max_size; };</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  </div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classView.html#ae03ba688fc76fb0c43e3beff937e14aa">  121</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#ae03ba688fc76fb0c43e3beff937e14aa">setAllowUpscaling</a>( <span class="keywordtype">bool</span> upscale ){ <a class="code" href="classView.html#a89afa2a83e27664ebabe4d835a08fced">allow_upscaling</a> = upscale; };</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  <span class="comment">/* @return true or false */</span></div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classView.html#ad732826f6c55d0ce153d0f482c985556">  126</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#ad732826f6c55d0ce153d0f482c985556">allowUpscaling</a>(){ <span class="keywordflow">return</span> <a class="code" href="classView.html#a89afa2a83e27664ebabe4d835a08fced">allow_upscaling</a>; };</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classView.html#a91fd93084a17cca1b4211ff86d0caa34">  132</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#a91fd93084a17cca1b4211ff86d0caa34">setEmbedICC</a>( <span class="keywordtype">bool</span> embed ){ <a class="code" href="classView.html#a00d687587ca91d27fe705fb642e4a611">embed_icc</a> = embed; };</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classView.html#a301581638d9e9866539737b499eafcf0">  138</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#a301581638d9e9866539737b499eafcf0">embedICC</a>(){</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    <span class="comment">// Disable if colour-mapping, twist, hill-shading or greyscale conversion applied</span></div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classView.html#ab8f56e796bef6f4f53a2e4b0b96b27e5">cmapped</a> || <a class="code" href="classView.html#a605b9d2c55831e9daa9d270d17f45c7d">shaded</a> || <a class="code" href="classView.html#afa69db05c497c874f872249f6bd24223">ctw</a>.size() || <a class="code" href="classView.html#ae4d962c68d2c740d5b74784420624b5c">colourspace</a>==GREYSCALE ) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classView.html#a00d687587ca91d27fe705fb642e4a611">embed_icc</a>;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  };</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classView.html#aabd224b6dbb3dc642dc5f6ea73bb2d67">  147</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#aabd224b6dbb3dc642dc5f6ea73bb2d67">setMaxResolutions</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> r ){ max_resolutions = r; resolution=r-1; };</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <span class="comment">/* @return requested width */</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#a6b373f00ca8790738c20ea85cc07b175">getRequestWidth</a>();</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classView.html#a7f83224c343d82872399bbe6e8b45760">  157</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#a7f83224c343d82872399bbe6e8b45760">setRequestWidth</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> w ){</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    requested_width = w;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  };</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <span class="comment">/* @return requested height */</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#a87e07b51f39c15b94a41decae5c68e91">getRequestHeight</a>();</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classView.html#aefd2a49c9f07977af83d5ff3a8e4586f">  169</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#aefd2a49c9f07977af83d5ff3a8e4586f">setRequestHeight</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h ){</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    requested_height = h;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  };</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  <span class="comment">/* @return requested resolution level */</span></div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#a28c44d84320f6ad10da70bafa211d558">getResolution</a>();</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="comment">/* @return scaling factor */</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="keywordtype">float</span> <a class="code" href="classView.html#a35752087943e6b754405ec7c95a02963">getScale</a>();</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#ae2e0eb95cf0a27d004f4bd13ffda80ad">setViewLeft</a>( <span class="keywordtype">float</span> x );</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#a2bc5a28c964210ea39d1eb270c30200c">setViewTop</a>( <span class="keywordtype">float</span> y );</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#a3daf26babf3e0502696d1af401b08232">setViewWidth</a>( <span class="keywordtype">float</span> w );</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#acbd157d490921f1945d81f198a8f016f">setViewHeight</a>( <span class="keywordtype">float</span> h );</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classView.html#ac8709157ac54e0c4cba12ffce1c5aabe">  208</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#ac8709157ac54e0c4cba12ffce1c5aabe">setImageSize</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> w, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h ){ width = w; height = h; };</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classView.html#ad78accfff9a117df08c02d6061a60157">  213</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#ad78accfff9a117df08c02d6061a60157">setMaxLayers</a>( <span class="keywordtype">int</span> l ){ <a class="code" href="classView.html#a65d44ca93e3e4712909232ab5961e410">max_layers</a> = l; };</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classView.html#af6e72554b02976d98058170b3685a371">  217</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#af6e72554b02976d98058170b3685a371">setLayers</a>( <span class="keywordtype">int</span> l ){ <a class="code" href="classView.html#ac2d157433d47b53439fec339fc6be28e">layers</a> = l; };</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classView.html#aada3d9afaf60efccf67eae06509dc1ed">getLayers</a>();</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="comment">/* @return image width */</span></div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classView.html#ab9adf6e09e14cd2f13369cf90d3159ad">  224</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#ab9adf6e09e14cd2f13369cf90d3159ad">getImageWidth</a>(){ <span class="keywordflow">return</span> width; };</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  <span class="comment">/* @return image height */</span></div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classView.html#aaafd128b63bf2980755b0e0a72bcf2f3">  228</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#aaafd128b63bf2980755b0e0a72bcf2f3">getImageHeight</a>(){ <span class="keywordflow">return</span> height; };</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <span class="comment">/* @return position of left of viewport in pixels */</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#a38d3581c0e6407d921dea25716dc4fd9">getViewLeft</a>() ;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="comment">/* @return position of top of viewport in pixels */</span></div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#a25b6deb35d090a5d9be70532256643c1">getViewTop</a>();</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="comment">/* @return width of viewport in pixels */</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#a183dd9de7291c8cf8d07a380b09d046b">getViewWidth</a>();</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;  <span class="comment">/* @return height of viewport in pixels */</span></div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classView.html#af6c40d3b25d54873cac0217fb1f33e08">getViewHeight</a>();</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="comment">/* @return boolean indicating whether viewport specified */</span></div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#a0eec96d2a3ec25abba83d639737111be">viewPortSet</a>();</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classView.html#ae72c9399f734d324ec7804dfd4bef405">  252</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classView.html#ae72c9399f734d324ec7804dfd4bef405">setRotation</a>( <span class="keywordtype">float</span> r ){ rotation = r; };</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">/* @return requested rotation angle in degrees */</span></div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classView.html#a5dd05a3f8dfb297a6ea3931d450348ec">  256</a></span>&#160;  <span class="keywordtype">float</span> <a class="code" href="classView.html#a5dd05a3f8dfb297a6ea3931d450348ec">getRotation</a>(){ <span class="keywordflow">return</span> rotation; };</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classView.html#ae0a2fd77c94dd0c6e9a1698df98eecd6">  259</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#ae0a2fd77c94dd0c6e9a1698df98eecd6">floatProcessing</a>(){</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classView.html#a0eb16fb9e47c8a0f120392682280c14a">contrast</a> != 1.0 || <a class="code" href="classView.html#a66501d855c367e23894d2ca9958d7b44">gamma</a> != 1.0 || <a class="code" href="classView.html#ab8f56e796bef6f4f53a2e4b0b96b27e5">cmapped</a> || <a class="code" href="classView.html#a605b9d2c55831e9daa9d270d17f45c7d">shaded</a> || <a class="code" href="classView.html#af40f237efd940ec20457da749f8b464e">inverted</a> || <a class="code" href="classView.html#afa69db05c497c874f872249f6bd24223">ctw</a>.size() ){</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;      <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    }</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  }</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classView.html#a4f3c96d206d264d16d337a10703c85af">  267</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classView.html#a4f3c96d206d264d16d337a10703c85af">requireHistogram</a>(){</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <span class="keywordflow">if</span>( <a class="code" href="classView.html#a5bf5002eeb7a74fb275f4bc628694314">equalization</a> || <a class="code" href="classView.html#ae4d962c68d2c740d5b74784420624b5c">colourspace</a>==BINARY || <a class="code" href="classView.html#a0eb16fb9e47c8a0f120392682280c14a">contrast</a>==-1 ) <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  }</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;};</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="classView_html_ae72c9399f734d324ec7804dfd4bef405"><div class="ttname"><a href="classView.html#ae72c9399f734d324ec7804dfd4bef405">View::setRotation</a></div><div class="ttdeci">void setRotation(float r)</div><div class="ttdoc">Set rotation. </div><div class="ttdef"><b>Definition:</b> View.h:252</div></div>
<div class="ttc" id="classView_html_ad732826f6c55d0ce153d0f482c985556"><div class="ttname"><a href="classView.html#ad732826f6c55d0ce153d0f482c985556">View::allowUpscaling</a></div><div class="ttdeci">bool allowUpscaling()</div><div class="ttdoc">Get the allow_upscaling flag. </div><div class="ttdef"><b>Definition:</b> View.h:126</div></div>
<div class="ttc" id="classView_html_a4f3c96d206d264d16d337a10703c85af"><div class="ttname"><a href="classView.html#a4f3c96d206d264d16d337a10703c85af">View::requireHistogram</a></div><div class="ttdeci">bool requireHistogram()</div><div class="ttdoc">Whether we require a histogram. </div><div class="ttdef"><b>Definition:</b> View.h:267</div></div>
<div class="ttc" id="classView_html_a00d687587ca91d27fe705fb642e4a611"><div class="ttname"><a href="classView.html#a00d687587ca91d27fe705fb642e4a611">View::embed_icc</a></div><div class="ttdeci">bool embed_icc</div><div class="ttdoc">Indicate whether images may be served larger than the source file. </div><div class="ttdef"><b>Definition:</b> View.h:79</div></div>
<div class="ttc" id="classView_html_acbd157d490921f1945d81f198a8f016f"><div class="ttname"><a href="classView.html#acbd157d490921f1945d81f198a8f016f">View::setViewHeight</a></div><div class="ttdeci">void setViewHeight(float h)</div><div class="ttdoc">Set the height co-ordinate of the viewport. </div></div>
<div class="ttc" id="classView_html_ac8709157ac54e0c4cba12ffce1c5aabe"><div class="ttname"><a href="classView.html#ac8709157ac54e0c4cba12ffce1c5aabe">View::setImageSize</a></div><div class="ttdeci">void setImageSize(unsigned int w, unsigned int h)</div><div class="ttdoc">Set the source image pixel size. </div><div class="ttdef"><b>Definition:</b> View.h:208</div></div>
<div class="ttc" id="classView_html_a605b9d2c55831e9daa9d270d17f45c7d"><div class="ttname"><a href="classView.html#a605b9d2c55831e9daa9d270d17f45c7d">View::shaded</a></div><div class="ttdeci">bool shaded</div><div class="ttdoc">Vertical View. </div><div class="ttdef"><b>Definition:</b> View.h:67</div></div>
<div class="ttc" id="classView_html_a25b6deb35d090a5d9be70532256643c1"><div class="ttname"><a href="classView.html#a25b6deb35d090a5d9be70532256643c1">View::getViewTop</a></div><div class="ttdeci">unsigned int getViewTop()</div><div class="ttdoc">Return the top pixel of the viewport. </div></div>
<div class="ttc" id="classView_html_a5dd05a3f8dfb297a6ea3931d450348ec"><div class="ttname"><a href="classView.html#a5dd05a3f8dfb297a6ea3931d450348ec">View::getRotation</a></div><div class="ttdeci">float getRotation()</div><div class="ttdoc">Get rotation. </div><div class="ttdef"><b>Definition:</b> View.h:256</div></div>
<div class="ttc" id="classView_html_afa69db05c497c874f872249f6bd24223"><div class="ttname"><a href="classView.html#afa69db05c497c874f872249f6bd24223">View::ctw</a></div><div class="ttdeci">std::vector&lt; std::vector&lt; float &gt; &gt; ctw</div><div class="ttdoc">Requested colourspace. </div><div class="ttdef"><b>Definition:</b> View.h:75</div></div>
<div class="ttc" id="classView_html_a5445431e62f1f4fa2b8e39e5b116dd9f"><div class="ttname"><a href="classView.html#a5445431e62f1f4fa2b8e39e5b116dd9f">View::flip</a></div><div class="ttdeci">int flip</div><div class="ttdoc">Colour twist matrix. </div><div class="ttdef"><b>Definition:</b> View.h:76</div></div>
<div class="ttc" id="classView_html_a301581638d9e9866539737b499eafcf0"><div class="ttname"><a href="classView.html#a301581638d9e9866539737b499eafcf0">View::embedICC</a></div><div class="ttdeci">bool embedICC()</div><div class="ttdoc">Get the embed_icc flag - disable in case of certain types of processing. </div><div class="ttdef"><b>Definition:</b> View.h:138</div></div>
<div class="ttc" id="classView_html_a6caf330847d42fc8f5527359cade610c"><div class="ttname"><a href="classView.html#a6caf330847d42fc8f5527359cade610c">View::shade</a></div><div class="ttdeci">int shade[3]</div><div class="ttdoc">Whether to use shading view. </div><div class="ttdef"><b>Definition:</b> View.h:68</div></div>
<div class="ttc" id="classView_html_aef2cc576c53dc89c1b0e56f898637bb0"><div class="ttname"><a href="classView.html#aef2cc576c53dc89c1b0e56f898637bb0">View::cmap</a></div><div class="ttdeci">enum cmap_type cmap</div><div class="ttdoc">Whether to modify colormap. </div><div class="ttdef"><b>Definition:</b> View.h:70</div></div>
<div class="ttc" id="classView_html_ae2e0eb95cf0a27d004f4bd13ffda80ad"><div class="ttname"><a href="classView.html#ae2e0eb95cf0a27d004f4bd13ffda80ad">View::setViewLeft</a></div><div class="ttdeci">void setViewLeft(float x)</div><div class="ttdoc">Set the left co-ordinate of the viewport. </div></div>
<div class="ttc" id="classView_html_a5bf5002eeb7a74fb275f4bc628694314"><div class="ttname"><a href="classView.html#a5bf5002eeb7a74fb275f4bc628694314">View::equalization</a></div><div class="ttdeci">bool equalization</div><div class="ttdoc">Gamma adjustment requested by GAM command. </div><div class="ttdef"><b>Definition:</b> View.h:83</div></div>
<div class="ttc" id="classView_html_af6e72554b02976d98058170b3685a371"><div class="ttname"><a href="classView.html#af6e72554b02976d98058170b3685a371">View::setLayers</a></div><div class="ttdeci">void setLayers(int l)</div><div class="ttdoc">Set the number of quality layers to decode, limiting to our max value. </div><div class="ttdef"><b>Definition:</b> View.h:217</div></div>
<div class="ttc" id="classView_html_a3daf26babf3e0502696d1af401b08232"><div class="ttname"><a href="classView.html#a3daf26babf3e0502696d1af401b08232">View::setViewWidth</a></div><div class="ttdeci">void setViewWidth(float w)</div><div class="ttdoc">Set the width co-ordinate of the viewport. </div></div>
<div class="ttc" id="classView_html_a183dd9de7291c8cf8d07a380b09d046b"><div class="ttname"><a href="classView.html#a183dd9de7291c8cf8d07a380b09d046b">View::getViewWidth</a></div><div class="ttdeci">unsigned int getViewWidth()</div><div class="ttdoc">Return the pixel width of the viewport. </div></div>
<div class="ttc" id="classView_html_af40f237efd940ec20457da749f8b464e"><div class="ttname"><a href="classView.html#af40f237efd940ec20457da749f8b464e">View::inverted</a></div><div class="ttdeci">bool inverted</div><div class="ttdoc">colormap </div><div class="ttdef"><b>Definition:</b> View.h:71</div></div>
<div class="ttc" id="classView_html_a91fd93084a17cca1b4211ff86d0caa34"><div class="ttname"><a href="classView.html#a91fd93084a17cca1b4211ff86d0caa34">View::setEmbedICC</a></div><div class="ttdeci">void setEmbedICC(bool embed)</div><div class="ttdoc">Set the embed_icc flag. </div><div class="ttdef"><b>Definition:</b> View.h:132</div></div>
<div class="ttc" id="classView_html_a66501d855c367e23894d2ca9958d7b44"><div class="ttname"><a href="classView.html#a66501d855c367e23894d2ca9958d7b44">View::gamma</a></div><div class="ttdeci">float gamma</div><div class="ttdoc">Contrast adjustment requested by CNT command. </div><div class="ttdef"><b>Definition:</b> View.h:82</div></div>
<div class="ttc" id="classView_html_aada3d9afaf60efccf67eae06509dc1ed"><div class="ttname"><a href="classView.html#aada3d9afaf60efccf67eae06509dc1ed">View::getLayers</a></div><div class="ttdeci">int getLayers()</div><div class="ttdoc">Return the number of layers to decode. </div></div>
<div class="ttc" id="classView_html_a28c44d84320f6ad10da70bafa211d558"><div class="ttname"><a href="classView.html#a28c44d84320f6ad10da70bafa211d558">View::getResolution</a></div><div class="ttdeci">unsigned int getResolution()</div><div class="ttdoc">Return the requested resolution. </div></div>
<div class="ttc" id="classView_html_a0eb16fb9e47c8a0f120392682280c14a"><div class="ttname"><a href="classView.html#a0eb16fb9e47c8a0f120392682280c14a">View::contrast</a></div><div class="ttdeci">float contrast</div><div class="ttdoc">Requested output format. </div><div class="ttdef"><b>Definition:</b> View.h:81</div></div>
<div class="ttc" id="classView_html_a35752087943e6b754405ec7c95a02963"><div class="ttname"><a href="classView.html#a35752087943e6b754405ec7c95a02963">View::getScale</a></div><div class="ttdeci">float getScale()</div><div class="ttdoc">Return the scaling required in case our requested width or height is in between available resolutions...</div></div>
<div class="ttc" id="classView_html_a272483c42cab8c6340ccd9aee4a0a590"><div class="ttname"><a href="classView.html#a272483c42cab8c6340ccd9aee4a0a590">View::yangle</a></div><div class="ttdeci">int yangle</div><div class="ttdoc">Horizontal View. </div><div class="ttdef"><b>Definition:</b> View.h:66</div></div>
<div class="ttc" id="classView_html_aa8456bd84f6f12ba59fcf61fb575095a"><div class="ttname"><a href="classView.html#aa8456bd84f6f12ba59fcf61fb575095a">View::setMaxSize</a></div><div class="ttdeci">void setMaxSize(unsigned int m)</div><div class="ttdoc">Set the maximum view port dimension. </div><div class="ttdef"><b>Definition:</b> View.h:111</div></div>
<div class="ttc" id="classView_html_aaafd128b63bf2980755b0e0a72bcf2f3"><div class="ttname"><a href="classView.html#aaafd128b63bf2980755b0e0a72bcf2f3">View::getImageHeight</a></div><div class="ttdeci">unsigned int getImageHeight()</div><div class="ttdoc">Return the image height at our requested resolution. </div><div class="ttdef"><b>Definition:</b> View.h:228</div></div>
<div class="ttc" id="classView_html_a44ad60a768422d3fa8fbd7576950080a"><div class="ttname"><a href="classView.html#a44ad60a768422d3fa8fbd7576950080a">View::View</a></div><div class="ttdeci">View()</div><div class="ttdoc">Whether to perform histogram equalization. </div><div class="ttdef"><b>Definition:</b> View.h:87</div></div>
<div class="ttc" id="classView_html_a5ac9e196f50d7dff4d4dab53f224d748"><div class="ttname"><a href="classView.html#a5ac9e196f50d7dff4d4dab53f224d748">View::maintain_aspect</a></div><div class="ttdeci">bool maintain_aspect</div><div class="ttdoc">Flip (1=horizontal, 2=vertical) </div><div class="ttdef"><b>Definition:</b> View.h:77</div></div>
<div class="ttc" id="classView_html_a0eec96d2a3ec25abba83d639737111be"><div class="ttname"><a href="classView.html#a0eec96d2a3ec25abba83d639737111be">View::viewPortSet</a></div><div class="ttdeci">bool viewPortSet()</div><div class="ttdoc">Indicate whether the viewport has been set. </div></div>
<div class="ttc" id="classView_html_ae4d962c68d2c740d5b74784420624b5c"><div class="ttname"><a href="classView.html#ae4d962c68d2c740d5b74784420624b5c">View::colourspace</a></div><div class="ttdeci">ColourSpaces colourspace</div><div class="ttdoc">Number of quality layers. </div><div class="ttdef"><b>Definition:</b> View.h:74</div></div>
<div class="ttc" id="classView_html"><div class="ttname"><a href="classView.html">View</a></div><div class="ttdoc">Class to intelligently handle Image Transforms. </div><div class="ttdef"><b>Definition:</b> View.h:36</div></div>
<div class="ttc" id="classView_html_ab8f56e796bef6f4f53a2e4b0b96b27e5"><div class="ttname"><a href="classView.html#ab8f56e796bef6f4f53a2e4b0b96b27e5">View::cmapped</a></div><div class="ttdeci">bool cmapped</div><div class="ttdoc">Shading incident light angles (x,y,z) </div><div class="ttdef"><b>Definition:</b> View.h:69</div></div>
<div class="ttc" id="classView_html_a97559125ceaddb8a589c390934a338c8"><div class="ttname"><a href="classView.html#a97559125ceaddb8a589c390934a338c8">View::output_format</a></div><div class="ttdeci">CompressionType output_format</div><div class="ttdoc">Indicate whether we should embed ICC profiles. </div><div class="ttdef"><b>Definition:</b> View.h:80</div></div>
<div class="ttc" id="classView_html_ae0a2fd77c94dd0c6e9a1698df98eecd6"><div class="ttname"><a href="classView.html#ae0a2fd77c94dd0c6e9a1698df98eecd6">View::floatProcessing</a></div><div class="ttdeci">bool floatProcessing()</div><div class="ttdoc">Whether view requires floating point processing. </div><div class="ttdef"><b>Definition:</b> View.h:259</div></div>
<div class="ttc" id="classView_html_a77101965d8b2943fb5ca6425823ffa91"><div class="ttname"><a href="classView.html#a77101965d8b2943fb5ca6425823ffa91">View::getMaxSize</a></div><div class="ttdeci">unsigned int getMaxSize()</div><div class="ttdoc">Get the maximum allowed output size. </div><div class="ttdef"><b>Definition:</b> View.h:116</div></div>
<div class="ttc" id="classView_html_a38d3581c0e6407d921dea25716dc4fd9"><div class="ttname"><a href="classView.html#a38d3581c0e6407d921dea25716dc4fd9">View::getViewLeft</a></div><div class="ttdeci">unsigned int getViewLeft()</div><div class="ttdoc">Return the left pixel of the viewport. </div></div>
<div class="ttc" id="classView_html_ab9adf6e09e14cd2f13369cf90d3159ad"><div class="ttname"><a href="classView.html#ab9adf6e09e14cd2f13369cf90d3159ad">View::getImageWidth</a></div><div class="ttdeci">unsigned int getImageWidth()</div><div class="ttdoc">Return the image width at our requested resolution. </div><div class="ttdef"><b>Definition:</b> View.h:224</div></div>
<div class="ttc" id="classView_html_a87e07b51f39c15b94a41decae5c68e91"><div class="ttname"><a href="classView.html#a87e07b51f39c15b94a41decae5c68e91">View::getRequestHeight</a></div><div class="ttdeci">unsigned int getRequestHeight()</div><div class="ttdoc">Get the size of the requested height. </div></div>
<div class="ttc" id="classView_html_a6b373f00ca8790738c20ea85cc07b175"><div class="ttname"><a href="classView.html#a6b373f00ca8790738c20ea85cc07b175">View::getRequestWidth</a></div><div class="ttdeci">unsigned int getRequestWidth()</div><div class="ttdoc">Get the size of the requested width. </div></div>
<div class="ttc" id="classView_html_af6c40d3b25d54873cac0217fb1f33e08"><div class="ttname"><a href="classView.html#af6c40d3b25d54873cac0217fb1f33e08">View::getViewHeight</a></div><div class="ttdeci">unsigned int getViewHeight()</div><div class="ttdoc">Return the pixel height of the viewport. </div></div>
<div class="ttc" id="classView_html_a2bc5a28c964210ea39d1eb270c30200c"><div class="ttname"><a href="classView.html#a2bc5a28c964210ea39d1eb270c30200c">View::setViewTop</a></div><div class="ttdeci">void setViewTop(float y)</div><div class="ttdoc">Set the top co-ordinate of the viewport. </div></div>
<div class="ttc" id="classView_html_ae03ba688fc76fb0c43e3beff937e14aa"><div class="ttname"><a href="classView.html#ae03ba688fc76fb0c43e3beff937e14aa">View::setAllowUpscaling</a></div><div class="ttdeci">void setAllowUpscaling(bool upscale)</div><div class="ttdoc">Set the allow_upscaling flag. </div><div class="ttdef"><b>Definition:</b> View.h:121</div></div>
<div class="ttc" id="classView_html_ad78accfff9a117df08c02d6061a60157"><div class="ttname"><a href="classView.html#ad78accfff9a117df08c02d6061a60157">View::setMaxLayers</a></div><div class="ttdeci">void setMaxLayers(int l)</div><div class="ttdoc">Limit the maximum number of quality layers we are allowed to decode. </div><div class="ttdef"><b>Definition:</b> View.h:213</div></div>
<div class="ttc" id="classView_html_a7f83224c343d82872399bbe6e8b45760"><div class="ttname"><a href="classView.html#a7f83224c343d82872399bbe6e8b45760">View::setRequestWidth</a></div><div class="ttdeci">void setRequestWidth(unsigned int w)</div><div class="ttdoc">Set the size of the requested width. </div><div class="ttdef"><b>Definition:</b> View.h:157</div></div>
<div class="ttc" id="classView_html_ac2d157433d47b53439fec339fc6be28e"><div class="ttname"><a href="classView.html#ac2d157433d47b53439fec339fc6be28e">View::layers</a></div><div class="ttdeci">int layers</div><div class="ttdoc">Maximum number of quality layers allowed. </div><div class="ttdef"><b>Definition:</b> View.h:73</div></div>
<div class="ttc" id="classView_html_aabd224b6dbb3dc642dc5f6ea73bb2d67"><div class="ttname"><a href="classView.html#aabd224b6dbb3dc642dc5f6ea73bb2d67">View::setMaxResolutions</a></div><div class="ttdeci">void setMaxResolutions(unsigned int r)</div><div class="ttdoc">Set the maximum view port dimension. </div><div class="ttdef"><b>Definition:</b> View.h:147</div></div>
<div class="ttc" id="classView_html_aefd2a49c9f07977af83d5ff3a8e4586f"><div class="ttname"><a href="classView.html#aefd2a49c9f07977af83d5ff3a8e4586f">View::setRequestHeight</a></div><div class="ttdeci">void setRequestHeight(unsigned int h)</div><div class="ttdoc">Set the size of the requested height. </div><div class="ttdef"><b>Definition:</b> View.h:169</div></div>
<div class="ttc" id="classView_html_a65d44ca93e3e4712909232ab5961e410"><div class="ttname"><a href="classView.html#a65d44ca93e3e4712909232ab5961e410">View::max_layers</a></div><div class="ttdeci">int max_layers</div><div class="ttdoc">Whether to invert colormap. </div><div class="ttdef"><b>Definition:</b> View.h:72</div></div>
<div class="ttc" id="classView_html_a89afa2a83e27664ebabe4d835a08fced"><div class="ttname"><a href="classView.html#a89afa2a83e27664ebabe4d835a08fced">View::allow_upscaling</a></div><div class="ttdeci">bool allow_upscaling</div><div class="ttdoc">Indicate whether aspect ratio should be maintained. </div><div class="ttdef"><b>Definition:</b> View.h:78</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><b>View.h</b></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>