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

📄 qwt__slider_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00342"></a>00342 <span class="preprocessor">#else</span><a name="l00343"></a>00343 <span class="preprocessor"></span>            palette().brush(QPalette::Mid)<a name="l00344"></a>00344 <span class="preprocessor">#endif</span><a name="l00345"></a>00345 <span class="preprocessor"></span>        );<a name="l00346"></a>00346     }<a name="l00347"></a>00347 <a name="l00348"></a>00348     <span class="keywordflow">if</span> ( d_data-&gt;bgStyle &amp; BgSlot)<a name="l00349"></a>00349     {<a name="l00350"></a>00350         <span class="keywordtype">int</span> ws = 4;<a name="l00351"></a>00351         <span class="keywordtype">int</span> ds = d_data-&gt;thumbLength / 2 - 4;<a name="l00352"></a>00352         <span class="keywordflow">if</span> ( ds &lt; 1 )<a name="l00353"></a>00353             ds = 1;<a name="l00354"></a>00354 <a name="l00355"></a>00355         QRect rSlot;<a name="l00356"></a>00356         <span class="keywordflow">if</span> (<a class="code" href="class_qwt_abstract_slider.html#4d2521b9c31ec64b71d8e1771b156d88">orientation</a>() == Qt::Horizontal)<a name="l00357"></a>00357         {<a name="l00358"></a>00358             <span class="keywordflow">if</span> ( cr.height() &amp; 1 )<a name="l00359"></a>00359                 ws++;<a name="l00360"></a>00360             rSlot = QRect(cr.x() + ds, <a name="l00361"></a>00361                     cr.y() + (cr.height() - ws) / 2,<a name="l00362"></a>00362                     cr.width() - 2 * ds, ws);<a name="l00363"></a>00363         }<a name="l00364"></a>00364         <span class="keywordflow">else</span><a name="l00365"></a>00365         {<a name="l00366"></a>00366             <span class="keywordflow">if</span> ( cr.width() &amp; 1 )<a name="l00367"></a>00367                 ws++;<a name="l00368"></a>00368             rSlot = QRect(cr.x() + (cr.width() - ws) / 2, <a name="l00369"></a>00369                     cr.y() + ds,<a name="l00370"></a>00370                     ws, cr.height() - 2 * ds);<a name="l00371"></a>00371         }<a name="l00372"></a>00372         p-&gt;fillRect(rSlot.x(), rSlot.y(), rSlot.width(), rSlot.height(),<a name="l00373"></a>00373 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00374"></a>00374 <span class="preprocessor"></span>            colorGroup().brush(QColorGroup::Dark)<a name="l00375"></a>00375 <span class="preprocessor">#else</span><a name="l00376"></a>00376 <span class="preprocessor"></span>            palette().brush(QPalette::Dark)<a name="l00377"></a>00377 <span class="preprocessor">#endif</span><a name="l00378"></a>00378 <span class="preprocessor"></span>        );<a name="l00379"></a>00379         qDrawShadePanel(p, rSlot.x(), rSlot.y(),<a name="l00380"></a>00380             rSlot.width(), rSlot.height(), <a name="l00381"></a>00381 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00382"></a>00382 <span class="preprocessor"></span>            colorGroup(), <a name="l00383"></a>00383 <span class="preprocessor">#else</span><a name="l00384"></a>00384 <span class="preprocessor"></span>            palette(), <a name="l00385"></a>00385 <span class="preprocessor">#endif</span><a name="l00386"></a>00386 <span class="preprocessor"></span>            <span class="keyword">true</span>, 1 ,0);<a name="l00387"></a>00387 <a name="l00388"></a>00388     }<a name="l00389"></a>00389 <a name="l00390"></a>00390     <span class="keywordflow">if</span> ( <a class="code" href="class_qwt_abstract_slider.html#87c750f098cb5f70306a7908339cb88e">isValid</a>() )<a name="l00391"></a>00391         <a class="code" href="class_qwt_slider.html#0a5e8c88a520d1601ca4b3282b6b254a">drawThumb</a>(p, cr, <a class="code" href="class_qwt_slider.html#ce7520db7c6517041a917e31919605f8">xyPosition</a>(<a class="code" href="class_qwt_double_range.html#7777cf257c812579c4891512f1b6cad0">value</a>()));<a name="l00392"></a>00392 }<a name="l00393"></a>00393 <a name="l00395"></a><a class="code" href="class_qwt_slider.html#0a5e8c88a520d1601ca4b3282b6b254a">00395</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_slider.html#0a5e8c88a520d1601ca4b3282b6b254a">QwtSlider::drawThumb</a>(QPainter *p, <span class="keyword">const</span> QRect &amp;sliderRect, <span class="keywordtype">int</span> pos)<a name="l00396"></a>00396 {<a name="l00397"></a>00397     pos++; <span class="comment">// shade line points one pixel below</span><a name="l00398"></a>00398     <span class="keywordflow">if</span> (<a class="code" href="class_qwt_abstract_slider.html#4d2521b9c31ec64b71d8e1771b156d88">orientation</a>() == Qt::Horizontal)<a name="l00399"></a>00399     {<a name="l00400"></a>00400         qDrawShadePanel(p, pos - d_data-&gt;thumbLength / 2, <a name="l00401"></a>00401             sliderRect.y(), d_data-&gt;thumbLength, sliderRect.height(),<a name="l00402"></a>00402 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00403"></a>00403 <span class="preprocessor"></span>            colorGroup(), <a name="l00404"></a>00404 <span class="preprocessor">#else</span><a name="l00405"></a>00405 <span class="preprocessor"></span>            palette(), <a name="l00406"></a>00406 <span class="preprocessor">#endif</span><a name="l00407"></a>00407 <span class="preprocessor"></span>            <span class="keyword">false</span>, d_data-&gt;borderWidth, <a name="l00408"></a>00408 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00409"></a>00409 <span class="preprocessor"></span>            &amp;colorGroup().brush(QColorGroup::Button)<a name="l00410"></a>00410 <span class="preprocessor">#else</span><a name="l00411"></a>00411 <span class="preprocessor"></span>            &amp;palette().brush(QPalette::Button)<a name="l00412"></a>00412 <span class="preprocessor">#endif</span><a name="l00413"></a>00413 <span class="preprocessor"></span>        );<a name="l00414"></a>00414 <a name="l00415"></a>00415         qDrawShadeLine(p, pos, sliderRect.y(), <a name="l00416"></a>00416             pos, sliderRect.y() + sliderRect.height() - 2, <a name="l00417"></a>00417 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00418"></a>00418 <span class="preprocessor"></span>            colorGroup(), <a name="l00419"></a>00419 <span class="preprocessor">#else</span><a name="l00420"></a>00420 <span class="preprocessor"></span>            palette(), <a name="l00421"></a>00421 <span class="preprocessor">#endif</span><a name="l00422"></a>00422 <span class="preprocessor"></span>            <span class="keyword">true</span>, 1);<a name="l00423"></a>00423     }<a name="l00424"></a>00424     <span class="keywordflow">else</span> <span class="comment">// Vertical</span><a name="l00425"></a>00425     {<a name="l00426"></a>00426         qDrawShadePanel(p,sliderRect.x(), pos - d_data-&gt;thumbLength / 2, <a name="l00427"></a>00427             sliderRect.width(), d_data-&gt;thumbLength,<a name="l00428"></a>00428 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00429"></a>00429 <span class="preprocessor"></span>            colorGroup(),<a name="l00430"></a>00430 <span class="preprocessor">#else</span><a name="l00431"></a>00431 <span class="preprocessor"></span>            palette(), <a name="l00432"></a>00432 <span class="preprocessor">#endif</span><a name="l00433"></a>00433 <span class="preprocessor"></span>            <span class="keyword">false</span>, d_data-&gt;borderWidth, <a name="l00434"></a>00434 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00435"></a>00435 <span class="preprocessor"></span>            &amp;colorGroup().brush(QColorGroup::Button)<a name="l00436"></a>00436 <span class="preprocessor">#else</span><a name="l00437"></a>00437 <span class="preprocessor"></span>            &amp;palette().brush(QPalette::Button)<a name="l00438"></a>00438 <span class="preprocessor">#endif</span><a name="l00439"></a>00439 <span class="preprocessor"></span>        );<a name="l00440"></a>00440 <a name="l00441"></a>00441         qDrawShadeLine(p, sliderRect.x(), pos,<a name="l00442"></a>00442             sliderRect.x() + sliderRect.width() - 2, pos, <a name="l00443"></a>00443 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00444"></a>00444 <span class="preprocessor"></span>            colorGroup(), <a name="l00445"></a>00445 <span class="preprocessor">#else</span><a name="l00446"></a>00446 <span class="preprocessor"></span>            palette(), <a name="l00447"></a>00447 <span class="preprocessor">#endif</span><a name="l00448"></a>00448 <span class="preprocessor"></span>            <span class="keyword">true</span>, 1);<a name="l00449"></a>00449     }<a name="l00450"></a>00450 }<a name="l00451"></a>00451 <a name="l00453"></a><a class="code" href="class_qwt_slider.html#ce7520db7c6517041a917e31919605f8">00453</a> <span class="keywordtype">int</span> <a class="code" href="class_qwt_slider.html#ce7520db7c6517041a917e31919605f8">QwtSlider::xyPosition</a>(<span class="keywordtype">double</span> v)<span class="keyword"> const</span><a name="l00454"></a>00454 <span class="keyword"></span>{<a name="l00455"></a>00455     <span class="keywordflow">return</span> d_data-&gt;map.transform(v);<a name="l00456"></a>00456 }<a name="l00457"></a>00457 <a name="l00459"></a><a class="code" href="class_qwt_slider.html#9dce1bf10fdcd92feae56dd77a455358">00459</a> <span class="keywordtype">double</span> <a class="code" href="class_qwt_slider.html#9dce1bf10fdcd92feae56dd77a455358">QwtSlider::getValue</a>(<span class="keyword">const</span> QPoint &amp;p)<a name="l00460"></a>00460 {<a name="l00461"></a>00461     <span class="keywordflow">return</span> d_data-&gt;map.invTransform(<a name="l00462"></a>00462         <a class="code" href="class_qwt_abstract_slider.html#4d2521b9c31ec64b71d8e1771b156d88">orientation</a>() == Qt::Horizontal ? p.x() : p.y());<a name="l00463"></a>00463 }<a name="l00464"></a>00464 <a name="l00465"></a>00465 <a name="l00472"></a><a class="code" href="class_qwt_slider.html#1b901e8ce7cdb3b04cf00caf83dd81af">00472</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_slider.html#1b901e8ce7cdb3b04cf00caf83dd81af">QwtSlider::getScrollMode</a>(<span class="keyword">const</span> QPoint &amp;p, <a name="l00473"></a>00473     <span class="keywordtype">int</span> &amp;scrollMode, <span class="keywordtype">int</span> &amp;direction )<a name="l00474"></a>00474 {<a name="l00475"></a>00475     <span class="keywordflow">if</span> (!d_data-&gt;sliderRect.contains(p))<a name="l00476"></a>00476     {<a name="l00477"></a>00477         scrollMode = ScrNone;<a name="l00478"></a>00478         direction = 0;<a name="l00479"></a>00479         <span class="keywordflow">return</span>;<a name="l00480"></a>00480     }<a name="l00481"></a>00481 <a name="l00482"></a>00482     <span class="keyword">const</span> <span class="keywordtype">int</span> pos = ( orientation() == Qt::Horizontal ) ? p.x() : p.y();<a name="l00483"></a>00483     <span class="keyword">const</span> <span class="keywordtype">int</span> markerPos = xyPosition(value());<a name="l00484"></a>00484 <a name="l00485"></a>00485     <span class="keywordflow">if</span> ((pos &gt; markerPos - d_data-&gt;thumbLength / 2)<a name="l00486"></a>00486         &amp;&amp; (pos &lt; markerPos + d_data-&gt;thumbLength / 2))<a name="l00487"></a>00487     {<a name="l00488"></a>00488         scrollMode = ScrMouse;<a name="l00489"></a>00489         direction = 0;<a name="l00490"></a>00490         <span class="keywordflow">return</span>;<a name="l00491"></a>00491     }<a name="l00492"></a>00492 <a name="l00493"></a>00493     scrollMode = ScrPage;<a name="l00494"></a>00494     direction = (pos &gt; markerPos) ? 1 : -1;<a name="l00495"></a>00495 <a name="l00496"></a>00496     <span class="keywordflow">if</span> ( scaleDraw()-&gt;map().p1() &gt; scaleDraw()-&gt;map().p2() )

⌨️ 快捷键说明

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