summaryrefslogtreecommitdiff
path: root/hw/dmx/doc/html/dmxcursor_8c.html
diff options
context:
space:
mode:
authorroot <root@zombrain.(none)>2011-07-25 08:54:41 (GMT)
committerroot <root@zombrain.(none)>2011-07-25 08:54:41 (GMT)
commitab4fcaad149d4bdccefa8f693c2a8e044b40dd4c (patch)
treec95c280caabc70e7aedbde723e38820047357be7 /hw/dmx/doc/html/dmxcursor_8c.html
initial state (xorg-server 1.10.2)
Diffstat (limited to 'hw/dmx/doc/html/dmxcursor_8c.html')
-rw-r--r--hw/dmx/doc/html/dmxcursor_8c.html1515
1 files changed, 1515 insertions, 0 deletions
diff --git a/hw/dmx/doc/html/dmxcursor_8c.html b/hw/dmx/doc/html/dmxcursor_8c.html
new file mode 100644
index 0000000..8b73a95
--- /dev/null
+++ b/hw/dmx/doc/html/dmxcursor_8c.html
@@ -0,0 +1,1515 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+ <title>File Index</title>
+ <link href="doxygen.css" rel="stylesheet" type="text/css">
+ </head>
+ <body>
+<!-- Generated by Doxygen 1.7.3 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+ initNavTree('dmxcursor_8c.html','');
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#define-members">Defines</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<h1>dmxcursor.c File Reference</h1> </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include &quot;<a class="el" href="dmx_8h_source.html">dmx.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="dmxsync_8h_source.html">dmxsync.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="dmxcursor_8h_source.html">dmxcursor.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="dmxlog_8h_source.html">dmxlog.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="dmxprop_8h_source.html">dmxprop.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="dmxinput_8h_source.html">dmxinput.h</a>&quot;</code><br/>
+<code>#include &quot;mipointer.h&quot;</code><br/>
+<code>#include &quot;windowstr.h&quot;</code><br/>
+<code>#include &quot;globals.h&quot;</code><br/>
+<code>#include &quot;cursorstr.h&quot;</code><br/>
+<code>#include &quot;dixevents.h&quot;</code><br/>
+<code>#include &quot;inputstr.h&quot;</code><br/>
+</div><table class="memberdecls">
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a757d7359cf12591268a62c0974178079">DMX_CURSOR_DEBUG</a>&#160;&#160;&#160;0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#adf6865b0bc7ad370c94e3b8682262c13">DMXDBG0</a>(f)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a302a2c9f84249eee79404eb601d085ab">DMXDBG1</a>(f, a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a1056d63499cee76ebe297c19637f2b79">DMXDBG2</a>(f, a, b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a6c6714b899194081b94edb722ca1c4bc">DMXDBG3</a>(f, a, b, c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a8ffd07ee80777c394a6ff32d1021347d">DMXDBG4</a>(f, a, b, c, d)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a753eef37715b6379d7d65e34a23d2e03">DMXDBG5</a>(f, a, b, c, d, e)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#af703e1a00a515e2507f7d2a354429a24">DMXDBG6</a>(f, a, b, c, d, e, g)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ab45c7f6cc47b2c786215ca0276d37d91">DMXDBG7</a>(f, a, b, c, d, e, g, h)</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a709e3d4a4e44e17fed3de1fcb0d42b20">dmxCursorNoMulti</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a1c7f5d94ee32f85ec027c53b881fc697">dmxCursorOffScreen</a> (ScreenPtr *ppScreen, int *x, int *y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a2d0757fa7119492da7fe26901dab8571">dmxCrossScreen</a> (ScreenPtr pScreen, Bool entering)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#af80076061e55521b62a7cfd8e66bf3e6">dmxWarpCursor</a> (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aaf8a9878f12b6653247fc27d960beccf">dmxSLCreate</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a565fbb8c3754a14c1aed13b741705b91">dmxSLFree</a> (int *list)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ab4dcb11cad339e72d843356841ffd203">dmxSLFindNext</a> (int *list)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a97efbe7e0a872da9de0be49da214c210">dmxTryComputeScreenOrigins</a> (int *screensLeft)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a9bdb6eff5f7f86fd071091c5a55cee7c">dmxReInitOrigins</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#af3fb4b2c2d3cc318c88fbc6658893360">dmxInitOrigins</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#adaf3455cdd3f54d22285e5a0fa99fddb">dmxOnScreen</a> (int x, int y, <a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a5612d5f5b97d54fa9eb73540eaeba4f3">dmxDoesOverlap</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *a, <a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a52398858fc93988512050543967652fe">dmxPrintOverlap</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen, void *closure)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a28c6651bdff6f7fc01292548659a6eb4">dmxIterateOverlap</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *start, void *(*f)(<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen, void *), void *closure)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a3beed7bb0f6999879936b2f47751d125">dmxTestSameDisplay</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *a, void *closure)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a84c92b801c5802879047e74401f62e94">dmxBECreateCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ae0e94924bf5a69c2b26e9d0442befadd">dmxBEFreeCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aa2ac82b5666d162e873c7f0c88ec96f6">_dmxUnrealizeCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aa208a04334d595e3507287bacffdae80">_dmxMoveCursor</a> (ScreenPtr pScreen, int x, int y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor</a> (ScreenPtr pScreen, CursorPtr pCursor, int x, int y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ad51761f218c643ebe7f010538e9c745f">dmxRealizeCursor</a> (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a81c0223355350e6d897d4d7306381130">dmxUnrealizeCursor</a> (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static CursorPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ac7dc34eb6db6964e4330acc4d0e2badc">dmxFindCursor</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *start)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor</a> (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a4cbf6be156525a669ae883465f6458c2">dmxSetCursor</a> (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x, int y)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ad67e1086ef62ecfa33549d74cd89a379">dmxHideCursor</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a6a381bffb099457e7c26a2312cf968a6">dmxCheckCursor</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a214b710621ed0279d6321375f3512a87">dmxDeviceCursorInitialize</a> (DeviceIntPtr pDev, ScreenPtr pScr)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#af291298e4f52875e45d7097a223a8c0b">dmxDeviceCursorCleanup</a> (DeviceIntPtr pDev, ScreenPtr pScr)</td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a> = 1</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">miPointerScreenFuncRec&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aacf8d4857dd965073f62f10a53edcaa3">dmxPointerCursorFuncs</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">miPointerSpriteFuncRec&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a7bf2f59a6c5d381aea975cd78dd1f9dc">dmxPointerSpriteFuncs</a></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p>This file contains code than supports cursor movement, including the code that initializes and reinitializes the screen positions and computes screen overlap.</p>
+<p>"This code is based very closely on the XFree86 equivalent
+ (xfree86/common/xf86Cursor.c)." --David Dawes.</p>
+<p>"This code was then extensively re-written, as explained here." --Rik Faith</p>
+<p>The code in xf86Cursor.c used edge lists to implement the CursorOffScreen function. The edge list computation was complex (especially in the face of arbitrarily overlapping screens) compared with the speed savings in the CursorOffScreen function. The new implementation has erred on the side of correctness, readability, and maintainability over efficiency. For the common (non-edge) case, the dmxCursorOffScreen function does avoid a loop over all the screens. When the cursor has left the screen, all the screens are searched, and the first screen (in dmxScreens order) containing the cursor will be returned. If run-time profiling shows that this routing is a performance bottle-neck, then an edge list may have to be reimplemented. An edge list algorithm is O(edges) whereas the new algorithm is O(dmxNumScreens). Since edges is usually 1-3 and dmxNumScreens may be 30-60 for large backend walls, this trade off may be compelling.</p>
+<p>The xf86InitOrigins routine uses bit masks during the computation and is therefore limited to the length of a word (e.g., 32 or 64 bits) screens. Because Xdmx is expected to be used with a large number of backend displays, this limitation was removed. The new implementation has erred on the side of readability over efficiency, using the dmxSL* routines to manage a screen list instead of a bitmap, and a function call to decrease the length of the main routine. Both algorithms are of the same order, and both are called only at server generation time, so trading clarity and long-term maintainability for efficiency does not seem justified in this case. </p>
+</div><hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a757d7359cf12591268a62c0974178079"></a><!-- doxytag: member="dmxcursor.c::DMX_CURSOR_DEBUG" ref="a757d7359cf12591268a62c0974178079" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMX_CURSOR_DEBUG&#160;&#160;&#160;0</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="adf6865b0bc7ad370c94e3b8682262c13"></a><!-- doxytag: member="dmxcursor.c::DMXDBG0" ref="adf6865b0bc7ad370c94e3b8682262c13" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMXDBG0</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">f</td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a302a2c9f84249eee79404eb601d085ab"></a><!-- doxytag: member="dmxcursor.c::DMXDBG1" ref="a302a2c9f84249eee79404eb601d085ab" args="(f, a)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMXDBG1</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">a&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a1056d63499cee76ebe297c19637f2b79"></a><!-- doxytag: member="dmxcursor.c::DMXDBG2" ref="a1056d63499cee76ebe297c19637f2b79" args="(f, a, b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMXDBG2</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">b&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor()</a>, <a class="el" href="dmxcursor_8c.html#aa2ac82b5666d162e873c7f0c88ec96f6">_dmxUnrealizeCursor()</a>, and <a class="el" href="dmxcursor_8h.html#a6a381bffb099457e7c26a2312cf968a6">dmxCheckCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6c6714b899194081b94edb722ca1c4bc"></a><!-- doxytag: member="dmxcursor.c::DMXDBG3" ref="a6c6714b899194081b94edb722ca1c4bc" args="(f, a, b, c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMXDBG3</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">b, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">c&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor()</a>, and <a class="el" href="dmxcursor_8c.html#af80076061e55521b62a7cfd8e66bf3e6">dmxWarpCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8ffd07ee80777c394a6ff32d1021347d"></a><!-- doxytag: member="dmxcursor.c::DMXDBG4" ref="a8ffd07ee80777c394a6ff32d1021347d" args="(f, a, b, c, d)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMXDBG4</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">b, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">c, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">d&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a753eef37715b6379d7d65e34a23d2e03"></a><!-- doxytag: member="dmxcursor.c::DMXDBG5" ref="a753eef37715b6379d7d65e34a23d2e03" args="(f, a, b, c, d, e)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMXDBG5</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">b, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">c, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">d, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">e&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa208a04334d595e3507287bacffdae80">_dmxMoveCursor()</a>, and <a class="el" href="dmxcursor_8c.html#a4cbf6be156525a669ae883465f6458c2">dmxSetCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af703e1a00a515e2507f7d2a354429a24"></a><!-- doxytag: member="dmxcursor.c::DMXDBG6" ref="af703e1a00a515e2507f7d2a354429a24" args="(f, a, b, c, d, e, g)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMXDBG6</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">b, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">c, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">d, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">e, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">g&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab45c7f6cc47b2c786215ca0276d37d91"></a><!-- doxytag: member="dmxcursor.c::DMXDBG7" ref="ab45c7f6cc47b2c786215ca0276d37d91" args="(f, a, b, c, d, e, g, h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define DMXDBG7</td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">b, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">c, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">d, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">e, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">g, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname">h&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="aa208a04334d595e3507287bacffdae80"></a><!-- doxytag: member="dmxcursor.c::_dmxMoveCursor" ref="aa208a04334d595e3507287bacffdae80" args="(ScreenPtr pScreen, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void _dmxMoveCursor </td>
+ <td>(</td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>y</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="struct__DMXScreenInfo.html#a756ade62a55a52f163a42db6de54c244">_DMXScreenInfo::beDisplay</a>, <a class="el" href="dmxcursor_8c.html#a753eef37715b6379d7d65e34a23d2e03">DMXDBG5</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__DMXScreenInfo.html#a94bafd201bf311e19fc17772e5ccdc28">_DMXScreenInfo::rootX</a>, <a class="el" href="struct__DMXScreenInfo.html#acd81762e240cca8a57c90ab7f423ca8f">_DMXScreenInfo::rootY</a>, and <a class="el" href="struct__DMXScreenInfo.html#a78c03cd265e1c64b0d4028f0b27f99c4">_DMXScreenInfo::scrnWin</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>, and <a class="el" href="dmxcursor_8h.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac722828c4781d1a44d8b04955472a134"></a><!-- doxytag: member="dmxcursor.c::_dmxRealizeCursor" ref="ac722828c4781d1a44d8b04955472a134" args="(ScreenPtr pScreen, CursorPtr pCursor)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Bool _dmxRealizeCursor </td>
+ <td>(</td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CursorPtr&#160;</td>
+ <td class="paramname"><em>pCursor</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<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>, <a class="el" href="dmxcursor_8h.html#a7ec081934a095ba159d03229e714cfd5">DMX_SET_CURSOR_PRIV</a>, <a class="el" href="dmxcursor_8c.html#a84c92b801c5802879047e74401f62e94">dmxBECreateCursor()</a>, <a class="el" href="dmxcursor_8c.html#a1056d63499cee76ebe297c19637f2b79">DMXDBG2</a>, and <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a6a381bffb099457e7c26a2312cf968a6">dmxCheckCursor()</a>, <a class="el" href="dmxcursor_8h.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor()</a>, and <a class="el" href="dmxcursor_8c.html#ad51761f218c643ebe7f010538e9c745f">dmxRealizeCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6fd26c7c7811ff77fc3c6e84b82d57d5"></a><!-- doxytag: member="dmxcursor.c::_dmxSetCursor" ref="a6fd26c7c7811ff77fc3c6e84b82d57d5" args="(ScreenPtr pScreen, CursorPtr pCursor, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void _dmxSetCursor </td>
+ <td>(</td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CursorPtr&#160;</td>
+ <td class="paramname"><em>pCursor</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>y</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmxcursor_8c.html#aa208a04334d595e3507287bacffdae80">_dmxMoveCursor()</a>, <a class="el" href="struct__DMXScreenInfo.html#a756ade62a55a52f163a42db6de54c244">_DMXScreenInfo::beDisplay</a>, <a class="el" href="struct__DMXScreenInfo.html#aec1712642a093f935194bfe49d0d4050">_DMXScreenInfo::curCursor</a>, <a class="el" href="struct__DMXScreenInfo.html#a7a61b71888a4d7c6eefa3cde29bbd677">_DMXScreenInfo::cursor</a>, <a class="el" href="struct__dmxCursorPriv.html#aa55d93640b2d29175eeaa07b92c83cad">_dmxCursorPriv::cursor</a>, <a class="el" href="struct__DMXScreenInfo.html#a68f4dfcb582f9470e09c10a6e21ec5e3">_DMXScreenInfo::cursorVisible</a>, <a class="el" href="dmxcursor_8h.html#a7ddaf12551bbbd8a23fa60c09cdd6218">DMX_GET_CURSOR_PRIV</a>, <a class="el" href="dmxcursor_8c.html#a8ffd07ee80777c394a6ff32d1021347d">DMXDBG4</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__DMXScreenInfo.html#a148c7073ff8a41bee48e6c375e622bd9">_DMXScreenInfo::noCursor</a>, and <a class="el" href="struct__DMXScreenInfo.html#a78c03cd265e1c64b0d4028f0b27f99c4">_DMXScreenInfo::scrnWin</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a6a381bffb099457e7c26a2312cf968a6">dmxCheckCursor()</a>, <a class="el" href="dmxcursor_8h.html#ad67e1086ef62ecfa33549d74cd89a379">dmxHideCursor()</a>, <a class="el" href="dmxcursor_8h.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor()</a>, and <a class="el" href="dmxcursor_8c.html#a4cbf6be156525a669ae883465f6458c2">dmxSetCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa2ac82b5666d162e873c7f0c88ec96f6"></a><!-- doxytag: member="dmxcursor.c::_dmxUnrealizeCursor" ref="aa2ac82b5666d162e873c7f0c88ec96f6" args="(ScreenPtr pScreen, CursorPtr pCursor)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Bool _dmxUnrealizeCursor </td>
+ <td>(</td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CursorPtr&#160;</td>
+ <td class="paramname"><em>pCursor</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="struct__DMXScreenInfo.html#a756ade62a55a52f163a42db6de54c244">_DMXScreenInfo::beDisplay</a>, <a class="el" href="dmxcursor_8h.html#a7ddaf12551bbbd8a23fa60c09cdd6218">DMX_GET_CURSOR_PRIV</a>, <a class="el" href="dmxcursor_8h.html#a7ec081934a095ba159d03229e714cfd5">DMX_SET_CURSOR_PRIV</a>, <a class="el" href="dmxcursor_8c.html#ae0e94924bf5a69c2b26e9d0442befadd">dmxBEFreeCursor()</a>, <a class="el" href="dmxcursor_8c.html#a1056d63499cee76ebe297c19637f2b79">DMXDBG2</a>, and <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#a81c0223355350e6d897d4d7306381130">dmxUnrealizeCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a84c92b801c5802879047e74401f62e94"></a><!-- doxytag: member="dmxcursor.c::dmxBECreateCursor" ref="a84c92b801c5802879047e74401f62e94" args="(ScreenPtr pScreen, CursorPtr pCursor)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxBECreateCursor </td>
+ <td>(</td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CursorPtr&#160;</td>
+ <td class="paramname"><em>pCursor</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Create <em>pCursor</em> on the back-end associated with <em>pScreen</em>. </p>
+
+<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>
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="ae0e94924bf5a69c2b26e9d0442befadd"></a><!-- doxytag: member="dmxcursor.c::dmxBEFreeCursor" ref="ae0e94924bf5a69c2b26e9d0442befadd" args="(ScreenPtr pScreen, CursorPtr pCursor)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Bool dmxBEFreeCursor </td>
+ <td>(</td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CursorPtr&#160;</td>
+ <td class="paramname"><em>pCursor</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Free <em>pCursor</em> on the back-end associated with <em>pScreen</em>. </p>
+
+<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>
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="a6a381bffb099457e7c26a2312cf968a6"></a><!-- doxytag: member="dmxcursor.c::dmxCheckCursor" ref="a6a381bffb099457e7c26a2312cf968a6" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxCheckCursor </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>This routine is called during reconfiguration to make sure the cursor is visible. </p>
+
+<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>
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="aa5a4c58dbde29584153fbc43a1ac6e26"></a><!-- doxytag: member="dmxcursor.c::dmxComputeScreenOrigins" ref="aa5a4c58dbde29584153fbc43a1ac6e26" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxComputeScreenOrigins </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="dmxcursor_8c.html#aaf8a9878f12b6653247fc27d960beccf">dmxSLCreate()</a>, <a class="el" href="dmxcursor_8c.html#ab4dcb11cad339e72d843356841ffd203">dmxSLFindNext()</a>, <a class="el" href="dmxcursor_8c.html#a565fbb8c3754a14c1aed13b741705b91">dmxSLFree()</a>, <a class="el" href="dmxcursor_8c.html#a97efbe7e0a872da9de0be49da214c210">dmxTryComputeScreenOrigins()</a>, and <a class="el" href="struct__DMXScreenInfo.html#ae502ef7543f17556ea497ebbef157f41">_DMXScreenInfo::whereRefScreen</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#af3fb4b2c2d3cc318c88fbc6658893360">dmxInitOrigins()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2d0757fa7119492da7fe26901dab8571"></a><!-- doxytag: member="dmxcursor.c::dmxCrossScreen" ref="a2d0757fa7119492da7fe26901dab8571" args="(ScreenPtr pScreen, Bool entering)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxCrossScreen </td>
+ <td>(</td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">Bool&#160;</td>
+ <td class="paramname"><em>entering</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a709e3d4a4e44e17fed3de1fcb0d42b20"></a><!-- doxytag: member="dmxcursor.c::dmxCursorNoMulti" ref="a709e3d4a4e44e17fed3de1fcb0d42b20" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxCursorNoMulti </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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>
+
+<p>References <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxinit_8c.html#a6ed0a235a6d852bfe0cc0250159a5daf">ddxProcessArgument()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1c7f5d94ee32f85ec027c53b881fc697"></a><!-- doxytag: member="dmxcursor.c::dmxCursorOffScreen" ref="a1c7f5d94ee32f85ec027c53b881fc697" args="(ScreenPtr *ppScreen, int *x, int *y)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Bool dmxCursorOffScreen </td>
+ <td>(</td>
+ <td class="paramtype">ScreenPtr *&#160;</td>
+ <td class="paramname"><em>ppScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>y</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <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__myPrivate.html#ac5d2265df9e523e1bd4a0c81506b82cb">_myPrivate::globalX</a>, <a class="el" href="struct__myPrivate.html#afbe8cb18da83776018a774b99eb17c14">_myPrivate::globalY</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#aef812b4b6f76c93b8e800e9388330add">_DMXScreenInfo::rootXOrigin</a>, and <a class="el" href="struct__DMXScreenInfo.html#a89914c5858cebec13b2256ad02d787ac">_DMXScreenInfo::rootYOrigin</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af291298e4f52875e45d7097a223a8c0b"></a><!-- doxytag: member="dmxcursor.c::dmxDeviceCursorCleanup" ref="af291298e4f52875e45d7097a223a8c0b" args="(DeviceIntPtr pDev, ScreenPtr pScr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxDeviceCursorCleanup </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&#160;</td>
+ <td class="paramname"><em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a214b710621ed0279d6321375f3512a87"></a><!-- doxytag: member="dmxcursor.c::dmxDeviceCursorInitialize" ref="a214b710621ed0279d6321375f3512a87" args="(DeviceIntPtr pDev, ScreenPtr pScr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Bool dmxDeviceCursorInitialize </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&#160;</td>
+ <td class="paramname"><em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a5612d5f5b97d54fa9eb73540eaeba4f3"></a><!-- doxytag: member="dmxcursor.c::dmxDoesOverlap" ref="a5612d5f5b97d54fa9eb73540eaeba4f3" args="(DMXScreenInfo *a, DMXScreenInfo *b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int dmxDoesOverlap </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>b</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Returns non-zero if <em>a</em> overlaps <em>b</em>. </p>
+
+<p>References <a class="el" href="dmxcursor_8c.html#adaf3455cdd3f54d22285e5a0fa99fddb">dmxOnScreen()</a>, <a class="el" href="struct__DMXScreenInfo.html#aef812b4b6f76c93b8e800e9388330add">_DMXScreenInfo::rootXOrigin</a>, <a class="el" href="struct__DMXScreenInfo.html#a89914c5858cebec13b2256ad02d787ac">_DMXScreenInfo::rootYOrigin</a>, <a class="el" href="struct__DMXScreenInfo.html#a2a1733427433e53a0df2575168ad0713">_DMXScreenInfo::scrnHeight</a>, and <a class="el" href="struct__DMXScreenInfo.html#ac4c86f223d149ffda30a32ebaffee23a">_DMXScreenInfo::scrnWidth</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac7dc34eb6db6964e4330acc4d0e2badc"></a><!-- doxytag: member="dmxcursor.c::dmxFindCursor" ref="ac7dc34eb6db6964e4330acc4d0e2badc" args="(DMXScreenInfo *start)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static CursorPtr dmxFindCursor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>start</em></td><td>)</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="struct__DMXScreenInfo.html#a7a61b71888a4d7c6eefa3cde29bbd677">_DMXScreenInfo::cursor</a>, and <a class="el" href="struct__DMXScreenInfo.html#ac55a37b29ce99474516995b09f794d9c">_DMXScreenInfo::over</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a6a381bffb099457e7c26a2312cf968a6">dmxCheckCursor()</a>, and <a class="el" href="dmxcursor_8h.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad67e1086ef62ecfa33549d74cd89a379"></a><!-- doxytag: member="dmxcursor.c::dmxHideCursor" ref="ad67e1086ef62ecfa33549d74cd89a379" args="(DMXScreenInfo *dmxScreen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxHideCursor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>dmxScreen</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxbackend_8c.html">dmxbackend.c</a> </dd></dl>
+
+<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>
+
+<p>Referenced by <a class="el" href="dmxbackend_8h.html#a486d684411f79c459a1195e5c02f404c">dmxBackendUpdatePosition()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af3fb4b2c2d3cc318c88fbc6658893360"></a><!-- doxytag: member="dmxcursor.c::dmxInitOrigins" ref="af3fb4b2c2d3cc318c88fbc6658893360" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxInitOrigins </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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>
+
+<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>
+
+<p>Referenced by <a class="el" href="dmxinit_8c.html#a51c195c51f4f09e981384a4215f82321">InitOutput()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a77c74a33de88fae6cf0de8b755a5c411"></a><!-- doxytag: member="dmxcursor.c::dmxInitOverlap" ref="a77c74a33de88fae6cf0de8b755a5c411" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxInitOverlap </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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>
+
+<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>
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="a28c6651bdff6f7fc01292548659a6eb4"></a><!-- doxytag: member="dmxcursor.c::dmxIterateOverlap" ref="a28c6651bdff6f7fc01292548659a6eb4" args="(DMXScreenInfo *start, void *(*f)(DMXScreenInfo *dmxScreen, void *), void *closure)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void* dmxIterateOverlap </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>start</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *(*)(<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen, void *)&#160;</td>
+ <td class="paramname"><em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>closure</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Iterate over the screens which overlap with the <em>start</em> screen, calling <em>f</em> with the <em>closure</em> for each argument. Often used with <a class="el" href="dmxcursor_8c.html#a52398858fc93988512050543967652fe">dmxPrintOverlap</a>. </p>
+
+<p>References <a class="el" href="struct__DMXScreenInfo.html#ac55a37b29ce99474516995b09f794d9c">_DMXScreenInfo::over</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a21820e2001f763e3cfc924a1d602bb62"></a><!-- doxytag: member="dmxcursor.c::dmxMoveCursor" ref="a21820e2001f763e3cfc924a1d602bb62" args="(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxMoveCursor </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&#160;</td>
+ <td class="paramname"><em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>y</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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>
+<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>
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="adaf3455cdd3f54d22285e5a0fa99fddb"></a><!-- doxytag: member="dmxcursor.c::dmxOnScreen" ref="adaf3455cdd3f54d22285e5a0fa99fddb" args="(int x, int y, DMXScreenInfo *dmxScreen)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int dmxOnScreen </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>dmxScreen</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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>
+
+<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>
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="a52398858fc93988512050543967652fe"></a><!-- doxytag: member="dmxcursor.c::dmxPrintOverlap" ref="a52398858fc93988512050543967652fe" args="(DMXScreenInfo *dmxScreen, void *closure)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void* dmxPrintOverlap </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>dmxScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>closure</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Used with <em>dmxInterateOverlap</em> to print out a list of screens which overlap each other. </p>
+
+<p>References <a class="el" href="struct__DMXScreenInfo.html#a83dd882008eb7e54cc81987a23ab9fd5">_DMXScreenInfo::cursorNotShared</a>, <a class="el" href="dmxlog_8c.html#a9ee9ef3403a0905596796cfcac2334d2">dmxLogOutputCont()</a>, <a class="el" href="struct__DMXScreenInfo.html#a28849096f73f9bf14bb7e461dbb5cc94">_DMXScreenInfo::index</a>, and <a class="el" href="struct__DMXScreenInfo.html#a5cfc14ffedaafcbe5b00302f972208cf">_DMXScreenInfo::name</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad51761f218c643ebe7f010538e9c745f"></a><!-- doxytag: member="dmxcursor.c::dmxRealizeCursor" ref="ad51761f218c643ebe7f010538e9c745f" args="(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Bool dmxRealizeCursor </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&#160;</td>
+ <td class="paramname"><em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CursorPtr&#160;</td>
+ <td class="paramname"><em>pCursor</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor()</a>, <a class="el" href="struct__DMXScreenInfo.html#a83dd882008eb7e54cc81987a23ab9fd5">_DMXScreenInfo::cursorNotShared</a>, <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="struct__DMXScreenInfo.html#a28849096f73f9bf14bb7e461dbb5cc94">_DMXScreenInfo::index</a>, and <a class="el" href="struct__DMXScreenInfo.html#ac55a37b29ce99474516995b09f794d9c">_DMXScreenInfo::over</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9bdb6eff5f7f86fd071091c5a55cee7c"></a><!-- doxytag: member="dmxcursor.c::dmxReInitOrigins" ref="a9bdb6eff5f7f86fd071091c5a55cee7c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void dmxReInitOrigins </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<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>
+
+<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>
+
+<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>
+
+</div>
+</div>
+<a class="anchor" id="a4cbf6be156525a669ae883465f6458c2"></a><!-- doxytag: member="dmxcursor.c::dmxSetCursor" ref="a4cbf6be156525a669ae883465f6458c2" args="(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxSetCursor </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&#160;</td>
+ <td class="paramname"><em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CursorPtr&#160;</td>
+ <td class="paramname"><em>pCursor</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>y</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>, <a class="el" href="struct__DMXScreenInfo.html#a83dd882008eb7e54cc81987a23ab9fd5">_DMXScreenInfo::cursorNotShared</a>, <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7add5ccc82aea86bc4dfec91782883202b">DMX_NO_BLOCK</a>, <a class="el" href="dmxinput_8h.html#adf2928cf693dab61adafad503e81d2dc">dmxCoreMotion()</a>, <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a>, <a class="el" href="dmxcursor_8c.html#a753eef37715b6379d7d65e34a23d2e03">DMXDBG5</a>, <a class="el" href="dmxinput_8h.html#a0cb75edbb0cabbfd89b40309907bdee3">dmxGetGlobalPosition()</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>
+
+</div>
+</div>
+<a class="anchor" id="aaf8a9878f12b6653247fc27d960beccf"></a><!-- doxytag: member="dmxcursor.c::dmxSLCreate" ref="aaf8a9878f12b6653247fc27d960beccf" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int* dmxSLCreate </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Create a list of screens that we'll manipulate. </p>
+
+<p>References <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab4dcb11cad339e72d843356841ffd203"></a><!-- doxytag: member="dmxcursor.c::dmxSLFindNext" ref="ab4dcb11cad339e72d843356841ffd203" args="(int *list)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int dmxSLFindNext </td>
+ <td>(</td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>list</em></td><td>)</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Find next uninitialized entry in list. </p>
+
+<p>References <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>.</p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a565fbb8c3754a14c1aed13b741705b91"></a><!-- doxytag: member="dmxcursor.c::dmxSLFree" ref="a565fbb8c3754a14c1aed13b741705b91" args="(int *list)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxSLFree </td>
+ <td>(</td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>list</em></td><td>)</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Free list. </p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3beed7bb0f6999879936b2f47751d125"></a><!-- doxytag: member="dmxcursor.c::dmxTestSameDisplay" ref="a3beed7bb0f6999879936b2f47751d125" args="(DMXScreenInfo *a, void *closure)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void* dmxTestSameDisplay </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&#160;</td>
+ <td class="paramname"><em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>closure</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Used with <a class="el" href="dmxprop_8h.html#a4c53640b27c787d65539555cc3bf3c57">dmxPropertyIterate</a> to determine if screen <em>a</em> is the same as the screen <em>closure</em>. </p>
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a97efbe7e0a872da9de0be49da214c210"></a><!-- doxytag: member="dmxcursor.c::dmxTryComputeScreenOrigins" ref="a97efbe7e0a872da9de0be49da214c210" args="(int *screensLeft)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int dmxTryComputeScreenOrigins </td>
+ <td>(</td>
+ <td class="paramtype">int *&#160;</td>
+ <td class="paramname"><em>screensLeft</em></td><td>)</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Make one pass over all the screens and return the number updated. </p>
+
+<p>References <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#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="dmx_8h.html#aa80fe4e9a559009407475c9587214b48a8b4710773b7ba23cd4ba12a48f544414">PosAbove</a>, <a class="el" href="dmx_8h.html#aa80fe4e9a559009407475c9587214b48a98c1cbf3326de8339bf0538c74477351">PosAbsolute</a>, <a class="el" href="dmx_8h.html#aa80fe4e9a559009407475c9587214b48a61079f63564c7d135feeeabb170cff1e">PosBelow</a>, <a class="el" href="dmx_8h.html#aa80fe4e9a559009407475c9587214b48a6e57f3ac055303c9c0c730274faa419f">PosLeftOf</a>, <a class="el" href="dmx_8h.html#aa80fe4e9a559009407475c9587214b48ad375955ea9a568af249c13e41d2f0d44">PosNone</a>, <a class="el" href="dmx_8h.html#aa80fe4e9a559009407475c9587214b48a6681d76ba36d5d2fce88975100fbfddc">PosRelative</a>, <a class="el" href="dmx_8h.html#aa80fe4e9a559009407475c9587214b48adbb68d2dea659baab7c04a54a95679ae">PosRightOf</a>, <a class="el" href="struct__DMXScreenInfo.html#a2cb225a5c08ae6ea0ce19d85616f143b">_DMXScreenInfo::where</a>, <a class="el" href="struct__DMXScreenInfo.html#ae502ef7543f17556ea497ebbef157f41">_DMXScreenInfo::whereRefScreen</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>
+
+<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a81c0223355350e6d897d4d7306381130"></a><!-- doxytag: member="dmxcursor.c::dmxUnrealizeCursor" ref="a81c0223355350e6d897d4d7306381130" args="(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static Bool dmxUnrealizeCursor </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&#160;</td>
+ <td class="paramname"><em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">CursorPtr&#160;</td>
+ <td class="paramname"><em>pCursor</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmxcursor_8c.html#aa2ac82b5666d162e873c7f0c88ec96f6">_dmxUnrealizeCursor()</a>, <a class="el" href="struct__DMXScreenInfo.html#a83dd882008eb7e54cc81987a23ab9fd5">_DMXScreenInfo::cursorNotShared</a>, <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a>, <a class="el" href="dmx_8h.html#a3e242a6818df05e547a4776919e3827f">dmxScreens</a>, <a class="el" href="struct__DMXScreenInfo.html#a28849096f73f9bf14bb7e461dbb5cc94">_DMXScreenInfo::index</a>, and <a class="el" href="struct__DMXScreenInfo.html#ac55a37b29ce99474516995b09f794d9c">_DMXScreenInfo::over</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af80076061e55521b62a7cfd8e66bf3e6"></a><!-- doxytag: member="dmxcursor.c::dmxWarpCursor" ref="af80076061e55521b62a7cfd8e66bf3e6" args="(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void dmxWarpCursor </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&#160;</td>
+ <td class="paramname"><em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ScreenPtr&#160;</td>
+ <td class="paramname"><em>pScreen</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>y</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="dmxcursor_8c.html#a6c6714b899194081b94edb722ca1c4bc">DMXDBG3</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a4d792c0cb9ce0c21787d3cd88d774fa6"></a><!-- doxytag: member="dmxcursor.c::dmxCursorDoMultiCursors" ref="a4d792c0cb9ce0c21787d3cd88d774fa6" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a> = 1<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="dmxcursor_8h.html#a709e3d4a4e44e17fed3de1fcb0d42b20">dmxCursorNoMulti()</a>, <a class="el" href="dmxcursor_8h.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor()</a>, <a class="el" href="dmxcursor_8c.html#ad51761f218c643ebe7f010538e9c745f">dmxRealizeCursor()</a>, <a class="el" href="dmxcursor_8c.html#a4cbf6be156525a669ae883465f6458c2">dmxSetCursor()</a>, and <a class="el" href="dmxcursor_8c.html#a81c0223355350e6d897d4d7306381130">dmxUnrealizeCursor()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aacf8d4857dd965073f62f10a53edcaa3"></a><!-- doxytag: member="dmxcursor.c::dmxPointerCursorFuncs" ref="aacf8d4857dd965073f62f10a53edcaa3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">miPointerScreenFuncRec <a class="el" href="dmxcursor_8h.html#aacf8d4857dd965073f62f10a53edcaa3">dmxPointerCursorFuncs</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Initial value:</b><div class="fragment"><pre class="fragment">
+{
+ <a class="code" href="dmxcursor_8c.html#a1c7f5d94ee32f85ec027c53b881fc697">dmxCursorOffScreen</a>,
+ <a class="code" href="dmxcursor_8c.html#a2d0757fa7119492da7fe26901dab8571">dmxCrossScreen</a>,
+ <a class="code" href="dmxcursor_8c.html#af80076061e55521b62a7cfd8e66bf3e6">dmxWarpCursor</a>,
+ NULL,
+ NULL,
+}
+</pre></div><p>Cursor functions for mi layer. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> </dd>
+<dd>
+<a class="el" href="dmxscrinit_8c.html">dmxscrinit.c</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="dmxscrinit_8h.html#a673d8a2c038f8ed0da5f910a72a5c4c2">dmxScreenInit()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7bf2f59a6c5d381aea975cd78dd1f9dc"></a><!-- doxytag: member="dmxcursor.c::dmxPointerSpriteFuncs" ref="a7bf2f59a6c5d381aea975cd78dd1f9dc" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">miPointerSpriteFuncRec <a class="el" href="dmxcursor_8h.html#a7bf2f59a6c5d381aea975cd78dd1f9dc">dmxPointerSpriteFuncs</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Initial value:</b><div class="fragment"><pre class="fragment">
+{
+ <a class="code" href="dmxcursor_8c.html#ad51761f218c643ebe7f010538e9c745f">dmxRealizeCursor</a>,
+ <a class="code" href="dmxcursor_8c.html#a81c0223355350e6d897d4d7306381130">dmxUnrealizeCursor</a>,
+ <a class="code" href="dmxcursor_8c.html#a4cbf6be156525a669ae883465f6458c2">dmxSetCursor</a>,
+ <a class="code" href="dmxcursor_8c.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor</a>,
+ <a class="code" href="dmxcursor_8c.html#a214b710621ed0279d6321375f3512a87">dmxDeviceCursorInitialize</a>,
+ <a class="code" href="dmxcursor_8c.html#af291298e4f52875e45d7097a223a8c0b">dmxDeviceCursorCleanup</a>
+}
+</pre></div><p>Sprite functions for mi layer. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> </dd>
+<dd>
+<a class="el" href="dmxscrinit_8c.html">dmxscrinit.c</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="dmxscrinit_8h.html#a673d8a2c038f8ed0da5f910a72a5c4c2">dmxScreenInit()</a>.</p>
+
+</div>
+</div>
+</div>
+</div>
+ <div id="nav-path" class="navpath">
+ <ul>
+ <li class="navelem"><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> </li>
+ <hr>
+ <address>
+ <small>
+ Generated June 29, 2004 for <a
+ href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
+ <a href="http://www.doxygen.org/index.html">doxygen</a>
+ 1.3.4.
+ </small>
+ </addres>
+ </hr>
+ </body>
+</html>
contact: Jan Huwald // Impressum