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

📄 qwt__plot__canvas_8cpp-source.html

📁 QWT5.01用于Qt开发的二维图形库程序
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00176"></a>00176 {<a name="l00177"></a>00177     d_data-&gt;focusIndicator = focusIndicator;<a name="l00178"></a>00178 }<a name="l00179"></a>00179 <a name="l00185"></a><a class="code" href="class_qwt_plot_canvas.html#0e9653bdf8c62299dbc3551ac7e5ec51">00185</a> <a class="code" href="class_qwt_plot_canvas.html#89b44e4c28038a674ce211fe9ac2d7be">QwtPlotCanvas::FocusIndicator</a> <a class="code" href="class_qwt_plot_canvas.html#0e9653bdf8c62299dbc3551ac7e5ec51">QwtPlotCanvas::focusIndicator</a>()<span class="keyword"> const</span><a name="l00186"></a>00186 <span class="keyword"></span>{<a name="l00187"></a>00187     <span class="keywordflow">return</span> d_data-&gt;focusIndicator;<a name="l00188"></a>00188 }<a name="l00189"></a>00189 <a name="l00190"></a><a class="code" href="class_qwt_plot_canvas.html#97e862e6c27fd0f88c5eccc5e4e64096">00190</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_canvas.html#97e862e6c27fd0f88c5eccc5e4e64096">QwtPlotCanvas::hideEvent</a>(QHideEvent *e)<a name="l00191"></a>00191 {<a name="l00192"></a>00192     QFrame::hideEvent(e);<a name="l00193"></a>00193 <a name="l00194"></a>00194     <span class="keywordflow">if</span> ( d_data-&gt;paintAttributes &amp; PaintPacked )<a name="l00195"></a>00195     {<a name="l00196"></a>00196         <span class="comment">// enable system background to avoid the "looking through</span><a name="l00197"></a>00197         <span class="comment">// the canvas" effect, for the next show</span><a name="l00198"></a>00198 <a name="l00199"></a>00199         setSystemBackground(<span class="keyword">true</span>);<a name="l00200"></a>00200     }<a name="l00201"></a>00201 }<a name="l00202"></a>00202 <a name="l00203"></a><a class="code" href="class_qwt_plot_canvas.html#a8f1516817c578efd407d8dd574170ec">00203</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_canvas.html#a8f1516817c578efd407d8dd574170ec">QwtPlotCanvas::paintEvent</a>(QPaintEvent *event)<a name="l00204"></a>00204 {<a name="l00205"></a>00205 <span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00206"></a>00206 <span class="preprocessor"></span>    QPainter painter(<span class="keyword">this</span>);<a name="l00207"></a>00207     <a name="l00208"></a>00208     <span class="keywordflow">if</span> ( !contentsRect().contains( event-&gt;rect() ) ) <a name="l00209"></a>00209     {<a name="l00210"></a>00210         painter.save();<a name="l00211"></a>00211         painter.setClipRegion( event-&gt;region() &amp; frameRect() );<a name="l00212"></a>00212         drawFrame( &amp;painter );<a name="l00213"></a>00213         painter.restore(); <a name="l00214"></a>00214     }<a name="l00215"></a>00215 <a name="l00216"></a>00216     painter.setClipRegion(event-&gt;region() &amp; contentsRect());<a name="l00217"></a>00217 <a name="l00218"></a>00218     <a class="code" href="class_qwt_plot_canvas.html#3c6e3cddf7fe4f48db64459b01a37301">drawContents</a>( &amp;painter );<a name="l00219"></a>00219 <span class="preprocessor">#else // QT_VERSION &lt; 0x040000</span><a name="l00220"></a>00220 <span class="preprocessor"></span>    QFrame::paintEvent(event);<a name="l00221"></a>00221 <span class="preprocessor">#endif</span><a name="l00222"></a>00222 <span class="preprocessor"></span><a name="l00223"></a>00223     <span class="keywordflow">if</span> ( d_data-&gt;paintAttributes &amp; PaintPacked )<a name="l00224"></a>00224         setSystemBackground(<span class="keyword">false</span>);<a name="l00225"></a>00225 }<a name="l00226"></a>00226 <a name="l00228"></a><a class="code" href="class_qwt_plot_canvas.html#3c6e3cddf7fe4f48db64459b01a37301">00228</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_canvas.html#3c6e3cddf7fe4f48db64459b01a37301">QwtPlotCanvas::drawContents</a>(QPainter *painter)<a name="l00229"></a>00229 {<a name="l00230"></a>00230     <span class="keywordflow">if</span> ( d_data-&gt;paintAttributes &amp; PaintCached &amp;&amp; d_data-&gt;cache <a name="l00231"></a>00231         &amp;&amp; d_data-&gt;cache-&gt;size() == contentsRect().size() )<a name="l00232"></a>00232     {<a name="l00233"></a>00233         painter-&gt;drawPixmap(contentsRect().topLeft(), *d_data-&gt;cache);<a name="l00234"></a>00234     }<a name="l00235"></a>00235     <span class="keywordflow">else</span><a name="l00236"></a>00236         drawCanvas(painter);<a name="l00237"></a>00237 <a name="l00238"></a>00238     <span class="keywordflow">if</span> ( hasFocus() &amp;&amp; focusIndicator() == CanvasFocusIndicator )<a name="l00239"></a>00239         drawFocusIndicator(painter);<a name="l00240"></a>00240 }<a name="l00241"></a>00241 <a name="l00251"></a><a class="code" href="class_qwt_plot_canvas.html#48cd4c52f0524f1a21fa53201159aa7c">00251</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_canvas.html#48cd4c52f0524f1a21fa53201159aa7c">QwtPlotCanvas::drawCanvas</a>(QPainter *painter)<a name="l00252"></a>00252 {<a name="l00253"></a>00253     <span class="keywordflow">if</span> ( !contentsRect().isValid() )<a name="l00254"></a>00254         <span class="keywordflow">return</span>;<a name="l00255"></a>00255 <a name="l00256"></a>00256     QBrush bgBrush;<a name="l00257"></a>00257 <span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00258"></a>00258 <span class="preprocessor"></span>        bgBrush = palette().brush(backgroundRole());<a name="l00259"></a>00259 <span class="preprocessor">#else</span><a name="l00260"></a>00260 <span class="preprocessor"></span>    QColorGroup::ColorRole role = <a name="l00261"></a>00261         QPalette::backgroundRoleFromMode( backgroundMode() );<a name="l00262"></a>00262     bgBrush = colorGroup().brush( role );<a name="l00263"></a>00263 <span class="preprocessor">#endif</span><a name="l00264"></a>00264 <span class="preprocessor"></span><a name="l00265"></a>00265     <span class="keywordflow">if</span> ( d_data-&gt;paintAttributes &amp; PaintCached &amp;&amp; d_data-&gt;cache )<a name="l00266"></a>00266     {<a name="l00267"></a>00267         *d_data-&gt;cache = QPixmap(contentsRect().size());<a name="l00268"></a>00268 <a name="l00269"></a>00269 <span class="preprocessor">#ifdef Q_WS_X11</span><a name="l00270"></a>00270 <span class="preprocessor"></span><span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00271"></a>00271 <span class="preprocessor"></span>        <span class="keywordflow">if</span> ( d_data-&gt;cache-&gt;x11Info().screen() != x11Info().screen() )<a name="l00272"></a>00272             d_data-&gt;cache-&gt;x11SetScreen(x11Info().screen());<a name="l00273"></a>00273 <span class="preprocessor">#else</span><a name="l00274"></a>00274 <span class="preprocessor"></span>        <span class="keywordflow">if</span> ( d_data-&gt;cache-&gt;x11Screen() != x11Screen() )<a name="l00275"></a>00275             d_data-&gt;cache-&gt;x11SetScreen(x11Screen());<a name="l00276"></a>00276 <span class="preprocessor">#endif</span><a name="l00277"></a>00277 <span class="preprocessor"></span><span class="preprocessor">#endif</span><a name="l00278"></a>00278 <span class="preprocessor"></span><a name="l00279"></a>00279         <span class="keywordflow">if</span> ( d_data-&gt;paintAttributes &amp; PaintPacked )<a name="l00280"></a>00280         {<a name="l00281"></a>00281             QPainter bgPainter(d_data-&gt;cache);<a name="l00282"></a>00282             bgPainter.setPen(Qt::NoPen);<a name="l00283"></a>00283 <a name="l00284"></a>00284             bgPainter.setBrush(bgBrush);<a name="l00285"></a>00285             bgPainter.drawRect(d_data-&gt;cache-&gt;rect());<a name="l00286"></a>00286         }<a name="l00287"></a>00287         <span class="keywordflow">else</span><a name="l00288"></a>00288             d_data-&gt;cache-&gt;fill(<span class="keyword">this</span>, d_data-&gt;cache-&gt;rect().topLeft());<a name="l00289"></a>00289 <a name="l00290"></a>00290         QPainter cachePainter(d_data-&gt;cache);<a name="l00291"></a>00291         cachePainter.translate(-contentsRect().x(),<a name="l00292"></a>00292             -contentsRect().y());<a name="l00293"></a>00293 <a name="l00294"></a>00294         ((<a class="code" href="class_qwt_plot.html">QwtPlot</a> *)parent())-&gt;<a class="code" href="class_qwt_plot_canvas.html#48cd4c52f0524f1a21fa53201159aa7c">drawCanvas</a>(&amp;cachePainter);<a name="l00295"></a>00295 <a name="l00296"></a>00296         cachePainter.end();<a name="l00297"></a>00297 <a name="l00298"></a>00298         painter-&gt;drawPixmap(contentsRect(), *d_data-&gt;cache);<a name="l00299"></a>00299     }<a name="l00300"></a>00300     <span class="keywordflow">else</span><a name="l00301"></a>00301     {<a name="l00302"></a>00302 <span class="preprocessor">#if QT_VERSION &gt;= 0x040000</span><a name="l00303"></a>00303 <span class="preprocessor"></span>        <span class="keywordflow">if</span> ( d_data-&gt;paintAttributes &amp; PaintPacked )<a name="l00304"></a>00304 <span class="preprocessor">#endif</span><a name="l00305"></a>00305 <span class="preprocessor"></span>        {<a name="l00306"></a>00306             painter-&gt;save();<a name="l00307"></a>00307 <a name="l00308"></a>00308             painter-&gt;setPen(Qt::NoPen);<a name="l00309"></a>00309             painter-&gt;setBrush(bgBrush);<a name="l00310"></a>00310             painter-&gt;drawRect(contentsRect());<a name="l00311"></a>00311 <a name="l00312"></a>00312             painter-&gt;restore();<a name="l00313"></a>00313         }<a name="l00314"></a>00314 <a name="l00315"></a>00315         ((<a class="code" href="class_qwt_plot.html">QwtPlot</a> *)parent())-&gt;<a class="code" href="class_qwt_plot_canvas.html#48cd4c52f0524f1a21fa53201159aa7c">drawCanvas</a>(painter);<a name="l00316"></a>00316     }<a name="l00317"></a>00317 }<a name="l00318"></a>00318 <a name="l00320"></a><a class="code" href="class_qwt_plot_canvas.html#4dc526ac5186fe253a158a392bbb4f40">00320</a> <span class="keywordtype">void</span> <a class="code" href="class_qwt_plot_canvas.html#4dc526ac5186fe253a158a392bbb4f40">QwtPlotCanvas::drawFocusIndicator</a>(QPainter *painter)<a name="l00321"></a>00321 {<a name="l00322"></a>00322     <span class="keyword">const</span> <span class="keywordtype">int</span> margin = 1;<a name="l00323"></a>00323 <a name="l00324"></a>00324     QRect focusRect = contentsRect();<a name="l00325"></a>00325     focusRect.setRect(focusRect.x() + margin, focusRect.y() + margin,<a name="l00326"></a>00326         focusRect.width() - 2 * margin, focusRect.height() - 2 * margin);<a name="l00327"></a>00327 <a name="l00328"></a>00328     <a class="code" href="class_qwt_painter.html#bb6bbb26f325e33236c5292107e44102">QwtPainter::drawFocusRect</a>(painter, <span class="keyword">this</span>, focusRect);<a name="l00329"></a>00329 }<a name="l00330"></a>00330 <a name="l00331"></a>00331 <span class="keywordtype">void</span> QwtPlotCanvas::setSystemBackground(<span class="keywordtype">bool</span> on)<a name="l00332"></a>00332 {<a name="l00333"></a>00333 <span class="preprocessor">#if QT_VERSION &lt; 0x040000</span><a name="l00334"></a>00334 <span class="preprocessor"></span>    <span class="keywordflow">if</span> ( backgroundMode() == Qt::NoBackground )<a name="l00335"></a>00335     {<a name="l00336"></a>00336         <span class="keywordflow">if</span> ( on )<a name="l00337"></a>00337             setBackgroundMode(Qt::PaletteBackground);<a name="l00338"></a>00338     }<a name="l00339"></a>00339     <span class="keywordflow">else</span><a name="l00340"></a>00340     {<a name="l00341"></a>00341         <span class="keywordflow">if</span> ( !on )<a name="l00342"></a>00342             setBackgroundMode(Qt::NoBackground);<a name="l00343"></a>00343     }<a name="l00344"></a>00344 <span class="preprocessor">#else</span><a name="l00345"></a>00345 <span class="preprocessor"></span>    <span class="keywordflow">if</span> ( testAttribute(Qt::WA_NoSystemBackground) == on )<a name="l00346"></a>00346         setAttribute(Qt::WA_NoSystemBackground, !on);<a name="l00347"></a>00347 <span class="preprocessor">#endif</span><a name="l00348"></a>00348 <span class="preprocessor"></span>}</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 + -