File: plpoint_8h-source.html

package info (click to toggle)
paintlib 2.6.2-8
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,900 kB
  • ctags: 3,875
  • sloc: cpp: 25,209; sh: 10,600; ansic: 1,891; makefile: 119
file content (197 lines) | stat: -rw-r--r-- 11,334 bytes parent folder | download | duplicates (2)
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>paintlib: plpoint.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a></div>
<h1>plpoint.h</h1><div class="fragment"><pre>00001 <span class="comment">/*</span>
00002 <span class="comment">/--------------------------------------------------------------------</span>
00003 <span class="comment">|</span>
00004 <span class="comment">|      $Id: plpoint_8h-source.html,v 1.4 2004/09/15 15:26:32 uzadow Exp $</span>
00005 <span class="comment">|</span>
00006 <span class="comment">|      Copyright (c) 1996-2002 Ulrich von Zadow</span>
00007 <span class="comment">|</span>
00008 <span class="comment">\--------------------------------------------------------------------</span>
00009 <span class="comment">*/</span>
00010 
00011 <span class="preprocessor">#ifndef INCL_PLPOINT</span>
00012 <span class="preprocessor"></span><span class="preprocessor">#define INCL_PLPOINT</span>
00013 <span class="preprocessor"></span><span class="comment"></span>
00014 <span class="comment">//! Simple point class for 2d integer coordinate manipulations. This class</span>
00015 <span class="comment">//! contains only inline functions and nothing virtual. Its member variables</span>
00016 <span class="comment">//! are public.</span>
<a name="l00017"></a><a class="code" href="classPLPoint.html">00017</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classPLPoint.html">PLPoint</a>
00018 {
00019 <span class="keyword">public</span>:<span class="comment"></span>
00020 <span class="comment">  //!</span>
00021 <span class="comment"></span>  <span class="keywordtype">int</span> x;<span class="comment"></span>
00022 <span class="comment">  //! </span>
00023 <span class="comment"></span>  <span class="keywordtype">int</span> y;
00024 <span class="comment"></span>
00025 <span class="comment">  //!</span>
00026 <span class="comment"></span>  <a class="code" href="classPLPoint.html">PLPoint</a>
00027   ();
00028 <span class="comment"></span>
00029 <span class="comment">  //!</span>
00030 <span class="comment"></span>  <a class="code" href="classPLPoint.html">PLPoint</a>
00031   ( <span class="keywordtype">int</span> X,
00032     <span class="keywordtype">int</span> Y
00033   );
00034 <span class="comment"></span>
00035 <span class="comment">  //!</span>
00036 <span class="comment"></span>  <span class="keywordtype">bool</span> <span class="keyword">operator</span> ==
00037   ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00038   ) <span class="keyword">const</span>;
00039 <span class="comment"></span>
00040 <span class="comment">  //!</span>
00041 <span class="comment"></span>  <span class="keywordtype">bool</span> <span class="keyword">operator</span> !=
00042   ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00043   ) <span class="keyword">const</span>;
00044 <span class="comment"></span>
00045 <span class="comment">  //!</span>
00046 <span class="comment"></span>  <span class="keywordtype">void</span> <span class="keyword">operator</span> +=
00047   ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00048   );
00049 <span class="comment"></span>
00050 <span class="comment">  //!</span>
00051 <span class="comment"></span>  <span class="keywordtype">void</span> <span class="keyword">operator</span> -=
00052   ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00053   );
00054 <span class="comment"></span>
00055 <span class="comment">  //!</span>
00056 <span class="comment"></span>  <a class="code" href="classPLPoint.html">PLPoint</a> <span class="keyword">operator</span> -
00057   () <span class="keyword">const</span>;
00058 <span class="comment"></span>
00059 <span class="comment">  //!</span>
00060 <span class="comment"></span>  <a class="code" href="classPLPoint.html">PLPoint</a> <span class="keyword">operator</span> +
00061   ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00062   ) <span class="keyword">const</span>;
00063 <span class="comment"></span>
00064 <span class="comment">  //!</span>
00065 <span class="comment"></span>  <a class="code" href="classPLPoint.html">PLPoint</a> <span class="keyword">operator</span> -
00066   ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00067   ) <span class="keyword">const</span>;
00068 <span class="comment"></span>
00069 <span class="comment">  //!</span>
00070 <span class="comment"></span>  <a class="code" href="classPLPoint.html">PLPoint</a> <span class="keyword">operator</span> /
00071   ( <span class="keywordtype">double</span> f
00072   ) <span class="keyword">const</span>;
00073 };
00074 
00075 <span class="keyword">inline</span> PLPoint::PLPoint
00076 ()
00077 {}
00078 
00079 
00080 <span class="keyword">inline</span> PLPoint::PLPoint
00081 ( <span class="keywordtype">int</span> X,
00082   <span class="keywordtype">int</span> Y
00083 )
00084 {
00085   x = X;
00086   y = Y;
00087 }
00088 
00089 <span class="keyword">inline</span> <span class="keywordtype">bool</span> PLPoint::operator ==
00090 ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00091 ) <span class="keyword">const</span>
00092 {
00093   <span class="keywordflow">return</span> (x == pt.x &amp;&amp; y == pt.y);
00094 }
00095 
00096 <span class="keyword">inline</span> <span class="keywordtype">bool</span> PLPoint::operator !=
00097 ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00098 ) <span class="keyword">const</span>
00099 {
00100   <span class="keywordflow">return</span> (x != pt.x || y != pt.y);
00101 }
00102 
00103 <span class="keyword">inline</span> <span class="keywordtype">void</span> PLPoint::operator +=
00104 ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00105 )
00106 {
00107   x += pt.x;
00108   y += pt.y;
00109 }
00110 
00111 <span class="keyword">inline</span> <span class="keywordtype">void</span> PLPoint::operator -=
00112 ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00113 )
00114 {
00115   x -= pt.x;
00116   y -= pt.y;
00117 }
00118 
00119 <span class="keyword">inline</span> <a class="code" href="classPLPoint.html">PLPoint</a> PLPoint::operator -
00120 () <span class="keyword">const</span>
00121 {
00122   <span class="keywordflow">return</span> <a class="code" href="classPLPoint.html">PLPoint</a>(-x, -y);
00123 }
00124 
00125 <span class="keyword">inline</span> <a class="code" href="classPLPoint.html">PLPoint</a> PLPoint::operator +
00126 ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00127 ) <span class="keyword">const</span>
00128 {
00129   <span class="keywordflow">return</span> <a class="code" href="classPLPoint.html">PLPoint</a>(x + pt.x, y + pt.y);
00130 }
00131 
00132 <span class="keyword">inline</span> <a class="code" href="classPLPoint.html">PLPoint</a> PLPoint::operator -
00133 ( <span class="keyword">const</span> <a class="code" href="classPLPoint.html">PLPoint</a> &amp; pt
00134 ) <span class="keyword">const</span>
00135 {
00136   <span class="keywordflow">return</span> <a class="code" href="classPLPoint.html">PLPoint</a>(x - pt.x, y - pt.y);
00137 }
00138 
00139 <span class="keyword">inline</span> <a class="code" href="classPLPoint.html">PLPoint</a> PLPoint::operator /
00140   ( <span class="keywordtype">double</span> f
00141   ) <span class="keyword">const</span>
00142 {
00143   <span class="keywordflow">return</span> <a class="code" href="classPLPoint.html">PLPoint</a> (<span class="keywordtype">int</span>(x/f), <span class="keywordtype">int</span>(y/f));
00144 }
00145 
00146 <span class="preprocessor">#endif</span>
00147 <span class="preprocessor"></span>
00148 <span class="comment">/*</span>
00149 <span class="comment">/--------------------------------------------------------------------</span>
00150 <span class="comment">|</span>
00151 <span class="comment">|      $Log: plpoint_8h-source.html,v $
00151 <span class="comment">|      Revision 1.4  2004/09/15 15:26:32  uzadow
00151 <span class="comment">|      Linux compatibility changes, doc update.
00151 <span class="comment">|</span>
00152 <span class="comment">|      Revision 1.9  2004/06/06 12:56:38  uzadow</span>
00153 <span class="comment">|      Doxygenified documentation.</span>
00154 <span class="comment">|</span>
00155 <span class="comment">|      Revision 1.8  2002/03/31 13:36:42  uzadow</span>
00156 <span class="comment">|      Updated copyright.</span>
00157 <span class="comment">|</span>
00158 <span class="comment">|      Revision 1.7  2001/10/16 17:12:26  uzadow</span>
00159 <span class="comment">|      Added support for resolution information (Luca Piergentili)</span>
00160 <span class="comment">|</span>
00161 <span class="comment">|      Revision 1.6  2001/09/28 19:50:56  uzadow</span>
00162 <span class="comment">|      Added some 24 bpp stuff &amp; other minor features.</span>
00163 <span class="comment">|</span>
00164 <span class="comment">|      Revision 1.5  2001/09/24 14:18:42  uzadow</span>
00165 <span class="comment">|      Added operator -, improved const-correctness.</span>
00166 <span class="comment">|</span>
00167 <span class="comment">|      Revision 1.4  2001/09/16 19:03:22  uzadow</span>
00168 <span class="comment">|      Added global name prefix PL, changed most filenames.</span>
00169 <span class="comment">|</span>
00170 <span class="comment">|      Revision 1.3  2000/11/21 20:20:36  uzadow</span>
00171 <span class="comment">|      Changed bool to bool.</span>
00172 <span class="comment">|</span>
00173 <span class="comment">|      Revision 1.2  2000/01/10 23:52:59  Ulrich von Zadow</span>
00174 <span class="comment">|      Changed formatting &amp; removed tabs.</span>
00175 <span class="comment">|</span>
00176 <span class="comment">|      Revision 1.1  1999/12/09 16:35:58  Ulrich von Zadow</span>
00177 <span class="comment">|      Added PLPoint.</span>
00178 <span class="comment">|</span>
00179 <span class="comment">|</span>
00180 <span class="comment">\--------------------------------------------------------------------</span>
00181 <span class="comment">*/</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Sep 13 16:16:40 2004 for paintlib by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.2 </small></address>
</body>
</html>