File: stringDimensions_8h-source.html

package info (click to toggle)
lasi 1.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 1,420 kB
  • ctags: 1,269
  • sloc: cpp: 1,049; makefile: 13
file content (66 lines) | stat: -rw-r--r-- 8,652 bytes parent folder | download | duplicates (4)
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>LASi: stringDimensions.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.4 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;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>
    <li><a href="dirs.html"><span>Directories</span></a></li>
  </ul>
</div>
<div class="nav">
<a class="el" href="dir_844ccf4c9c5f524017223c512b74160f.html">src</a></div>
<h1>stringDimensions.h</h1><a href="stringDimensions_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
<a name="l00023"></a><a class="code" href="classStringDimensions.html">00023</a> <span class="keyword">class </span><a class="code" href="classStringDimensions.html" title="Class StringDimensions maintains the relevant dimensions of a text string realized...">StringDimensions</a> {
<a name="l00024"></a>00024 
<a name="l00025"></a>00025   <span class="keyword">private</span>:
<a name="l00026"></a>00026   
<a name="l00027"></a><a class="code" href="classStringDimensions.html#41ee8226f88016fee772b111f5f99c75">00027</a>   <span class="keywordtype">double</span> <a class="code" href="classStringDimensions.html#41ee8226f88016fee772b111f5f99c75">xadv</a>;
<a name="l00028"></a><a class="code" href="classStringDimensions.html#dd90080bcdecc910b8acb635afebd9a4">00028</a>   <span class="keywordtype">double</span> <a class="code" href="classStringDimensions.html#dd90080bcdecc910b8acb635afebd9a4">ymin</a>;
<a name="l00029"></a><a class="code" href="classStringDimensions.html#d4de9c5572ca572491eef4e848c0b366">00029</a>   <span class="keywordtype">double</span> <a class="code" href="classStringDimensions.html#d4de9c5572ca572491eef4e848c0b366">ymax</a>;
<a name="l00030"></a><a class="code" href="classStringDimensions.html#1ce95e111d24ddcdd9e050f314bddcac">00030</a>   <span class="keywordtype">double</span> <a class="code" href="classStringDimensions.html#1ce95e111d24ddcdd9e050f314bddcac">lineSpacingFactor</a>;
<a name="l00031"></a>00031   
<a name="l00032"></a>00032   <span class="keyword">public</span>:
<a name="l00033"></a>00033   
<a name="l00034"></a>00034   <span class="comment">// Constructor:</span>
<a name="l00035"></a><a class="code" href="classStringDimensions.html#f02b6588311f81d811e412e64b93b5c4">00035</a>   <a class="code" href="classStringDimensions.html#f02b6588311f81d811e412e64b93b5c4">StringDimensions</a>(<span class="keywordtype">double</span> xAdv=0.0, <span class="keywordtype">double</span> yMin=0.0,<span class="keywordtype">double</span> yMax=0.0,<span class="keywordtype">double</span> spacingFactor=1.2){
<a name="l00036"></a>00036     <a class="code" href="classStringDimensions.html#41ee8226f88016fee772b111f5f99c75">xadv</a> = xAdv;
<a name="l00037"></a>00037     <a class="code" href="classStringDimensions.html#dd90080bcdecc910b8acb635afebd9a4">ymin</a> = yMin;
<a name="l00038"></a>00038     <a class="code" href="classStringDimensions.html#d4de9c5572ca572491eef4e848c0b366">ymax</a> = yMax;
<a name="l00039"></a>00039     <a class="code" href="classStringDimensions.html#1ce95e111d24ddcdd9e050f314bddcac">lineSpacingFactor</a> = spacingFactor;
<a name="l00040"></a>00040     
<a name="l00041"></a>00041   }
<a name="l00042"></a>00042   
<a name="l00043"></a>00043   <span class="comment">//</span>
<a name="l00044"></a>00044   <span class="comment">// Set methods: Accrue mins and maxs:</span>
<a name="l00045"></a>00045   <span class="comment">// On the Y-axis, just take the true min and max.</span>
<a name="l00046"></a>00046   <span class="comment">// </span>
<a name="l00047"></a>00047   <span class="comment">// On the X-axis, sum up all the individual x-advances</span>
<a name="l00048"></a>00048   <span class="comment">// in order to get the overall bounding box:</span>
<a name="l00049"></a>00049   <span class="comment">// </span>
<a name="l00050"></a>00050   
<a name="l00054"></a><a class="code" href="classStringDimensions.html#6b48a8bd305aed180d61db7630f3da13">00054</a>   <span class="keywordtype">void</span> <a class="code" href="classStringDimensions.html#6b48a8bd305aed180d61db7630f3da13" title="Sum up the individual x advances of each glyph:.">accrueXAdvance</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> xAdv){ <a class="code" href="classStringDimensions.html#41ee8226f88016fee772b111f5f99c75">xadv</a> += xAdv; }
<a name="l00055"></a>00055   
<a name="l00059"></a><a class="code" href="classStringDimensions.html#3d79239053ab690c01c3bb26218e3760">00059</a>   <span class="keywordtype">void</span> <a class="code" href="classStringDimensions.html#3d79239053ab690c01c3bb26218e3760" title="Keep a running tab on the minimum y value (descent) from all glyphs:.">setYMin</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> yMin){ <span class="keywordflow">if</span>( yMin &lt; <a class="code" href="classStringDimensions.html#dd90080bcdecc910b8acb635afebd9a4">ymin</a> ) <a class="code" href="classStringDimensions.html#dd90080bcdecc910b8acb635afebd9a4">ymin</a> = yMin; }
<a name="l00063"></a><a class="code" href="classStringDimensions.html#8e9a664f330178f3349a1bc42f17305f">00063</a>   <span class="keywordtype">void</span> <a class="code" href="classStringDimensions.html#8e9a664f330178f3349a1bc42f17305f" title="Keep a running tab on the maximum y value (ascent) from all glyphs:.">setYMax</a>(<span class="keyword">const</span> <span class="keywordtype">double</span> yMax){ <span class="keywordflow">if</span>( yMax &gt; <a class="code" href="classStringDimensions.html#d4de9c5572ca572491eef4e848c0b366">ymax</a> ) <a class="code" href="classStringDimensions.html#d4de9c5572ca572491eef4e848c0b366">ymax</a> = yMax; }
<a name="l00064"></a>00064   
<a name="l00065"></a>00065   <span class="comment">// Get methods:</span>
<a name="l00066"></a><a class="code" href="classStringDimensions.html#101735d1edfc13a1a0a07a17b8fdcf50">00066</a>   <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classStringDimensions.html#101735d1edfc13a1a0a07a17b8fdcf50">getXAdvance</a>(){ <span class="keywordflow">return</span> <a class="code" href="classStringDimensions.html#41ee8226f88016fee772b111f5f99c75">xadv</a>; }
<a name="l00067"></a><a class="code" href="classStringDimensions.html#98d0e88b63394326c9d2572c1f211b71">00067</a>   <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classStringDimensions.html#98d0e88b63394326c9d2572c1f211b71">getYMin</a>(){ <span class="keywordflow">return</span> <a class="code" href="classStringDimensions.html#dd90080bcdecc910b8acb635afebd9a4">ymin</a>; }
<a name="l00068"></a><a class="code" href="classStringDimensions.html#e37ed1d08e7ba5fffb03712190fdeb30">00068</a>   <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classStringDimensions.html#e37ed1d08e7ba5fffb03712190fdeb30">getYMax</a>(){ <span class="keywordflow">return</span> <a class="code" href="classStringDimensions.html#d4de9c5572ca572491eef4e848c0b366">ymax</a>; }
<a name="l00069"></a>00069   
<a name="l00074"></a><a class="code" href="classStringDimensions.html#e8946f159633e58ffc71618adcb2a091">00074</a>   <span class="keyword">const</span> <span class="keywordtype">double</span> <a class="code" href="classStringDimensions.html#e8946f159633e58ffc71618adcb2a091" title="Line spacing is just the maximum ascent minus the maximum descent multiplied by the...">getLineSpacing</a>(){ <span class="keywordflow">return</span> (<a class="code" href="classStringDimensions.html#d4de9c5572ca572491eef4e848c0b366">ymax</a>-<a class="code" href="classStringDimensions.html#dd90080bcdecc910b8acb635afebd9a4">ymin</a>)*<a class="code" href="classStringDimensions.html#1ce95e111d24ddcdd9e050f314bddcac">lineSpacingFactor</a>; }
<a name="l00075"></a>00075   
<a name="l00076"></a>00076 };
<a name="l00077"></a>00077 
</pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Fri Feb 8 17:25:20 2008 for LASi by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
</body>
</html>