1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3  <head>
4    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
5    <title>File Index</title>
6    <link href="doxygen.css" rel="stylesheet" type="text/css">
7  </head>
8  <body>
9<!-- Generated by Doxygen 1.7.4 -->
10  <div id="navrow1" class="tabs">
11    <ul class="tablist">
12      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
13      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
14      <li class="current"><a href="files.html"><span>Files</span></a></li>
15    </ul>
16  </div>
17  <div id="navrow2" class="tabs2">
18    <ul class="tablist">
19      <li><a href="files.html"><span>File&#160;List</span></a></li>
20      <li><a href="globals.html"><span>Globals</span></a></li>
21    </ul>
22  </div>
23</div>
24<div id="side-nav" class="ui-resizable side-nav-resizable">
25  <div id="nav-tree">
26    <div id="nav-tree-contents">
27    </div>
28  </div>
29  <div id="splitbar" style="-moz-user-select:none;" 
30       class="ui-resizable-handle">
31  </div>
32</div>
33<script type="text/javascript">
34  initNavTree('dmxcursor_8h.html','');
35</script>
36<div id="doc-content">
37<div class="header">
38  <div class="summary">
39<a href="#nested-classes">Data Structures</a> &#124;
40<a href="#define-members">Defines</a> &#124;
41<a href="#typedef-members">Typedefs</a> &#124;
42<a href="#func-members">Functions</a> &#124;
43<a href="#var-members">Variables</a>  </div>
44  <div class="headertitle">
45<div class="title">dmxcursor.h File Reference</div>  </div>
46</div>
47<div class="contents">
48<div class="textblock"><code>#include &quot;mipointer.h&quot;</code><br/>
49</div>
50<p><a href="dmxcursor_8h_source.html">Go to the source code of this file.</a></p>
51<table class="memberdecls">
52<tr><td colspan="2"><h2><a name="nested-classes"></a>
53Data Structures</h2></td></tr>
54<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a></td></tr>
55<tr><td colspan="2"><h2><a name="define-members"></a>
56Defines</h2></td></tr>
57<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a7ddaf12551bbbd8a23fa60c09cdd6218">DMX_GET_CURSOR_PRIV</a>(_pCursor, _pScreen)</td></tr>
58<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a7ec081934a095ba159d03229e714cfd5">DMX_SET_CURSOR_PRIV</a>(_pCursor, _pScreen, v)&#160;&#160;&#160;dixSetPrivate(&amp;(_pCursor)-&gt;devPrivates, CursorScreenKey(_pScreen), v)</td></tr>
59<tr><td colspan="2"><h2><a name="typedef-members"></a>
60Typedefs</h2></td></tr>
61<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a78a877b8bee68809063112fb5286e2db">dmxCursorPrivRec</a></td></tr>
62<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#ae93d2b5a8714fcf2714f03b6cdeadc07">dmxCursorPrivPtr</a></td></tr>
63<tr><td colspan="2"><h2><a name="func-members"></a>
64Functions</h2></td></tr>
65<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a9bdb6eff5f7f86fd071091c5a55cee7c">dmxReInitOrigins</a> (void)</td></tr>
66<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#af3fb4b2c2d3cc318c88fbc6658893360">dmxInitOrigins</a> (void)</td></tr>
67<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap</a> (void)</td></tr>
68<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a709e3d4a4e44e17fed3de1fcb0d42b20">dmxCursorNoMulti</a> (void)</td></tr>
69<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor</a> (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)</td></tr>
70<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a6a381bffb099457e7c26a2312cf968a6">dmxCheckCursor</a> (void)</td></tr>
71<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#adaf3455cdd3f54d22285e5a0fa99fddb">dmxOnScreen</a> (int x, int y, <a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen)</td></tr>
72<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#ad67e1086ef62ecfa33549d74cd89a379">dmxHideCursor</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen)</td></tr>
73<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a84c92b801c5802879047e74401f62e94">dmxBECreateCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
74<tr><td class="memItemLeft" align="right" valign="top">Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#ae0e94924bf5a69c2b26e9d0442befadd">dmxBEFreeCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
75<tr><td colspan="2"><h2><a name="var-members"></a>
76Variables</h2></td></tr>
77<tr><td class="memItemLeft" align="right" valign="top">miPointerScreenFuncRec&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#aacf8d4857dd965073f62f10a53edcaa3">dmxPointerCursorFuncs</a></td></tr>
78<tr><td class="memItemLeft" align="right" valign="top">miPointerSpriteFuncRec&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8h.html#a7bf2f59a6c5d381aea975cd78dd1f9dc">dmxPointerSpriteFuncs</a></td></tr>
79</table>
80<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
81<div class="textblock"><p>Interface for cursor support. </p>
82<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a>. </dd></dl>
83</div><hr/><h2>Define Documentation</h2>
84<a class="anchor" id="a7ddaf12551bbbd8a23fa60c09cdd6218"></a><!-- doxytag: member="dmxcursor.h::DMX_GET_CURSOR_PRIV" ref="a7ddaf12551bbbd8a23fa60c09cdd6218" args="(_pCursor, _pScreen)" -->
85<div class="memitem">
86<div class="memproto">
87      <table class="memname">
88        <tr>
89          <td class="memname">#define DMX_GET_CURSOR_PRIV</td>
90          <td>(</td>
91          <td class="paramtype">&#160;</td>
92          <td class="paramname">_pCursor, </td>
93        </tr>
94        <tr>
95          <td class="paramkey"></td>
96          <td></td>
97          <td class="paramtype">&#160;</td>
98          <td class="paramname">_pScreen&#160;</td>
99        </tr>
100        <tr>
101          <td></td>
102          <td>)</td>
103          <td></td><td></td>
104        </tr>
105      </table>
106</div>
107<div class="memdoc">
108<b>Value:</b><div class="fragment"><pre class="fragment">((<a class="code" href="dmxcursor_8h.html#ae93d2b5a8714fcf2714f03b6cdeadc07">dmxCursorPrivPtr</a>) \
109    dixLookupPrivate(&amp;(_pCursor)-&gt;devPrivates, CursorScreenKey(_pScreen)))
110</pre></div>
111<p>Referenced by <a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor()</a>, <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>, <a class="el" href="dmxcursor_8c.html#aa2ac82b5666d162e873c7f0c88ec96f6">_dmxUnrealizeCursor()</a>, <a class="el" href="dmxcursor_8h.html#a84c92b801c5802879047e74401f62e94">dmxBECreateCursor()</a>, and <a class="el" href="dmxcursor_8h.html#ae0e94924bf5a69c2b26e9d0442befadd">dmxBEFreeCursor()</a>.</p>
112
113</div>
114</div>
115<a class="anchor" id="a7ec081934a095ba159d03229e714cfd5"></a><!-- doxytag: member="dmxcursor.h::DMX_SET_CURSOR_PRIV" ref="a7ec081934a095ba159d03229e714cfd5" args="(_pCursor, _pScreen, v)" -->
116<div class="memitem">
117<div class="memproto">
118      <table class="memname">
119        <tr>
120          <td class="memname">#define DMX_SET_CURSOR_PRIV</td>
121          <td>(</td>
122          <td class="paramtype">&#160;</td>
123          <td class="paramname">_pCursor, </td>
124        </tr>
125        <tr>
126          <td class="paramkey"></td>
127          <td></td>
128          <td class="paramtype">&#160;</td>
129          <td class="paramname">_pScreen, </td>
130        </tr>
131        <tr>
132          <td class="paramkey"></td>
133          <td></td>
134          <td class="paramtype">&#160;</td>
135          <td class="paramname">v&#160;</td>
136        </tr>
137        <tr>
138          <td></td>
139          <td>)</td>
140          <td></td><td>&#160;&#160;&#160;dixSetPrivate(&amp;(_pCursor)-&gt;devPrivates, CursorScreenKey(_pScreen), v)</td>
141        </tr>
142      </table>
143</div>
144<div class="memdoc">
145
146<p>Referenced by <a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor()</a>, and <a class="el" href="dmxcursor_8c.html#aa2ac82b5666d162e873c7f0c88ec96f6">_dmxUnrealizeCursor()</a>.</p>
147
148</div>
149</div>
150<hr/><h2>Typedef Documentation</h2>
151<a class="anchor" id="ae93d2b5a8714fcf2714f03b6cdeadc07"></a><!-- doxytag: member="dmxcursor.h::dmxCursorPrivPtr" ref="ae93d2b5a8714fcf2714f03b6cdeadc07" args="" -->
152<div class="memitem">
153<div class="memproto">
154      <table class="memname">
155        <tr>
156          <td class="memname">typedef struct <a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a> * <a class="el" href="struct__dmxCursorPriv.html">dmxCursorPrivPtr</a></td>
157        </tr>
158      </table>
159</div>
160<div class="memdoc">
161
162</div>
163</div>
164<a class="anchor" id="a78a877b8bee68809063112fb5286e2db"></a><!-- doxytag: member="dmxcursor.h::dmxCursorPrivRec" ref="a78a877b8bee68809063112fb5286e2db" args="" -->
165<div class="memitem">
166<div class="memproto">
167      <table class="memname">
168        <tr>
169          <td class="memname">typedef struct <a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a>  <a class="el" href="struct__dmxCursorPriv.html">dmxCursorPrivRec</a></td>
170        </tr>
171      </table>
172</div>
173<div class="memdoc">
174<p>Cursor private area. </p>
175
176</div>
177</div>
178<hr/><h2>Function Documentation</h2>
179<a class="anchor" id="a84c92b801c5802879047e74401f62e94"></a><!-- doxytag: member="dmxcursor.h::dmxBECreateCursor" ref="a84c92b801c5802879047e74401f62e94" args="(ScreenPtr pScreen, CursorPtr pCursor)" -->
180<div class="memitem">
181<div class="memproto">
182      <table class="memname">
183        <tr>
184          <td class="memname">void dmxBECreateCursor </td>
185          <td>(</td>
186          <td class="paramtype">ScreenPtr&#160;</td>
187          <td class="paramname"><em>pScreen</em>, </td>
188        </tr>
189        <tr>
190          <td class="paramkey"></td>
191          <td></td>
192          <td class="paramtype">CursorPtr&#160;</td>
193          <td class="paramname"><em>pCursor</em>&#160;</td>
194        </tr>
195        <tr>
196          <td></td>
197          <td>)</td>
198          <td></td><td></td>
199        </tr>
200      </table>
201</div>
202<div class="memdoc">
203<p>Create <em>pCursor</em> on the back-end associated with <em>pScreen</em>. </p>
204
205<p>References <a class="el" href="struct__DMXScreenInfo.html#a1288c3902e2e1f871947e854269562e8">_DMXScreenInfo::beDefVisualIndex</a>, <a class="el" href="struct__DMXScreenInfo.html#a756ade62a55a52f163a42db6de54c244">_DMXScreenInfo::beDisplay</a>, <a class="el" href="struct__DMXScreenInfo.html#a6476a8960e2013a9502c326f8851071c">_DMXScreenInfo::beNumPixmapFormats</a>, <a class="el" href="struct__DMXScreenInfo.html#a1c13d3cbcad4da61fe677e96cb781543">_DMXScreenInfo::bePixmapFormats</a>, <a class="el" href="struct__DMXScreenInfo.html#a33651a812fe70c8229f395c2bb38b45c">_DMXScreenInfo::beVisuals</a>, <a class="el" href="struct__dmxCursorPriv.html#aa55d93640b2d29175eeaa07b92c83cad">_dmxCursorPriv::cursor</a>, <a class="el" href="dmxcursor_8h.html#a7ddaf12551bbbd8a23fa60c09cdd6218">DMX_GET_CURSOR_PRIV</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fa4d84ad320675a046536d76c0820abc70">dmxFatal</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="dmxsync_8c.html#ab848762f4d2e30d31b87d3e8e10c5967">dmxSync()</a>, <a class="el" href="struct__myPrivate.html#a309900033b471a595518e7949e741a78">_myPrivate::gc</a>, <a class="el" href="struct__DMXScreenInfo.html#a0fdddca70b67ca947e663001ac3e398f">_DMXScreenInfo::scrnDefDrawables</a>, and <a class="el" href="struct__DMXScreenInfo.html#a78c03cd265e1c64b0d4028f0b27f99c4">_DMXScreenInfo::scrnWin</a>.</p>
206
207<p>Referenced by <a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor()</a>, and <a class="el" href="dmxextension_8c.html#a6ce8486d2aa17ed2ca5375b127b6189f">dmxBECreateResources()</a>.</p>
208
209</div>
210</div>
211<a class="anchor" id="ae0e94924bf5a69c2b26e9d0442befadd"></a><!-- doxytag: member="dmxcursor.h::dmxBEFreeCursor" ref="ae0e94924bf5a69c2b26e9d0442befadd" args="(ScreenPtr pScreen, CursorPtr pCursor)" -->
212<div class="memitem">
213<div class="memproto">
214      <table class="memname">
215        <tr>
216          <td class="memname">Bool dmxBEFreeCursor </td>
217          <td>(</td>
218          <td class="paramtype">ScreenPtr&#160;</td>
219          <td class="paramname"><em>pScreen</em>, </td>
220        </tr>
221        <tr>
222          <td class="paramkey"></td>
223          <td></td>
224          <td class="paramtype">CursorPtr&#160;</td>
225          <td class="paramname"><em>pCursor</em>&#160;</td>
226        </tr>
227        <tr>
228          <td></td>
229          <td>)</td>
230          <td></td><td></td>
231        </tr>
232      </table>
233</div>
234<div class="memdoc">
235<p>Free <em>pCursor</em> on the back-end associated with <em>pScreen</em>. </p>
236
237<p>References <a class="el" href="struct__DMXScreenInfo.html#a756ade62a55a52f163a42db6de54c244">_DMXScreenInfo::beDisplay</a>, <a class="el" href="struct__dmxCursorPriv.html#aa55d93640b2d29175eeaa07b92c83cad">_dmxCursorPriv::cursor</a>, <a class="el" href="dmxcursor_8h.html#a7ddaf12551bbbd8a23fa60c09cdd6218">DMX_GET_CURSOR_PRIV</a>, and <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>.</p>
238
239<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa2ac82b5666d162e873c7f0c88ec96f6">_dmxUnrealizeCursor()</a>, and <a class="el" href="dmxextension_8c.html#aaf05373ce6271205b865799a1c2a588f">dmxBEDestroyResources()</a>.</p>
240
241</div>
242</div>
243<a class="anchor" id="a6a381bffb099457e7c26a2312cf968a6"></a><!-- doxytag: member="dmxcursor.h::dmxCheckCursor" ref="a6a381bffb099457e7c26a2312cf968a6" args="(void)" -->
244<div class="memitem">
245<div class="memproto">
246      <table class="memname">
247        <tr>
248          <td class="memname">void dmxCheckCursor </td>
249          <td>(</td>
250          <td class="paramtype">void&#160;</td>
251          <td class="paramname"></td><td>)</td>
252          <td></td>
253        </tr>
254      </table>
255</div>
256<div class="memdoc">
257<p>This routine is called during reconfiguration to make sure the cursor is visible. </p>
258
259<p>References <a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor()</a>, <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>, <a class="el" href="struct__DMXScreenInfo.html#a7a61b71888a4d7c6eefa3cde29bbd677">_DMXScreenInfo::cursor</a>, <a class="el" href="dmxcursor_8c.html#a1056d63499cee76ebe297c19637f2b79">DMXDBG2</a>, <a class="el" href="dmxcursor_8c.html#ac7dc34eb6db6964e4330acc4d0e2badc">dmxFindCursor()</a>, <a class="el" href="dmxinput_8h.html#a8bb7b5687d93b86df921eef6b7c28052">dmxFindFirstScreen()</a>, <a class="el" href="dmxinput_8h.html#a0cb75edbb0cabbfd89b40309907bdee3">dmxGetGlobalPosition()</a>, <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>, <a class="el" href="dmxcursor_8c.html#adaf3455cdd3f54d22285e5a0fa99fddb">dmxOnScreen()</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="struct__DMXScreenInfo.html#a28849096f73f9bf14bb7e461dbb5cc94">_DMXScreenInfo::index</a>, <a class="el" href="struct__DMXScreenInfo.html#aef812b4b6f76c93b8e800e9388330add">_DMXScreenInfo::rootXOrigin</a>, and <a class="el" href="struct__DMXScreenInfo.html#a89914c5858cebec13b2256ad02d787ac">_DMXScreenInfo::rootYOrigin</a>.</p>
260
261<p>Referenced by <a class="el" href="dmxextension_8c.html#a2bf59b5de92ff76381543139f7b2c8fa">dmxAdjustCursorBoundaries()</a>, and <a class="el" href="dmxbackend_8h.html#a486d684411f79c459a1195e5c02f404c">dmxBackendUpdatePosition()</a>.</p>
262
263</div>
264</div>
265<a class="anchor" id="a709e3d4a4e44e17fed3de1fcb0d42b20"></a><!-- doxytag: member="dmxcursor.h::dmxCursorNoMulti" ref="a709e3d4a4e44e17fed3de1fcb0d42b20" args="(void)" -->
266<div class="memitem">
267<div class="memproto">
268      <table class="memname">
269        <tr>
270          <td class="memname">void dmxCursorNoMulti </td>
271          <td>(</td>
272          <td class="paramtype">void&#160;</td>
273          <td class="paramname"></td><td>)</td>
274          <td></td>
275        </tr>
276      </table>
277</div>
278<div class="memdoc">
279<p>Turn off support for displaying multiple cursors on overlapped back-end displays. See <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a>. </p>
280
281<p>References <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a>.</p>
282
283<p>Referenced by <a class="el" href="dmxinit_8c.html#a6ed0a235a6d852bfe0cc0250159a5daf">ddxProcessArgument()</a>.</p>
284
285</div>
286</div>
287<a class="anchor" id="ad67e1086ef62ecfa33549d74cd89a379"></a><!-- doxytag: member="dmxcursor.h::dmxHideCursor" ref="ad67e1086ef62ecfa33549d74cd89a379" args="(DMXScreenInfo *dmxScreen)" -->
288<div class="memitem">
289<div class="memproto">
290      <table class="memname">
291        <tr>
292          <td class="memname">void dmxHideCursor </td>
293          <td>(</td>
294          <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
295          <td class="paramname"><em>dmxScreen</em></td><td>)</td>
296          <td></td>
297        </tr>
298      </table>
299</div>
300<div class="memdoc">
301<p>This routine is used by the backend input routines to hide the cursor on a screen that is being used for relative input. </p>
302<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxbackend_8c.html">dmxbackend.c</a> </dd></dl>
303
304<p>References <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>, <a class="el" href="dmxinput_8h.html#a0cb75edbb0cabbfd89b40309907bdee3">dmxGetGlobalPosition()</a>, and <a class="el" href="struct__DMXScreenInfo.html#a28849096f73f9bf14bb7e461dbb5cc94">_DMXScreenInfo::index</a>.</p>
305
306<p>Referenced by <a class="el" href="dmxbackend_8h.html#a486d684411f79c459a1195e5c02f404c">dmxBackendUpdatePosition()</a>.</p>
307
308</div>
309</div>
310<a class="anchor" id="af3fb4b2c2d3cc318c88fbc6658893360"></a><!-- doxytag: member="dmxcursor.h::dmxInitOrigins" ref="af3fb4b2c2d3cc318c88fbc6658893360" args="(void)" -->
311<div class="memitem">
312<div class="memproto">
313      <table class="memname">
314        <tr>
315          <td class="memname">void dmxInitOrigins </td>
316          <td>(</td>
317          <td class="paramtype">void&#160;</td>
318          <td class="paramname"></td><td>)</td>
319          <td></td>
320        </tr>
321      </table>
322</div>
323<div class="memdoc">
324<p>Initialize screen origins (and relative position). This is called for each server generation. For dynamic reconfiguration, use <a class="el" href="dmxcursor_8c.html#a9bdb6eff5f7f86fd071091c5a55cee7c">dmxReInitOrigins()</a> instead. </p>
325
326<p>References <a class="el" href="struct__DMXScreenInfo.html#a5e865cb99dd73ba18991912af275994f">_DMXScreenInfo::beBPP</a>, <a class="el" href="struct__DMXScreenInfo.html#ac435223f6a5921beab567cc23b83f07f">_DMXScreenInfo::beDepth</a>, <a class="el" href="struct__DMXScreenInfo.html#a713ca6d9bf7a4527f442519554e1fc94">_DMXScreenInfo::beHeight</a>, <a class="el" href="struct__DMXScreenInfo.html#aaa160ae9fce9f7c58bb9f6c0a9709861">_DMXScreenInfo::beWidth</a>, <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fa4d84ad320675a046536d76c0820abc70">dmxFatal</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxlog_8c.html#aabe50ca33403c25a9e57a06d1d3a089a">dmxLogOutput()</a>, <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>, <a class="el" href="dmxcursor_8c.html#a9bdb6eff5f7f86fd071091c5a55cee7c">dmxReInitOrigins()</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="struct__DMXScreenInfo.html#a021f9c1883ae7d96bd47c53bc0bab428">_DMXScreenInfo::rootHeight</a>, <a class="el" href="struct__DMXScreenInfo.html#a1edc0ff1f4afd8176c237248da677350">_DMXScreenInfo::rootWidth</a>, <a class="el" href="struct__DMXScreenInfo.html#a94bafd201bf311e19fc17772e5ccdc28">_DMXScreenInfo::rootX</a>, <a class="el" href="struct__DMXScreenInfo.html#aef812b4b6f76c93b8e800e9388330add">_DMXScreenInfo::rootXOrigin</a>, <a class="el" href="struct__DMXScreenInfo.html#acd81762e240cca8a57c90ab7f423ca8f">_DMXScreenInfo::rootY</a>, <a class="el" href="struct__DMXScreenInfo.html#a89914c5858cebec13b2256ad02d787ac">_DMXScreenInfo::rootYOrigin</a>, <a class="el" href="struct__DMXScreenInfo.html#a2a1733427433e53a0df2575168ad0713">_DMXScreenInfo::scrnHeight</a>, <a class="el" href="struct__DMXScreenInfo.html#ac4c86f223d149ffda30a32ebaffee23a">_DMXScreenInfo::scrnWidth</a>, <a class="el" href="struct__DMXScreenInfo.html#a25e823320e01d5c61c996a9e4f3c2920">_DMXScreenInfo::scrnX</a>, <a class="el" href="struct__DMXScreenInfo.html#aec971ffcb8c7970610513deef57da9f0">_DMXScreenInfo::scrnY</a>, <a class="el" href="struct__DMXScreenInfo.html#a2cb225a5c08ae6ea0ce19d85616f143b">_DMXScreenInfo::where</a>, <a class="el" href="struct__DMXScreenInfo.html#a9d0572de80377c7ad7407dfb0cf22d8a">_DMXScreenInfo::whereX</a>, and <a class="el" href="struct__DMXScreenInfo.html#aeb391a900f17b41e18127b4b31026c96">_DMXScreenInfo::whereY</a>.</p>
327
328<p>Referenced by <a class="el" href="dmxinit_8c.html#a51c195c51f4f09e981384a4215f82321">InitOutput()</a>.</p>
329
330</div>
331</div>
332<a class="anchor" id="a77c74a33de88fae6cf0de8b755a5c411"></a><!-- doxytag: member="dmxcursor.h::dmxInitOverlap" ref="a77c74a33de88fae6cf0de8b755a5c411" args="(void)" -->
333<div class="memitem">
334<div class="memproto">
335      <table class="memname">
336        <tr>
337          <td class="memname">void dmxInitOverlap </td>
338          <td>(</td>
339          <td class="paramtype">void&#160;</td>
340          <td class="paramname"></td><td>)</td>
341          <td></td>
342        </tr>
343      </table>
344</div>
345<div class="memdoc">
346<p>Detects overlapping dmxScreens and creates circular lists. This uses an O(dmxNumScreens^2) algorithm, but dmxNumScreens is &lt; 100 and the computation only needs to be performed for every server generation or dynamic reconfiguration . </p>
347
348<p>References <a class="el" href="struct__DMXScreenInfo.html#a83dd882008eb7e54cc81987a23ab9fd5">_DMXScreenInfo::cursorNotShared</a>, <a class="el" href="dmxcursor_8c.html#af703e1a00a515e2507f7d2a354429a24">DMXDBG6</a>, <a class="el" href="dmxcursor_8c.html#a5612d5f5b97d54fa9eb73540eaeba4f3">dmxDoesOverlap()</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917faf73564300bdffb23b369b84c842aceea">dmxInfo</a>, <a class="el" href="dmxcursor_8c.html#a28c6651bdff6f7fc01292548659a6eb4">dmxIterateOverlap()</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxlog_8c.html#aabe50ca33403c25a9e57a06d1d3a089a">dmxLogOutput()</a>, <a class="el" href="dmxlog_8c.html#a9ee9ef3403a0905596796cfcac2334d2">dmxLogOutputCont()</a>, <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>, <a class="el" href="dmxcursor_8c.html#a52398858fc93988512050543967652fe">dmxPrintOverlap()</a>, <a class="el" href="dmxprop_8c.html#a1353800f90c3a1f46d453caa71a41ab6">dmxPropertyIterate()</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="dmxcursor_8c.html#a3beed7bb0f6999879936b2f47751d125">dmxTestSameDisplay()</a>, <a class="el" href="struct__DMXScreenInfo.html#a28849096f73f9bf14bb7e461dbb5cc94">_DMXScreenInfo::index</a>, <a class="el" href="struct__DMXScreenInfo.html#a5cfc14ffedaafcbe5b00302f972208cf">_DMXScreenInfo::name</a>, and <a class="el" href="struct__DMXScreenInfo.html#ac55a37b29ce99474516995b09f794d9c">_DMXScreenInfo::over</a>.</p>
349
350<p>Referenced by <a class="el" href="dmxextension_8c.html#a2bf59b5de92ff76381543139f7b2c8fa">dmxAdjustCursorBoundaries()</a>, and <a class="el" href="dmxinit_8c.html#a51c195c51f4f09e981384a4215f82321">InitOutput()</a>.</p>
351
352</div>
353</div>
354<a class="anchor" id="a21820e2001f763e3cfc924a1d602bb62"></a><!-- doxytag: member="dmxcursor.h::dmxMoveCursor" ref="a21820e2001f763e3cfc924a1d602bb62" args="(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)" -->
355<div class="memitem">
356<div class="memproto">
357      <table class="memname">
358        <tr>
359          <td class="memname">void dmxMoveCursor </td>
360          <td>(</td>
361          <td class="paramtype">DeviceIntPtr&#160;</td>
362          <td class="paramname"><em>pDev</em>, </td>
363        </tr>
364        <tr>
365          <td class="paramkey"></td>
366          <td></td>
367          <td class="paramtype">ScreenPtr&#160;</td>
368          <td class="paramname"><em>pScreen</em>, </td>
369        </tr>
370        <tr>
371          <td class="paramkey"></td>
372          <td></td>
373          <td class="paramtype">int&#160;</td>
374          <td class="paramname"><em>x</em>, </td>
375        </tr>
376        <tr>
377          <td class="paramkey"></td>
378          <td></td>
379          <td class="paramtype">int&#160;</td>
380          <td class="paramname"><em>y</em>&#160;</td>
381        </tr>
382        <tr>
383          <td></td>
384          <td>)</td>
385          <td></td><td></td>
386        </tr>
387      </table>
388</div>
389<div class="memdoc">
390<p>Move the cursor to coordinates (<em>x</em>, <em>y</em>)on <em>pScreen</em>. This function is usually called via <a class="el" href="dmxcursor_8h.html#a7bf2f59a6c5d381aea975cd78dd1f9dc">dmxPointerSpriteFuncs</a>, except during reconfiguration when the cursor is repositioned to force an update on newley overlapping screens and on screens that no longer overlap.</p>
391<p>The coords (x,y) are in global coord space. We'll loop over the back-end screens and see if they contain the global coord. If so, call <a class="el" href="dmxcursor_8c.html#aa208a04334d595e3507287bacffdae80">_dmxMoveCursor()</a> (XWarpPointer) to position the pointer on that screen. </p>
392
393<p>References <a class="el" href="dmxcursor_8c.html#aa208a04334d595e3507287bacffdae80">_dmxMoveCursor()</a>, <a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor()</a>, <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>, <a class="el" href="struct__DMXScreenInfo.html#a7a61b71888a4d7c6eefa3cde29bbd677">_DMXScreenInfo::cursor</a>, <a class="el" href="struct__DMXScreenInfo.html#a83dd882008eb7e54cc81987a23ab9fd5">_DMXScreenInfo::cursorNotShared</a>, <a class="el" href="struct__DMXScreenInfo.html#a68f4dfcb582f9470e09c10a6e21ec5e3">_DMXScreenInfo::cursorVisible</a>, <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a>, <a class="el" href="dmxcursor_8c.html#a6c6714b899194081b94edb722ca1c4bc">DMXDBG3</a>, <a class="el" href="dmxcursor_8c.html#ac7dc34eb6db6964e4330acc4d0e2badc">dmxFindCursor()</a>, <a class="el" href="dmxcursor_8c.html#adaf3455cdd3f54d22285e5a0fa99fddb">dmxOnScreen()</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="struct__DMXScreenInfo.html#a28849096f73f9bf14bb7e461dbb5cc94">_DMXScreenInfo::index</a>, <a class="el" href="struct__DMXScreenInfo.html#ac55a37b29ce99474516995b09f794d9c">_DMXScreenInfo::over</a>, <a class="el" href="struct__DMXScreenInfo.html#aef812b4b6f76c93b8e800e9388330add">_DMXScreenInfo::rootXOrigin</a>, and <a class="el" href="struct__DMXScreenInfo.html#a89914c5858cebec13b2256ad02d787ac">_DMXScreenInfo::rootYOrigin</a>.</p>
394
395</div>
396</div>
397<a class="anchor" id="adaf3455cdd3f54d22285e5a0fa99fddb"></a><!-- doxytag: member="dmxcursor.h::dmxOnScreen" ref="adaf3455cdd3f54d22285e5a0fa99fddb" args="(int x, int y, DMXScreenInfo *dmxScreen)" -->
398<div class="memitem">
399<div class="memproto">
400      <table class="memname">
401        <tr>
402          <td class="memname">int dmxOnScreen </td>
403          <td>(</td>
404          <td class="paramtype">int&#160;</td>
405          <td class="paramname"><em>x</em>, </td>
406        </tr>
407        <tr>
408          <td class="paramkey"></td>
409          <td></td>
410          <td class="paramtype">int&#160;</td>
411          <td class="paramname"><em>y</em>, </td>
412        </tr>
413        <tr>
414          <td class="paramkey"></td>
415          <td></td>
416          <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
417          <td class="paramname"><em>dmxScreen</em>&#160;</td>
418        </tr>
419        <tr>
420          <td></td>
421          <td>)</td>
422          <td></td><td></td>
423        </tr>
424      </table>
425</div>
426<div class="memdoc">
427<p>Returns non-zero if the global <em>x</em>, <em>y</em> coordinate is on the screen window of the <em>dmxScreen</em>. </p>
428
429<p>References <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fa55e322963608341d32ebb8a0b9d936fe">dmxDebug</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="struct__DMXScreenInfo.html#a28849096f73f9bf14bb7e461dbb5cc94">_DMXScreenInfo::index</a>, <a class="el" href="struct__DMXScreenInfo.html#a021f9c1883ae7d96bd47c53bc0bab428">_DMXScreenInfo::rootHeight</a>, <a class="el" href="struct__DMXScreenInfo.html#a1edc0ff1f4afd8176c237248da677350">_DMXScreenInfo::rootWidth</a>, <a class="el" href="struct__DMXScreenInfo.html#a94bafd201bf311e19fc17772e5ccdc28">_DMXScreenInfo::rootX</a>, <a class="el" href="struct__DMXScreenInfo.html#aef812b4b6f76c93b8e800e9388330add">_DMXScreenInfo::rootXOrigin</a>, <a class="el" href="struct__DMXScreenInfo.html#acd81762e240cca8a57c90ab7f423ca8f">_DMXScreenInfo::rootY</a>, <a class="el" href="struct__DMXScreenInfo.html#a89914c5858cebec13b2256ad02d787ac">_DMXScreenInfo::rootYOrigin</a>, <a class="el" href="struct__DMXScreenInfo.html#a2a1733427433e53a0df2575168ad0713">_DMXScreenInfo::scrnHeight</a>, <a class="el" href="struct__DMXScreenInfo.html#ac4c86f223d149ffda30a32ebaffee23a">_DMXScreenInfo::scrnWidth</a>, <a class="el" href="struct__DMXScreenInfo.html#a25e823320e01d5c61c996a9e4f3c2920">_DMXScreenInfo::scrnX</a>, and <a class="el" href="struct__DMXScreenInfo.html#aec971ffcb8c7970610513deef57da9f0">_DMXScreenInfo::scrnY</a>.</p>
430
431<p>Referenced by <a class="el" href="dmxbackend_8c.html#ad19eff278a8cb7748201a1e654c4bf32">dmxBackendFindOverlapping()</a>, <a class="el" href="dmxbackend_8c.html#a2cb121a910d12c89e65fe68d8acb203f">dmxBackendOffscreen()</a>, <a class="el" href="dmxcursor_8h.html#a6a381bffb099457e7c26a2312cf968a6">dmxCheckCursor()</a>, <a class="el" href="dmxcursor_8c.html#a5612d5f5b97d54fa9eb73540eaeba4f3">dmxDoesOverlap()</a>, <a class="el" href="dmxevents_8c.html#a8bb7b5687d93b86df921eef6b7c28052">dmxFindFirstScreen()</a>, <a class="el" href="dmxcursor_8h.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor()</a>, and <a class="el" href="dmxcursor_8c.html#a4cbf6be156525a669ae883465f6458c2">dmxSetCursor()</a>.</p>
432
433</div>
434</div>
435<a class="anchor" id="a9bdb6eff5f7f86fd071091c5a55cee7c"></a><!-- doxytag: member="dmxcursor.h::dmxReInitOrigins" ref="a9bdb6eff5f7f86fd071091c5a55cee7c" args="(void)" -->
436<div class="memitem">
437<div class="memproto">
438      <table class="memname">
439        <tr>
440          <td class="memname">void dmxReInitOrigins </td>
441          <td>(</td>
442          <td class="paramtype">void&#160;</td>
443          <td class="paramname"></td><td>)</td>
444          <td></td>
445        </tr>
446      </table>
447</div>
448<div class="memdoc">
449<p>Recompute origin information in the <a class="el" href="dmxinit_8c.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a> list. This is called from <a class="el" href="dmxcursor_8h.html#af3fb4b2c2d3cc318c88fbc6658893360">dmxInitOrigins</a>. </p>
450
451<p>References <a class="el" href="struct__DMXScreenInfo.html#a5e865cb99dd73ba18991912af275994f">_DMXScreenInfo::beBPP</a>, <a class="el" href="struct__DMXScreenInfo.html#ac435223f6a5921beab567cc23b83f07f">_DMXScreenInfo::beDepth</a>, <a class="el" href="struct__DMXScreenInfo.html#a713ca6d9bf7a4527f442519554e1fc94">_DMXScreenInfo::beHeight</a>, <a class="el" href="struct__DMXScreenInfo.html#aaa160ae9fce9f7c58bb9f6c0a9709861">_DMXScreenInfo::beWidth</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fa4d84ad320675a046536d76c0820abc70">dmxFatal</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxlog_8c.html#aabe50ca33403c25a9e57a06d1d3a089a">dmxLogOutput()</a>, <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="struct__DMXScreenInfo.html#a021f9c1883ae7d96bd47c53bc0bab428">_DMXScreenInfo::rootHeight</a>, <a class="el" href="struct__DMXScreenInfo.html#a1edc0ff1f4afd8176c237248da677350">_DMXScreenInfo::rootWidth</a>, <a class="el" href="struct__DMXScreenInfo.html#a94bafd201bf311e19fc17772e5ccdc28">_DMXScreenInfo::rootX</a>, <a class="el" href="struct__DMXScreenInfo.html#aef812b4b6f76c93b8e800e9388330add">_DMXScreenInfo::rootXOrigin</a>, <a class="el" href="struct__DMXScreenInfo.html#acd81762e240cca8a57c90ab7f423ca8f">_DMXScreenInfo::rootY</a>, <a class="el" href="struct__DMXScreenInfo.html#a89914c5858cebec13b2256ad02d787ac">_DMXScreenInfo::rootYOrigin</a>, <a class="el" href="struct__DMXScreenInfo.html#a2a1733427433e53a0df2575168ad0713">_DMXScreenInfo::scrnHeight</a>, <a class="el" href="struct__DMXScreenInfo.html#ac4c86f223d149ffda30a32ebaffee23a">_DMXScreenInfo::scrnWidth</a>, <a class="el" href="struct__DMXScreenInfo.html#a25e823320e01d5c61c996a9e4f3c2920">_DMXScreenInfo::scrnX</a>, and <a class="el" href="struct__DMXScreenInfo.html#aec971ffcb8c7970610513deef57da9f0">_DMXScreenInfo::scrnY</a>.</p>
452
453<p>Referenced by <a class="el" href="dmxextension_8c.html#a2bf59b5de92ff76381543139f7b2c8fa">dmxAdjustCursorBoundaries()</a>, and <a class="el" href="dmxcursor_8h.html#af3fb4b2c2d3cc318c88fbc6658893360">dmxInitOrigins()</a>.</p>
454
455</div>
456</div>
457<hr/><h2>Variable Documentation</h2>
458<a class="anchor" id="aacf8d4857dd965073f62f10a53edcaa3"></a><!-- doxytag: member="dmxcursor.h::dmxPointerCursorFuncs" ref="aacf8d4857dd965073f62f10a53edcaa3" args="" -->
459<div class="memitem">
460<div class="memproto">
461      <table class="memname">
462        <tr>
463          <td class="memname">miPointerScreenFuncRec <a class="el" href="dmxcursor_8h.html#aacf8d4857dd965073f62f10a53edcaa3">dmxPointerCursorFuncs</a></td>
464        </tr>
465      </table>
466</div>
467<div class="memdoc">
468<p>Cursor functions for mi layer. </p>
469<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> </dd>
470<dd>
471<a class="el" href="dmxscrinit_8c.html">dmxscrinit.c</a> </dd></dl>
472
473<p>Referenced by <a class="el" href="dmxscrinit_8h.html#a673d8a2c038f8ed0da5f910a72a5c4c2">dmxScreenInit()</a>.</p>
474
475</div>
476</div>
477<a class="anchor" id="a7bf2f59a6c5d381aea975cd78dd1f9dc"></a><!-- doxytag: member="dmxcursor.h::dmxPointerSpriteFuncs" ref="a7bf2f59a6c5d381aea975cd78dd1f9dc" args="" -->
478<div class="memitem">
479<div class="memproto">
480      <table class="memname">
481        <tr>
482          <td class="memname">miPointerSpriteFuncRec <a class="el" href="dmxcursor_8h.html#a7bf2f59a6c5d381aea975cd78dd1f9dc">dmxPointerSpriteFuncs</a></td>
483        </tr>
484      </table>
485</div>
486<div class="memdoc">
487<p>Sprite functions for mi layer. </p>
488<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> </dd>
489<dd>
490<a class="el" href="dmxscrinit_8c.html">dmxscrinit.c</a> </dd></dl>
491
492<p>Referenced by <a class="el" href="dmxscrinit_8h.html#a673d8a2c038f8ed0da5f910a72a5c4c2">dmxScreenInit()</a>.</p>
493
494</div>
495</div>
496</div>
497</div>
498  <div id="nav-path" class="navpath">
499    <ul>
500      <li class="navelem"><a class="el" href="dmxcursor_8h.html">dmxcursor.h</a>      </li>
501    <hr>
502    <address>
503      <small>
504        Generated June 29, 2004 for <a
505        href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
506        <a href="http://www.doxygen.org/index.html">doxygen</a>
507        1.3.4.
508      </small>
509    </addres>
510    </hr>
511  </body>
512</html>
513