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

📄 qwt__painter_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<a name="l00549"></a>00549             ratio = 1.0 - angle / <span class="keywordtype">double</span>(arc);<a name="l00550"></a>00550         <span class="keywordflow">else</span><a name="l00551"></a>00551             ratio = 1.0 + angle / double(arc);<a name="l00552"></a>00552             <a name="l00553"></a>00553 <a name="l00554"></a>00554         QColor c;<a name="l00555"></a>00555         c.setHsv( h1 + qRound(ratio * (h2 - h1)),<a name="l00556"></a>00556             s1 + qRound(ratio * (s2 - s1)),<a name="l00557"></a>00557             v1 + qRound(ratio * (v2 - v1)) );<a name="l00558"></a>00558 <a name="l00559"></a>00559         painter-&gt;setPen(QPen(c, painter-&gt;pen().width()));<a name="l00560"></a>00560         painter-&gt;drawArc(rect, (peak + angle) * 16, interval * 16);<a name="l00561"></a>00561     }<a name="l00562"></a>00562 }<a name="l00563"></a>00563 <a name="l00564"></a><a class="code" href="class_qwt_painter.html#bb6bbb26f325e33236c5292107e44102">00564</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_painter.html#bb6bbb26f325e33236c5292107e44102">QwtPainter::drawFocusRect</a>(QPainter *painter, QWidget *widget)<a name="l00565"></a>00565 {<a name="l00566"></a>00566     <a class="code" href="class_qwt_painter.html#bb6bbb26f325e33236c5292107e44102">drawFocusRect</a>(painter, widget, widget-&gt;rect());<a name="l00567"></a>00567 }<a name="l00568"></a>00568 <a name="l00569"></a><a class="code" href="class_qwt_painter.html#a83afab9c2cdedfdc52d747dcd140114">00569</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_painter.html#bb6bbb26f325e33236c5292107e44102">QwtPainter::drawFocusRect</a>(QPainter *painter, QWidget *widget,<a name="l00570"></a>00570     <span class="keyword">const</span> QRect &amp;rect)<a name="l00571"></a>00571 {<a name="l00572"></a>00572 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00573"></a>00573 <span class="preprocessor"></span>        widget-&gt;style().drawPrimitive(QStyle::PE_FocusRect, painter,<a name="l00574"></a>00574             rect, widget-&gt;colorGroup());<a name="l00575"></a>00575 <span class="preprocessor">#else</span><a name="l00576"></a>00576 <span class="preprocessor"></span>        QStyleOptionFocusRect opt;<a name="l00577"></a>00577         opt.init(widget);<a name="l00578"></a>00578         opt.rect = rect;<a name="l00579"></a>00579         opt.state |= QStyle::State_HasFocus;<a name="l00580"></a>00580 <a name="l00581"></a>00581         widget-&gt;style()-&gt;drawPrimitive(QStyle::PE_FrameFocusRect, <a name="l00582"></a>00582             &amp;opt, painter, widget);<a name="l00583"></a>00583 <span class="preprocessor">#endif</span><a name="l00584"></a>00584 <span class="preprocessor"></span><a name="l00585"></a>00585 }<a name="l00586"></a>00586 <a name="l00588"></a>00588 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00589"></a>00589 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="class_qwt_painter.html#38c9272d0cbfc400cf3a86dcccafd551">QwtPainter::drawRoundFrame</a>(QPainter *painter, <span class="keyword">const</span> QRect &amp;rect,<a name="l00590"></a>00590     <span class="keywordtype">int</span> width, <span class="keyword">const</span> QColorGroup &amp;cg, <span class="keywordtype">bool</span> sunken)<a name="l00591"></a>00591 <span class="preprocessor">#else</span><a name="l00592"></a><a class="code" href="class_qwt_painter.html#38c9272d0cbfc400cf3a86dcccafd551">00592</a> <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="class_qwt_painter.html#38c9272d0cbfc400cf3a86dcccafd551">QwtPainter::drawRoundFrame</a>(QPainter *painter, <span class="keyword">const</span> QRect &amp;rect,<a name="l00593"></a>00593     <span class="keywordtype">int</span> width, <span class="keyword">const</span> QPalette &amp;palette, <span class="keywordtype">bool</span> sunken)<a name="l00594"></a>00594 <span class="preprocessor">#endif</span><a name="l00595"></a>00595 <span class="preprocessor"></span>{<a name="l00596"></a>00596 <a name="l00597"></a>00597 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00598"></a>00598 <span class="preprocessor"></span>    QColor c0 = cg.mid();<a name="l00599"></a>00599     QColor c1, c2;<a name="l00600"></a>00600     <span class="keywordflow">if</span> ( sunken )<a name="l00601"></a>00601     {<a name="l00602"></a>00602         c1 = cg.dark();<a name="l00603"></a>00603         c2 = cg.light();<a name="l00604"></a>00604     }<a name="l00605"></a>00605     <span class="keywordflow">else</span><a name="l00606"></a>00606     {<a name="l00607"></a>00607         c1 = cg.light();<a name="l00608"></a>00608         c2 = cg.dark();<a name="l00609"></a>00609     }<a name="l00610"></a>00610 <span class="preprocessor">#else</span><a name="l00611"></a>00611 <span class="preprocessor"></span>    QColor c0 = palette.color(QPalette::Mid);<a name="l00612"></a>00612     QColor c1, c2;<a name="l00613"></a>00613     <span class="keywordflow">if</span> ( sunken )<a name="l00614"></a>00614     {<a name="l00615"></a>00615         c1 = palette.color(QPalette::Dark);<a name="l00616"></a>00616         c2 = palette.color(QPalette::Light);<a name="l00617"></a>00617     }<a name="l00618"></a>00618     <span class="keywordflow">else</span><a name="l00619"></a>00619     {<a name="l00620"></a>00620         c1 = palette.color(QPalette::Light);<a name="l00621"></a>00621         c2 = palette.color(QPalette::Dark);<a name="l00622"></a>00622     }<a name="l00623"></a>00623 <span class="preprocessor">#endif</span><a name="l00624"></a>00624 <span class="preprocessor"></span><a name="l00625"></a>00625     painter-&gt;setPen(QPen(c0, width));<a name="l00626"></a>00626     painter-&gt;drawArc(rect, 0, 360 * 16); <span class="comment">// full</span><a name="l00627"></a>00627 <a name="l00628"></a>00628     <span class="keyword">const</span> <span class="keywordtype">int</span> peak = 150;<a name="l00629"></a>00629     <span class="keyword">const</span> <span class="keywordtype">int</span> interval = 2;<a name="l00630"></a>00630 <a name="l00631"></a>00631     <span class="keywordflow">if</span> ( c0 != c1 )<a name="l00632"></a>00632         drawColoredArc(painter, rect, peak, 160, interval, c0, c1);<a name="l00633"></a>00633     <span class="keywordflow">if</span> ( c0 != c2 )<a name="l00634"></a>00634         drawColoredArc(painter, rect, peak + 180, 120, interval, c0, c2);<a name="l00635"></a>00635 }<a name="l00636"></a>00636 <a name="l00637"></a><a class="code" href="class_qwt_painter.html#985edd7dd1dadbd0a5af6e7fa0f32792">00637</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_painter.html#985edd7dd1dadbd0a5af6e7fa0f32792">QwtPainter::drawColorBar</a>(QPainter *painter,<a name="l00638"></a>00638         <span class="keyword">const</span> <a class="code" href="class_qwt_color_map.html">QwtColorMap</a> &amp;colorMap, <span class="keyword">const</span> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a> &amp;interval,<a name="l00639"></a>00639         <span class="keyword">const</span> <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> &amp;scaleMap, Qt::Orientation orientation,<a name="l00640"></a>00640         <span class="keyword">const</span> QRect &amp;rect)<a name="l00641"></a>00641 {<a name="l00642"></a>00642     painter-&gt;save();<a name="l00643"></a>00643 <a name="l00644"></a>00644     <a class="code" href="class_qwt_painter.html#7a3b7e59fd56236dd99c5b1772e1a768">QwtPainter::setClipRect</a>(painter, rect);<a name="l00645"></a>00645 <a name="l00646"></a>00646 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00647"></a>00647 <span class="preprocessor"></span>    QValueVector&lt;QRgb&gt; colorTable;<a name="l00648"></a>00648 <span class="preprocessor">#else</span><a name="l00649"></a>00649 <span class="preprocessor"></span>    QVector&lt;QRgb&gt; colorTable;<a name="l00650"></a>00650 <span class="preprocessor">#endif</span><a name="l00651"></a>00651 <span class="preprocessor"></span>    <span class="keywordflow">if</span> ( colorMap.<a class="code" href="class_qwt_color_map.html#436802833ae1d4694f376655bc3d75be">format</a>() == QwtColorMap::Indexed )<a name="l00652"></a>00652         colorTable = colorMap.<a class="code" href="class_qwt_color_map.html#082823238104fbc6cb146e7aafa571f6">colorTable</a>(interval);<a name="l00653"></a>00653 <a name="l00654"></a>00654     QColor c;<a name="l00655"></a>00655 <a name="l00656"></a>00656     <span class="keyword">const</span> QRect devRect = d_metricsMap.<a class="code" href="class_qwt_metrics_map.html#180736dad3afe26c2579f6fefcb9f2d9">layoutToDevice</a>(rect);<a name="l00657"></a>00657 <a name="l00658"></a>00658     <span class="keywordflow">if</span> ( orientation == Qt::Horizontal )<a name="l00659"></a>00659     {<a name="l00660"></a>00660         <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> sMap = scaleMap;<a name="l00661"></a>00661         sMap.<a class="code" href="class_qwt_scale_map.html#a9a63a0b2e4ff81b1df23d9f968cd5b8">setPaintInterval</a>(devRect.left(), devRect.right());<a name="l00662"></a>00662 <a name="l00663"></a>00663         <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> x = devRect.left(); x &lt;= devRect.right(); x++ )<a name="l00664"></a>00664         {<a name="l00665"></a>00665             <span class="keyword">const</span> <span class="keywordtype">double</span> value = sMap.<a class="code" href="class_qwt_scale_map.html#0df4d78da09fa88d1063554542c7fb03">invTransform</a>(x);<a name="l00666"></a>00666 <a name="l00667"></a>00667             <span class="keywordflow">if</span> ( colorMap.<a class="code" href="class_qwt_color_map.html#436802833ae1d4694f376655bc3d75be">format</a>() == QwtColorMap::RGB )<a name="l00668"></a>00668                 c.setRgb(colorMap.<a class="code" href="class_qwt_color_map.html#be172f151f0a8c24f4a7e0908b0b983f">rgb</a>(interval, value));<a name="l00669"></a>00669             <span class="keywordflow">else</span><a name="l00670"></a>00670                 c = colorTable[colorMap.<a class="code" href="class_qwt_color_map.html#3b5be7f953330d308eef24351dfa789b">colorIndex</a>(interval, value)];<a name="l00671"></a>00671 <a name="l00672"></a>00672             painter-&gt;setBrush(QBrush(c));<a name="l00673"></a>00673 <a name="l00674"></a>00674             <span class="keyword">const</span> QRect r(x, devRect.top(), 1, devRect.height());<a name="l00675"></a>00675             <a class="code" href="class_qwt_painter.html#9d606b6a681b9e1d0e0823c8a169ac7e">QwtPainter::drawRect</a>(painter, r);<a name="l00676"></a>00676             painter-&gt;setPen(c);<a name="l00677"></a>00677             painter-&gt;drawLine(x, devRect.top(), x, devRect.bottom() - 1);<a name="l00678"></a>00678         }<a name="l00679"></a>00679     }<a name="l00680"></a>00680     <span class="keywordflow">else</span> <span class="comment">// Vertical</span><a name="l00681"></a>00681     {<a name="l00682"></a>00682         <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> sMap = scaleMap;<a name="l00683"></a>00683         sMap.<a class="code" href="class_qwt_scale_map.html#a9a63a0b2e4ff81b1df23d9f968cd5b8">setPaintInterval</a>(devRect.bottom(), devRect.top());<a name="l00684"></a>00684 <a name="l00685"></a>00685         <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> y = devRect.top(); y &lt;= devRect.bottom(); y++ )<a name="l00686"></a>00686         {<a name="l00687"></a>00687             <span class="keyword">const</span> <span class="keywordtype">double</span> value = sMap.<a class="code" href="class_qwt_scale_map.html#0df4d78da09fa88d1063554542c7fb03">invTransform</a>(y);<a name="l00688"></a>00688 <a name="l00689"></a>00689             <span class="keywordflow">if</span> ( colorMap.format() == QwtColorMap::RGB )<a name="l00690"></a>00690                 c.setRgb(colorMap.rgb(interval, value));<a name="l00691"></a>00691             <span class="keywordflow">else</span><a name="l00692"></a>00692                 c = colorTable[colorMap.colorIndex(interval, value)];<a name="l00693"></a>00693 <a name="l00694"></a>00694             painter-&gt;setPen(c);<a name="l00695"></a>00695             painter-&gt;drawLine(devRect.left(), y, devRect.right() - 1, y);<a name="l00696"></a>00696         }<a name="l00697"></a>00697     }<a name="l00698"></a>00698     painter-&gt;restore();<a name="l00699"></a>00699 }</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 26 21:22:37 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 + -