📄 wg__rect_8cpp-source.html
字号:
00092 <a class="code" href="classwGui_1_1CRect.html#n2">m_Top</a> -= iGrowAmount;00093 <a class="code" href="classwGui_1_1CRect.html#n0">m_Left</a> -= iGrowAmount;00094 <a class="code" href="classwGui_1_1CRect.html#n1">m_Right</a> += iGrowAmount;00095 <a class="code" href="classwGui_1_1CRect.html#n3">m_Bottom</a> += iGrowAmount;00096 00097 <span class="keywordflow">return</span> *<span class="keyword">this</span>;00098 }00099 00100 <a name="l00101"></a><a class="code" href="classwGui_1_1CRect.html#a29">00101</a> <a class="code" href="classwGui_1_1CRect.html">CRect</a>& CRect::Move(<span class="keywordtype">int</span> iOffsetX, <span class="keywordtype">int</span> iOffsetY)00102 {00103 <a class="code" href="classwGui_1_1CRect.html#n2">m_Top</a> += iOffsetX;00104 <a class="code" href="classwGui_1_1CRect.html#n0">m_Left</a> += iOffsetY;00105 <a class="code" href="classwGui_1_1CRect.html#n1">m_Right</a> += iOffsetX;00106 <a class="code" href="classwGui_1_1CRect.html#n3">m_Bottom</a> += iOffsetY;00107 00108 <span class="keywordflow">return</span> *<span class="keyword">this</span>;00109 }00110 00111 <a name="l00112"></a><a class="code" href="classwGui_1_1CRect.html#a30">00112</a> <span class="keywordtype">bool</span> CRect::Overlaps(<span class="keyword">const</span> <a class="code" href="classwGui_1_1CRect.html">CRect</a>& r)00113 {00114 <span class="keywordtype">bool</span> bOverlap = <span class="keyword">false</span>;00115 00116 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(r.<a class="code" href="classwGui_1_1CRect.html#a13">TopLeft</a>()) == <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a> || <a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(r.<a class="code" href="classwGui_1_1CRect.html#a14">TopRight</a>()) == <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a> || <a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(r.<a class="code" href="classwGui_1_1CRect.html#a16">BottomRight</a>()) == <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a>00117 || <a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(r.<a class="code" href="classwGui_1_1CRect.html#a15">BottomLeft</a>()) == <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a> || r.<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(<a class="code" href="classwGui_1_1CRect.html#a13">TopLeft</a>()) == <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a> || r.<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(<a class="code" href="classwGui_1_1CRect.html#a14">TopRight</a>()) == <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a>00118 || r.<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(<a class="code" href="classwGui_1_1CRect.html#a16">BottomRight</a>()) == <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a> || r.<a class="code" href="classwGui_1_1CRect.html#a32">HitTest</a>(<a class="code" href="classwGui_1_1CRect.html#a15">BottomLeft</a>()) == <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a>)00119 {00120 bOverlap = <span class="keyword">true</span>;00121 }00122 00123 <span class="comment">// TODO: Still need to check for one more case where no corner lies in another rect</span>00124 00125 <span class="keywordflow">return</span> bOverlap;00126 }00127 00128 <a name="l00129"></a><a class="code" href="classwGui_1_1CRect.html#a31">00129</a> <span class="keywordtype">void</span> CRect::ClipTo(<span class="keyword">const</span> <a class="code" href="classwGui_1_1CRect.html">CRect</a>& r)00130 {00131 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#n0">m_Left</a> < r.<a class="code" href="classwGui_1_1CRect.html#a10">Left</a>())00132 {00133 <a class="code" href="classwGui_1_1CRect.html#n0">m_Left</a> = r.<a class="code" href="classwGui_1_1CRect.html#a10">Left</a>();00134 }00135 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#n1">m_Right</a> < r.<a class="code" href="classwGui_1_1CRect.html#a10">Left</a>())00136 {00137 <a class="code" href="classwGui_1_1CRect.html#n1">m_Right</a> = r.<a class="code" href="classwGui_1_1CRect.html#a10">Left</a>();00138 }00139 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#n2">m_Top</a> < r.<a class="code" href="classwGui_1_1CRect.html#a9">Top</a>())00140 {00141 <a class="code" href="classwGui_1_1CRect.html#n2">m_Top</a> = r.<a class="code" href="classwGui_1_1CRect.html#a9">Top</a>();00142 }00143 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#n3">m_Bottom</a> < r.<a class="code" href="classwGui_1_1CRect.html#a9">Top</a>())00144 {00145 <a class="code" href="classwGui_1_1CRect.html#n3">m_Bottom</a> = r.<a class="code" href="classwGui_1_1CRect.html#a9">Top</a>();00146 }00147 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#n1">m_Right</a> > r.<a class="code" href="classwGui_1_1CRect.html#a11">Right</a>())00148 {00149 <a class="code" href="classwGui_1_1CRect.html#n1">m_Right</a> = r.<a class="code" href="classwGui_1_1CRect.html#a11">Right</a>();00150 }00151 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#n0">m_Left</a> > r.<a class="code" href="classwGui_1_1CRect.html#a11">Right</a>())00152 {00153 <a class="code" href="classwGui_1_1CRect.html#n0">m_Left</a> = r.<a class="code" href="classwGui_1_1CRect.html#a11">Right</a>();00154 }00155 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#n3">m_Bottom</a> > r.<a class="code" href="classwGui_1_1CRect.html#a12">Bottom</a>())00156 {00157 <a class="code" href="classwGui_1_1CRect.html#n3">m_Bottom</a> = r.<a class="code" href="classwGui_1_1CRect.html#a12">Bottom</a>();00158 }00159 <span class="keywordflow">if</span> (<a class="code" href="classwGui_1_1CRect.html#n2">m_Top</a> > r.<a class="code" href="classwGui_1_1CRect.html#a12">Bottom</a>())00160 {00161 <a class="code" href="classwGui_1_1CRect.html#n2">m_Top</a> = r.<a class="code" href="classwGui_1_1CRect.html#a12">Bottom</a>();00162 }00163 }00164 00165 00166 <span class="comment">// test to see if the point lies within the rect</span><a name="l00167"></a><a class="code" href="classwGui_1_1CRect.html#a32">00167</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> CRect::HitTest(<span class="keyword">const</span> <a class="code" href="classwGui_1_1CPoint.html">CPoint</a>& p)<span class="keyword"> const</span>00168 <span class="keyword"></span>{00169 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> eRelPos = 0;00170 00171 eRelPos |= (p.<a class="code" href="classwGui_1_1CPoint.html#a6">XPos</a>() < <a class="code" href="classwGui_1_1CRect.html#n0">m_Left</a>) ? <a class="code" href="classwGui_1_1CRect.html#s5s2">RELPOS_LEFT</a> : 0;00172 eRelPos |= (p.<a class="code" href="classwGui_1_1CPoint.html#a7">YPos</a>() < <a class="code" href="classwGui_1_1CRect.html#n2">m_Top</a>) ? <a class="code" href="classwGui_1_1CRect.html#s5s0">RELPOS_ABOVE</a>: 0;00173 eRelPos |= (p.<a class="code" href="classwGui_1_1CPoint.html#a6">XPos</a>() > <a class="code" href="classwGui_1_1CRect.html#n1">m_Right</a>) ? <a class="code" href="classwGui_1_1CRect.html#s5s3">RELPOS_RIGHT</a> : 0;00174 eRelPos |= (p.<a class="code" href="classwGui_1_1CPoint.html#a7">YPos</a>() > <a class="code" href="classwGui_1_1CRect.html#n3">m_Bottom</a>) ? <a class="code" href="classwGui_1_1CRect.html#s5s1">RELPOS_BELOW</a>: 0;00175 eRelPos |= (p.<a class="code" href="classwGui_1_1CPoint.html#a6">XPos</a>() >= <a class="code" href="classwGui_1_1CRect.html#n0">m_Left</a> && p.<a class="code" href="classwGui_1_1CPoint.html#a6">XPos</a>() <= <a class="code" href="classwGui_1_1CRect.html#n1">m_Right</a> &&00176 p.<a class="code" href="classwGui_1_1CPoint.html#a7">YPos</a>() >= <a class="code" href="classwGui_1_1CRect.html#n2">m_Top</a> && p.<a class="code" href="classwGui_1_1CPoint.html#a7">YPos</a>() <= <a class="code" href="classwGui_1_1CRect.html#n3">m_Bottom</a>) ? <a class="code" href="classwGui_1_1CRect.html#s5s4">RELPOS_INSIDE</a> : 0;00177 00178 <span class="keywordflow">return</span> eRelPos;00179 }00180 00181 }00182 </pre></div><hr><address style="align: right;"><small>Generated on Sat Oct 25 12:43:24 2003 for wGui by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -