1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>wxWidgets: Device Contexts</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="page_container">
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0" style="width: 100%;">
<tbody>
<tr>
<td id="projectlogo">
<a href="http://www.wxwidgets.org/" target="_new">
<img alt="wxWidgets" src="logo.png"/>
</a>
</td>
<td style="padding-left: 0.5em; text-align: right;">
<span id="projectnumber">Version: 3.0.2</span>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.8.2 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Categories</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="index.html">Documentation</a></li><li class="navelem"><a class="el" href="page_topics.html">Programming Guides</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Device Contexts </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>A <a class="el" href="classwx_d_c.html" title="A wxDC is a "device context" onto which graphics and text can be drawn.">wxDC</a> is a <em>device</em> context onto which graphics and text can be drawn.</p>
<p>The device context is intended to represent a number of output devices in a generic way, with the same API being used throughout.</p>
<p>Some device contexts are created temporarily in order to draw on a window. This is <span class="literal">true</span> of <a class="el" href="classwx_screen_d_c.html" title="A wxScreenDC can be used to paint on the screen.">wxScreenDC</a>, <a class="el" href="classwx_client_d_c.html" title="A wxClientDC must be constructed if an application wishes to paint on the client area of a window fro...">wxClientDC</a>, <a class="el" href="classwx_paint_d_c.html" title="A wxPaintDC must be constructed if an application wishes to paint on the client area of a window from...">wxPaintDC</a>, and <a class="el" href="classwx_window_d_c.html" title="A wxWindowDC must be constructed if an application wishes to paint on the whole area of a window (cli...">wxWindowDC</a>. The following describes the differences between these device contexts and when you should use them.</p>
<ul>
<li><b><a class="el" href="classwx_screen_d_c.html" title="A wxScreenDC can be used to paint on the screen.">wxScreenDC</a></b>. Use this to paint on the screen, as opposed to an individual window. </li>
<li><b><a class="el" href="classwx_client_d_c.html" title="A wxClientDC must be constructed if an application wishes to paint on the client area of a window fro...">wxClientDC</a></b>. Use this to paint on the client area of window (the part without borders and other decorations), but do not use it from within an <a class="el" href="classwx_paint_event.html" title="A paint event is sent when a window's contents needs to be repainted.">wxPaintEvent</a>. </li>
<li><b><a class="el" href="classwx_paint_d_c.html" title="A wxPaintDC must be constructed if an application wishes to paint on the client area of a window from...">wxPaintDC</a></b>. Use this to paint on the client area of a window, but <em>only</em> from within a <a class="el" href="classwx_paint_event.html" title="A paint event is sent when a window's contents needs to be repainted.">wxPaintEvent</a>. </li>
<li><b><a class="el" href="classwx_window_d_c.html" title="A wxWindowDC must be constructed if an application wishes to paint on the whole area of a window (cli...">wxWindowDC</a></b>. Use this to paint on the whole area of a window, including decorations. This may not be available on non-Windows platforms.</li>
</ul>
<p>To use a client, paint or window device context, create an object on the stack with the window as argument, for example:</p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> MyWindow::OnMyCmd(<a class="code" href="classwx_command_event.html" title="This event class contains information about command events, which originate from a variety of simple ...">wxCommandEvent</a>& event)</div>
<div class="line">{</div>
<div class="line"> <a class="code" href="classwx_client_d_c.html" title="A wxClientDC must be constructed if an application wishes to paint on the client area of a window fro...">wxClientDC</a> dc(window);</div>
<div class="line"> DrawMyPicture(dc);</div>
<div class="line">}</div>
</div><!-- fragment --><p>Try to write code so it is parameterised by <a class="el" href="classwx_d_c.html" title="A wxDC is a "device context" onto which graphics and text can be drawn.">wxDC</a> - if you do this, the same piece of code may write to a number of different devices, by passing a different device context. This doesn't work for everything (for example not all device contexts support bitmap drawing) but will work most of the time.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__group__class__dc.html">Device Contexts</a> </dd></dl>
</div></div><!-- contents -->
<address class="footer">
<small>
Generated on Thu Nov 27 2014 13:46:42 for wxWidgets by <a href="http://www.doxygen.org/index.html" target="_new">Doxygen</a> 1.8.2
</small>
</address>
<script src="wxwidgets.js" type="text/javascript"></script>
</div><!-- #page_container -->
</body>
</html>
|