⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qwt__double__rect_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00298"></a>00298 }   <a name="l00299"></a>00299 <a name="l00301"></a>00301 QwtDoubleRect::QwtDoubleRect():<a name="l00302"></a>00302     d_left(0.0),<a name="l00303"></a>00303     d_right(0.0),<a name="l00304"></a>00304     d_top(0.0),<a name="l00305"></a>00305     d_bottom(0.0)<a name="l00306"></a>00306 {<a name="l00307"></a>00307 }<a name="l00308"></a>00308 <a name="l00313"></a>00313 QwtDoubleRect::QwtDoubleRect(<span class="keywordtype">double</span> left, <span class="keywordtype">double</span> top,<a name="l00314"></a>00314         <span class="keywordtype">double</span> width, <span class="keywordtype">double</span> height):<a name="l00315"></a>00315     d_left(left),<a name="l00316"></a>00316     d_right(left + width),<a name="l00317"></a>00317     d_top(top),<a name="l00318"></a>00318     d_bottom(top + height)<a name="l00319"></a>00319 {<a name="l00320"></a>00320 }<a name="l00321"></a>00321 <a name="l00326"></a>00326 QwtDoubleRect::QwtDoubleRect(<a name="l00327"></a>00327         <span class="keyword">const</span> QwtDoublePoint &amp;p, <span class="keyword">const</span> QwtDoubleSize &amp;size):<a name="l00328"></a>00328     d_left(p.x()),<a name="l00329"></a>00329     d_right(p.x() + size.width()),<a name="l00330"></a>00330     d_top(p.y()),<a name="l00331"></a>00331     d_bottom(p.y() + size.height())<a name="l00332"></a>00332 {<a name="l00333"></a>00333 }<a name="l00334"></a>00334 <a name="l00338"></a>00338 <span class="keywordtype">void</span> QwtDoubleRect::setRect(<span class="keywordtype">double</span> left, <span class="keywordtype">double</span> top, <a name="l00339"></a>00339     <span class="keywordtype">double</span> width, <span class="keywordtype">double</span> height)<a name="l00340"></a>00340 {<a name="l00341"></a>00341     d_left = left;<a name="l00342"></a>00342     d_right = left + width;<a name="l00343"></a>00343     d_top = top;<a name="l00344"></a>00344     d_bottom = top + height;<a name="l00345"></a>00345 }<a name="l00346"></a>00346 <a name="l00351"></a>00351 <span class="keywordtype">void</span> QwtDoubleRect::setSize(<span class="keyword">const</span> QwtDoubleSize &amp;size)<a name="l00352"></a>00352 {<a name="l00353"></a>00353     setWidth(size.width());<a name="l00354"></a>00354     setHeight(size.height());<a name="l00355"></a>00355 }<a name="l00356"></a>00356 <a name="l00363"></a>00363 QwtDoubleRect QwtDoubleRect::normalized()<span class="keyword"> const</span><a name="l00364"></a>00364 <span class="keyword"></span>{<a name="l00365"></a>00365     QwtDoubleRect r;<a name="l00366"></a>00366     <span class="keywordflow">if</span> ( d_right &lt; d_left ) <a name="l00367"></a>00367     {<a name="l00368"></a>00368         r.d_left = d_right;<a name="l00369"></a>00369         r.d_right = d_left;<a name="l00370"></a>00370     } <a name="l00371"></a>00371     <span class="keywordflow">else</span> <a name="l00372"></a>00372     {<a name="l00373"></a>00373         r.d_left = d_left;<a name="l00374"></a>00374         r.d_right = d_right; <a name="l00375"></a>00375     }<a name="l00376"></a>00376     <span class="keywordflow">if</span> ( d_bottom &lt; d_top ) <a name="l00377"></a>00377     { <a name="l00378"></a>00378         r.d_top = d_bottom; <a name="l00379"></a>00379         r.d_bottom = d_top;<a name="l00380"></a>00380     } <a name="l00381"></a>00381     <span class="keywordflow">else</span> <a name="l00382"></a>00382     {<a name="l00383"></a>00383         r.d_top = d_top;<a name="l00384"></a>00384         r.d_bottom = d_bottom;<a name="l00385"></a>00385     }<a name="l00386"></a>00386     <span class="keywordflow">return</span> r;<a name="l00387"></a>00387 }<a name="l00388"></a>00388 <a name="l00393"></a>00393 QwtDoubleRect QwtDoubleRect::unite(<span class="keyword">const</span> QwtDoubleRect &amp;other)<span class="keyword"> const</span><a name="l00394"></a>00394 <span class="keyword"></span>{<a name="l00395"></a>00395     <span class="keywordflow">return</span> *<span class="keyword">this</span> | other;<a name="l00396"></a>00396 }<a name="l00397"></a>00397 <a name="l00402"></a>00402 QwtDoubleRect QwtDoubleRect::intersect(<span class="keyword">const</span> QwtDoubleRect &amp;other)<span class="keyword"> const</span><a name="l00403"></a>00403 <span class="keyword"></span>{<a name="l00404"></a>00404     <span class="keywordflow">return</span> *<span class="keyword">this</span> &amp; other;<a name="l00405"></a>00405 }<a name="l00406"></a>00406 <a name="l00411"></a>00411 <span class="keywordtype">bool</span> QwtDoubleRect::intersects(<span class="keyword">const</span> QwtDoubleRect &amp;other)<span class="keyword"> const</span><a name="l00412"></a>00412 <span class="keyword"></span>{<a name="l00413"></a>00413     <span class="keywordflow">return</span> ( qwtMax(d_left, other.d_left) &lt;= qwtMin(d_right, other.d_right) ) &amp;&amp;<a name="l00414"></a>00414          ( qwtMax(d_top, other.d_top ) &lt;= qwtMin(d_bottom, other.d_bottom) );<a name="l00415"></a>00415 }<a name="l00416"></a>00416 <a name="l00418"></a>00418 <span class="keywordtype">bool</span> QwtDoubleRect::operator==(<span class="keyword">const</span> QwtDoubleRect &amp;other)<span class="keyword"> const</span><a name="l00419"></a>00419 <span class="keyword"></span>{<a name="l00420"></a>00420     <span class="keywordflow">return</span> d_left == other.d_left &amp;&amp; d_right == other.d_right &amp;&amp; <a name="l00421"></a>00421         d_top == other.d_top &amp;&amp; d_bottom == other.d_bottom;<a name="l00422"></a>00422 }<a name="l00423"></a>00423 <a name="l00425"></a>00425 <span class="keywordtype">bool</span> QwtDoubleRect::operator!=(<span class="keyword">const</span> QwtDoubleRect &amp;other)<span class="keyword"> const</span><a name="l00426"></a>00426 <span class="keyword"></span>{<a name="l00427"></a>00427     <span class="keywordflow">return</span> !operator==(other);<a name="l00428"></a>00428 }<a name="l00429"></a>00429 <a name="l00435"></a>00435 QwtDoubleRect QwtDoubleRect::operator|(<span class="keyword">const</span> QwtDoubleRect &amp;other)<span class="keyword"> const</span><a name="l00436"></a>00436 <span class="keyword"></span>{<a name="l00437"></a>00437     <span class="keywordflow">if</span> ( isEmpty() ) <a name="l00438"></a>00438         <span class="keywordflow">return</span> other;<a name="l00439"></a>00439 <a name="l00440"></a>00440     <span class="keywordflow">if</span> ( other.isEmpty() ) <a name="l00441"></a>00441         <span class="keywordflow">return</span> *<span class="keyword">this</span>;<a name="l00442"></a>00442         <a name="l00443"></a>00443     <span class="keyword">const</span> <span class="keywordtype">double</span> minX = qwtMin(d_left, other.d_left);<a name="l00444"></a>00444     <span class="keyword">const</span> <span class="keywordtype">double</span> maxX = qwtMax(d_right, other.d_right);<a name="l00445"></a>00445     <span class="keyword">const</span> <span class="keywordtype">double</span> minY = qwtMin(d_top, other.d_top);<a name="l00446"></a>00446     <span class="keyword">const</span> <span class="keywordtype">double</span> maxY = qwtMax(d_bottom, other.d_bottom);<a name="l00447"></a>00447 <a name="l00448"></a>00448     <span class="keywordflow">return</span> QwtDoubleRect(minX, minY, maxX - minX, maxY - minY);<a name="l00449"></a>00449 }<a name="l00450"></a>00450 <a name="l00455"></a>00455 QwtDoubleRect QwtDoubleRect::operator&amp;(<span class="keyword">const</span> QwtDoubleRect &amp;other)<span class="keyword"> const</span><a name="l00456"></a>00456 <span class="keyword"></span>{<a name="l00457"></a>00457     <span class="keywordflow">if</span> (isNull() || other.isNull())<a name="l00458"></a>00458         <span class="keywordflow">return</span> QwtDoubleRect();<a name="l00459"></a>00459 <a name="l00460"></a>00460     <span class="keyword">const</span> QwtDoubleRect r1 = normalized();<a name="l00461"></a>00461     <span class="keyword">const</span> QwtDoubleRect r2 = other.normalized();<a name="l00462"></a>00462 <a name="l00463"></a>00463     <span class="keyword">const</span> <span class="keywordtype">double</span> minX = qwtMax(r1.left(), r2.left());<a name="l00464"></a>00464     <span class="keyword">const</span> <span class="keywordtype">double</span> maxX = qwtMin(r1.right(), r2.right());<a name="l00465"></a>00465     <span class="keyword">const</span> <span class="keywordtype">double</span> minY = qwtMax(r1.top(), r2.top());<a name="l00466"></a>00466     <span class="keyword">const</span> <span class="keywordtype">double</span> maxY = qwtMin(r1.bottom(), r2.bottom());<a name="l00467"></a>00467 <a name="l00468"></a>00468     <span class="keywordflow">return</span> QwtDoubleRect(minX, minY, maxX - minX, maxY - minY);<a name="l00469"></a>00469 }<a name="l00470"></a>00470 <a name="l00472"></a>00472 QwtDoubleRect &amp;QwtDoubleRect::operator|=(<span class="keyword">const</span> QwtDoubleRect &amp;other)<a name="l00473"></a>00473 {<a name="l00474"></a>00474     *<span class="keyword">this</span> = *<span class="keyword">this</span> | other;<a name="l00475"></a>00475     <span class="keywordflow">return</span> *<span class="keyword">this</span>;<a name="l00476"></a>00476 }<a name="l00477"></a>00477 <a name="l00479"></a>00479 QwtDoubleRect &amp;QwtDoubleRect::operator&amp;=(<span class="keyword">const</span> QwtDoubleRect &amp;other)<a name="l00480"></a>00480 {<a name="l00481"></a>00481     *<span class="keyword">this</span> = *<span class="keyword">this</span> &amp; other;<a name="l00482"></a>00482     <span class="keywordflow">return</span> *<span class="keyword">this</span>;<a name="l00483"></a>00483 }<a name="l00484"></a>00484 <a name="l00486"></a>00486 QwtDoublePoint QwtDoubleRect::center()<span class="keyword"> const</span><a name="l00487"></a>00487 <span class="keyword"></span>{<a name="l00488"></a>00488     <span class="keywordflow">return</span> QwtDoublePoint(d_left + (d_right - d_left) / 2.0, <a name="l00489"></a>00489         d_top + (d_bottom - d_top) / 2.0);<a name="l00490"></a>00490 }<a name="l00491"></a>00491 <a name="l00499"></a>00499 <span class="keywordtype">bool</span> QwtDoubleRect::contains(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">bool</span> proper)<span class="keyword"> const</span><a name="l00500"></a>00500 <span class="keyword"></span>{<a name="l00501"></a>00501     <span class="keywordflow">if</span> ( proper )<a name="l00502"></a>00502         <span class="keywordflow">return</span> x &gt; d_left &amp;&amp; x &lt; d_right &amp;&amp; y &gt; d_top &amp;&amp; y &lt; d_bottom;<a name="l00503"></a>00503     <span class="keywordflow">else</span><a name="l00504"></a>00504         <span class="keywordflow">return</span> x &gt;= d_left &amp;&amp; x &lt;= d_right &amp;&amp; y &gt;= d_top &amp;&amp; y &lt;= d_bottom;<a name="l00505"></a>00505 }<a name="l00506"></a>00506 <a name="l00514"></a>00514 <span class="keywordtype">bool</span> QwtDoubleRect::contains(<span class="keyword">const</span> QwtDoublePoint &amp;p, <span class="keywordtype">bool</span> proper)<span class="keyword"> const</span><a name="l00515"></a>00515 <span class="keyword"></span>{<a name="l00516"></a>00516     <span class="keywordflow">return</span> contains(p.x(), p.y(), proper);<a name="l00517"></a>00517 }<a name="l00518"></a>00518 <a name="l00526"></a>00526 <span class="keywordtype">bool</span> QwtDoubleRect::contains(<span class="keyword">const</span> QwtDoubleRect &amp;other, <span class="keywordtype">bool</span> proper)<span class="keyword"> const</span><a name="l00527"></a>00527 <span class="keyword"></span>{<a name="l00528"></a>00528     <span class="keywordflow">return</span> contains(other.d_left, other.d_top, proper) &amp;&amp; <a name="l00529"></a>00529         contains(other.d_right, other.d_bottom, proper);<a name="l00530"></a>00530 }<a name="l00531"></a>00531 <a name="l00533"></a>00533 <span class="keywordtype">void</span> QwtDoubleRect::moveLeft(<span class="keywordtype">double</span> x)<a name="l00534"></a>00534 {<a name="l00535"></a>00535     <span class="keyword">const</span> <span class="keywordtype">double</span> w = width();<a name="l00536"></a>00536     d_left = x;<a name="l00537"></a>00537     d_right = d_left + w;<a name="l00538"></a>00538 }<a name="l00539"></a>00539 <a name="l00541"></a>00541 <span class="keywordtype">void</span> QwtDoubleRect::moveRight(<span class="keywordtype">double</span> x)<a name="l00542"></a>00542 {<a name="l00543"></a>00543     <span class="keyword">const</span> <span class="keywordtype">double</span> w = width();<a name="l00544"></a>00544     d_right = x;<a name="l00545"></a>00545     d_left = d_right - w;<a name="l00546"></a>00546 }<a name="l00547"></a>00547 <a name="l00549"></a>00549 <span class="keywordtype">void</span> QwtDoubleRect::moveTop(<span class="keywordtype">double</span> y)<a name="l00550"></a>00550 {<a name="l00551"></a>00551     <span class="keyword">const</span> <span class="keywordtype">double</span> h = height();<a name="l00552"></a>00552     d_top = y;<a name="l00553"></a>00553     d_bottom = d_top + h;<a name="l00554"></a>00554 }<a name="l00555"></a>00555 <a name="l00557"></a>00557 <span class="keywordtype">void</span> QwtDoubleRect::moveBottom(<span class="keywordtype">double</span> y)<a name="l00558"></a>00558 {<a name="l00559"></a>00559     <span class="keyword">const</span> <span class="keywordtype">double</span> h = height();<a name="l00560"></a>00560     d_bottom = y;<a name="l00561"></a>00561     d_top = d_bottom - h;<a name="l00562"></a>00562 }<a name="l00563"></a>00563 <a name="l00565"></a>00565 <span class="keywordtype">void</span> QwtDoubleRect::moveTo(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y)<a name="l00566"></a>00566 {<a name="l00567"></a>00567     moveLeft(x);<a name="l00568"></a>00568     moveTop(y);<a name="l00569"></a>00569 }<a name="l00570"></a>00570 <a name="l00572"></a>00572 <span class="keywordtype">void</span> QwtDoubleRect::moveBy(<span class="keywordtype">double</span> dx, <span class="keywordtype">double</span> dy)<a name="l00573"></a>00573 {<a name="l00574"></a>00574     d_left += dx;<a name="l00575"></a>00575     d_right += dx;<a name="l00576"></a>00576     d_top += dy;<a name="l00577"></a>00577     d_bottom += dy;<a name="l00578"></a>00578 }<a name="l00579"></a>00579 <a name="l00581"></a>00581 <span class="keywordtype">void</span> QwtDoubleRect::moveCenter(<span class="keyword">const</span> QwtDoublePoint &amp;pos)<a name="l00582"></a>00582 {<a name="l00583"></a>00583     moveCenter(pos.x(), pos.y());<a name="l00584"></a>00584 }<a name="l00585"></a>00585 <a name="l00587"></a>00587 <span class="keywordtype">void</span> QwtDoubleRect::moveCenter(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y)<a name="l00588"></a>00588 {<a name="l00589"></a>00589     moveTo(x - width() / 2.0, y - height() / 2.0);<a name="l00590"></a>00590 }<a name="l00591"></a>00591 <a name="l00592"></a>00592 <span class="preprocessor">#endif // QT_VERSION &lt; 0x040000</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 26 21:22:36 2007 for Qwt User's Guide by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -