📄 qwt__plot__canvas_8cpp-source.html
字号:
<a name="l00176"></a>00176 {<a name="l00177"></a>00177 d_data->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->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->paintAttributes & 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 >= 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->rect() ) ) <a name="l00209"></a>00209 {<a name="l00210"></a>00210 painter.save();<a name="l00211"></a>00211 painter.setClipRegion( event->region() & frameRect() );<a name="l00212"></a>00212 drawFrame( &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->region() & contentsRect());<a name="l00217"></a>00217 <a name="l00218"></a>00218 <a class="code" href="class_qwt_plot_canvas.html#3c6e3cddf7fe4f48db64459b01a37301">drawContents</a>( &painter );<a name="l00219"></a>00219 <span class="preprocessor">#else // QT_VERSION < 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->paintAttributes & 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->paintAttributes & PaintCached && d_data->cache <a name="l00231"></a>00231 && d_data->cache->size() == contentsRect().size() )<a name="l00232"></a>00232 {<a name="l00233"></a>00233 painter->drawPixmap(contentsRect().topLeft(), *d_data->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() && 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 >= 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->paintAttributes & PaintCached && d_data->cache )<a name="l00266"></a>00266 {<a name="l00267"></a>00267 *d_data->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 >= 0x040000</span><a name="l00271"></a>00271 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( d_data->cache->x11Info().screen() != x11Info().screen() )<a name="l00272"></a>00272 d_data->cache->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->cache->x11Screen() != x11Screen() )<a name="l00275"></a>00275 d_data->cache->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->paintAttributes & PaintPacked )<a name="l00280"></a>00280 {<a name="l00281"></a>00281 QPainter bgPainter(d_data->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->cache->rect());<a name="l00286"></a>00286 }<a name="l00287"></a>00287 <span class="keywordflow">else</span><a name="l00288"></a>00288 d_data->cache->fill(<span class="keyword">this</span>, d_data->cache->rect().topLeft());<a name="l00289"></a>00289 <a name="l00290"></a>00290 QPainter cachePainter(d_data->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())-><a class="code" href="class_qwt_plot_canvas.html#48cd4c52f0524f1a21fa53201159aa7c">drawCanvas</a>(&cachePainter);<a name="l00295"></a>00295 <a name="l00296"></a>00296 cachePainter.end();<a name="l00297"></a>00297 <a name="l00298"></a>00298 painter->drawPixmap(contentsRect(), *d_data->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 >= 0x040000</span><a name="l00303"></a>00303 <span class="preprocessor"></span> <span class="keywordflow">if</span> ( d_data->paintAttributes & 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->save();<a name="l00307"></a>00307 <a name="l00308"></a>00308 painter->setPen(Qt::NoPen);<a name="l00309"></a>00309 painter->setBrush(bgBrush);<a name="l00310"></a>00310 painter->drawRect(contentsRect());<a name="l00311"></a>00311 <a name="l00312"></a>00312 painter->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())-><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 < 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 <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 + -