📄 qwt__painter_8cpp-source.html
字号:
<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->setPen(QPen(c, painter->pen().width()));<a name="l00560"></a>00560 painter->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->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 &rect)<a name="l00571"></a>00571 {<a name="l00572"></a>00572 <span class="preprocessor">#if QT_VERSION < 0x040000</span><a name="l00573"></a>00573 <span class="preprocessor"></span> widget->style().drawPrimitive(QStyle::PE_FocusRect, painter,<a name="l00574"></a>00574 rect, widget->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->style()->drawPrimitive(QStyle::PE_FrameFocusRect, <a name="l00582"></a>00582 &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 < 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 &rect,<a name="l00590"></a>00590 <span class="keywordtype">int</span> width, <span class="keyword">const</span> QColorGroup &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 &rect,<a name="l00593"></a>00593 <span class="keywordtype">int</span> width, <span class="keyword">const</span> QPalette &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 < 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->setPen(QPen(c0, width));<a name="l00626"></a>00626 painter->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> &colorMap, <span class="keyword">const</span> <a class="code" href="class_qwt_double_interval.html">QwtDoubleInterval</a> &interval,<a name="l00639"></a>00639 <span class="keyword">const</span> <a class="code" href="class_qwt_scale_map.html">QwtScaleMap</a> &scaleMap, Qt::Orientation orientation,<a name="l00640"></a>00640 <span class="keyword">const</span> QRect &rect)<a name="l00641"></a>00641 {<a name="l00642"></a>00642 painter->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 < 0x040000</span><a name="l00647"></a>00647 <span class="preprocessor"></span> QValueVector<QRgb> colorTable;<a name="l00648"></a>00648 <span class="preprocessor">#else</span><a name="l00649"></a>00649 <span class="preprocessor"></span> QVector<QRgb> 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 <= 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->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->setPen(c);<a name="l00677"></a>00677 painter->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 <= 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->setPen(c);<a name="l00695"></a>00695 painter->drawLine(devRect.left(), y, devRect.right() - 1, y);<a name="l00696"></a>00696 }<a name="l00697"></a>00697 }<a name="l00698"></a>00698 painter->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 <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 + -