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 Page</span></a></li> 13 <li><a href="annotated.html"><span>Data 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 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_8c.html',''); 35</script> 36<div id="doc-content"> 37<div class="header"> 38 <div class="summary"> 39<a href="#define-members">Defines</a> | 40<a href="#func-members">Functions</a> | 41<a href="#var-members">Variables</a> </div> 42 <div class="headertitle"> 43<div class="title">dmxcursor.c File Reference</div> </div> 44</div> 45<div class="contents"> 46<div class="textblock"><code>#include "<a class="el" href="dmx_8h_source.html">dmx.h</a>"</code><br/> 47<code>#include "<a class="el" href="dmxsync_8h_source.html">dmxsync.h</a>"</code><br/> 48<code>#include "<a class="el" href="dmxcursor_8h_source.html">dmxcursor.h</a>"</code><br/> 49<code>#include "<a class="el" href="dmxlog_8h_source.html">dmxlog.h</a>"</code><br/> 50<code>#include "<a class="el" href="dmxprop_8h_source.html">dmxprop.h</a>"</code><br/> 51<code>#include "<a class="el" href="dmxinput_8h_source.html">dmxinput.h</a>"</code><br/> 52<code>#include "mipointer.h"</code><br/> 53<code>#include "windowstr.h"</code><br/> 54<code>#include "globals.h"</code><br/> 55<code>#include "cursorstr.h"</code><br/> 56<code>#include "dixevents.h"</code><br/> 57<code>#include "inputstr.h"</code><br/> 58</div><table class="memberdecls"> 59<tr><td colspan="2"><h2><a name="define-members"></a> 60Defines</h2></td></tr> 61<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a757d7359cf12591268a62c0974178079">DMX_CURSOR_DEBUG</a>   0</td></tr> 62<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#adf6865b0bc7ad370c94e3b8682262c13">DMXDBG0</a>(f)</td></tr> 63<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a302a2c9f84249eee79404eb601d085ab">DMXDBG1</a>(f, a)</td></tr> 64<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a1056d63499cee76ebe297c19637f2b79">DMXDBG2</a>(f, a, b)</td></tr> 65<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a6c6714b899194081b94edb722ca1c4bc">DMXDBG3</a>(f, a, b, c)</td></tr> 66<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a8ffd07ee80777c394a6ff32d1021347d">DMXDBG4</a>(f, a, b, c, d)</td></tr> 67<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a753eef37715b6379d7d65e34a23d2e03">DMXDBG5</a>(f, a, b, c, d, e)</td></tr> 68<tr><td class="memItemLeft" align="right" valign="top">#define </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> 69<tr><td class="memItemLeft" align="right" valign="top">#define </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> 70<tr><td colspan="2"><h2><a name="func-members"></a> 71Functions</h2></td></tr> 72<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a709e3d4a4e44e17fed3de1fcb0d42b20">dmxCursorNoMulti</a> (void)</td></tr> 73<tr><td class="memItemLeft" align="right" valign="top">static Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a1c7f5d94ee32f85ec027c53b881fc697">dmxCursorOffScreen</a> (ScreenPtr *ppScreen, int *x, int *y)</td></tr> 74<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a2d0757fa7119492da7fe26901dab8571">dmxCrossScreen</a> (ScreenPtr pScreen, Bool entering)</td></tr> 75<tr><td class="memItemLeft" align="right" valign="top">static void </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> 76<tr><td class="memItemLeft" align="right" valign="top">static int * </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aaf8a9878f12b6653247fc27d960beccf">dmxSLCreate</a> (void)</td></tr> 77<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a565fbb8c3754a14c1aed13b741705b91">dmxSLFree</a> (int *list)</td></tr> 78<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ab4dcb11cad339e72d843356841ffd203">dmxSLFindNext</a> (int *list)</td></tr> 79<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a97efbe7e0a872da9de0be49da214c210">dmxTryComputeScreenOrigins</a> (int *screensLeft)</td></tr> 80<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins</a> (void)</td></tr> 81<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a9bdb6eff5f7f86fd071091c5a55cee7c">dmxReInitOrigins</a> (void)</td></tr> 82<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#af3fb4b2c2d3cc318c88fbc6658893360">dmxInitOrigins</a> (void)</td></tr> 83<tr><td class="memItemLeft" align="right" valign="top">int </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> 84<tr><td class="memItemLeft" align="right" valign="top">static int </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> 85<tr><td class="memItemLeft" align="right" valign="top">static void * </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> 86<tr><td class="memItemLeft" align="right" valign="top">static void * </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> 87<tr><td class="memItemLeft" align="right" valign="top">static void * </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> 88<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap</a> (void)</td></tr> 89<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a84c92b801c5802879047e74401f62e94">dmxBECreateCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr> 90<tr><td class="memItemLeft" align="right" valign="top">static Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ac722828c4781d1a44d8b04955472a134">_dmxRealizeCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr> 91<tr><td class="memItemLeft" align="right" valign="top">Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ae0e94924bf5a69c2b26e9d0442befadd">dmxBEFreeCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr> 92<tr><td class="memItemLeft" align="right" valign="top">static Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aa2ac82b5666d162e873c7f0c88ec96f6">_dmxUnrealizeCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr> 93<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aa208a04334d595e3507287bacffdae80">_dmxMoveCursor</a> (ScreenPtr pScreen, int x, int y)</td></tr> 94<tr><td class="memItemLeft" align="right" valign="top">static void </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> 95<tr><td class="memItemLeft" align="right" valign="top">static Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#ad51761f218c643ebe7f010538e9c745f">dmxRealizeCursor</a> (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)</td></tr> 96<tr><td class="memItemLeft" align="right" valign="top">static Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a81c0223355350e6d897d4d7306381130">dmxUnrealizeCursor</a> (DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)</td></tr> 97<tr><td class="memItemLeft" align="right" valign="top">static CursorPtr </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> 98<tr><td class="memItemLeft" align="right" valign="top">void </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> 99<tr><td class="memItemLeft" align="right" valign="top">static void </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> 100<tr><td class="memItemLeft" align="right" valign="top">void </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> 101<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a6a381bffb099457e7c26a2312cf968a6">dmxCheckCursor</a> (void)</td></tr> 102<tr><td class="memItemLeft" align="right" valign="top">static Bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a214b710621ed0279d6321375f3512a87">dmxDeviceCursorInitialize</a> (DeviceIntPtr pDev, ScreenPtr pScr)</td></tr> 103<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#af291298e4f52875e45d7097a223a8c0b">dmxDeviceCursorCleanup</a> (DeviceIntPtr pDev, ScreenPtr pScr)</td></tr> 104<tr><td colspan="2"><h2><a name="var-members"></a> 105Variables</h2></td></tr> 106<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a> = 1</td></tr> 107<tr><td class="memItemLeft" align="right" valign="top">miPointerScreenFuncRec </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#aacf8d4857dd965073f62f10a53edcaa3">dmxPointerCursorFuncs</a></td></tr> 108<tr><td class="memItemLeft" align="right" valign="top">miPointerSpriteFuncRec </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxcursor_8c.html#a7bf2f59a6c5d381aea975cd78dd1f9dc">dmxPointerSpriteFuncs</a></td></tr> 109</table> 110<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> 111<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> 112<p>"This code is based very closely on the XFree86 equivalent 113 (xfree86/common/xf86Cursor.c)." --David Dawes.</p> 114<p>"This code was then extensively re-written, as explained here." --Rik Faith</p> 115<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> 116<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> 117</div><hr/><h2>Define Documentation</h2> 118<a class="anchor" id="a757d7359cf12591268a62c0974178079"></a><!-- doxytag: member="dmxcursor.c::DMX_CURSOR_DEBUG" ref="a757d7359cf12591268a62c0974178079" args="" --> 119<div class="memitem"> 120<div class="memproto"> 121 <table class="memname"> 122 <tr> 123 <td class="memname">#define DMX_CURSOR_DEBUG   0</td> 124 </tr> 125 </table> 126</div> 127<div class="memdoc"> 128 129</div> 130</div> 131<a class="anchor" id="adf6865b0bc7ad370c94e3b8682262c13"></a><!-- doxytag: member="dmxcursor.c::DMXDBG0" ref="adf6865b0bc7ad370c94e3b8682262c13" args="(f)" --> 132<div class="memitem"> 133<div class="memproto"> 134 <table class="memname"> 135 <tr> 136 <td class="memname">#define DMXDBG0</td> 137 <td>(</td> 138 <td class="paramtype"> </td> 139 <td class="paramname">f</td><td>)</td> 140 <td></td> 141 </tr> 142 </table> 143</div> 144<div class="memdoc"> 145 146</div> 147</div> 148<a class="anchor" id="a302a2c9f84249eee79404eb601d085ab"></a><!-- doxytag: member="dmxcursor.c::DMXDBG1" ref="a302a2c9f84249eee79404eb601d085ab" args="(f, a)" --> 149<div class="memitem"> 150<div class="memproto"> 151 <table class="memname"> 152 <tr> 153 <td class="memname">#define DMXDBG1</td> 154 <td>(</td> 155 <td class="paramtype"> </td> 156 <td class="paramname">f, </td> 157 </tr> 158 <tr> 159 <td class="paramkey"></td> 160 <td></td> 161 <td class="paramtype"> </td> 162 <td class="paramname">a </td> 163 </tr> 164 <tr> 165 <td></td> 166 <td>)</td> 167 <td></td><td></td> 168 </tr> 169 </table> 170</div> 171<div class="memdoc"> 172 173</div> 174</div> 175<a class="anchor" id="a1056d63499cee76ebe297c19637f2b79"></a><!-- doxytag: member="dmxcursor.c::DMXDBG2" ref="a1056d63499cee76ebe297c19637f2b79" args="(f, a, b)" --> 176<div class="memitem"> 177<div class="memproto"> 178 <table class="memname"> 179 <tr> 180 <td class="memname">#define DMXDBG2</td> 181 <td>(</td> 182 <td class="paramtype"> </td> 183 <td class="paramname">f, </td> 184 </tr> 185 <tr> 186 <td class="paramkey"></td> 187 <td></td> 188 <td class="paramtype"> </td> 189 <td class="paramname">a, </td> 190 </tr> 191 <tr> 192 <td class="paramkey"></td> 193 <td></td> 194 <td class="paramtype"> </td> 195 <td class="paramname">b </td> 196 </tr> 197 <tr> 198 <td></td> 199 <td>)</td> 200 <td></td><td></td> 201 </tr> 202 </table> 203</div> 204<div class="memdoc"> 205 206<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> 207 208</div> 209</div> 210<a class="anchor" id="a6c6714b899194081b94edb722ca1c4bc"></a><!-- doxytag: member="dmxcursor.c::DMXDBG3" ref="a6c6714b899194081b94edb722ca1c4bc" args="(f, a, b, c)" --> 211<div class="memitem"> 212<div class="memproto"> 213 <table class="memname"> 214 <tr> 215 <td class="memname">#define DMXDBG3</td> 216 <td>(</td> 217 <td class="paramtype"> </td> 218 <td class="paramname">f, </td> 219 </tr> 220 <tr> 221 <td class="paramkey"></td> 222 <td></td> 223 <td class="paramtype"> </td> 224 <td class="paramname">a, </td> 225 </tr> 226 <tr> 227 <td class="paramkey"></td> 228 <td></td> 229 <td class="paramtype"> </td> 230 <td class="paramname">b, </td> 231 </tr> 232 <tr> 233 <td class="paramkey"></td> 234 <td></td> 235 <td class="paramtype"> </td> 236 <td class="paramname">c </td> 237 </tr> 238 <tr> 239 <td></td> 240 <td>)</td> 241 <td></td><td></td> 242 </tr> 243 </table> 244</div> 245<div class="memdoc"> 246 247<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> 248 249</div> 250</div> 251<a class="anchor" id="a8ffd07ee80777c394a6ff32d1021347d"></a><!-- doxytag: member="dmxcursor.c::DMXDBG4" ref="a8ffd07ee80777c394a6ff32d1021347d" args="(f, a, b, c, d)" --> 252<div class="memitem"> 253<div class="memproto"> 254 <table class="memname"> 255 <tr> 256 <td class="memname">#define DMXDBG4</td> 257 <td>(</td> 258 <td class="paramtype"> </td> 259 <td class="paramname">f, </td> 260 </tr> 261 <tr> 262 <td class="paramkey"></td> 263 <td></td> 264 <td class="paramtype"> </td> 265 <td class="paramname">a, </td> 266 </tr> 267 <tr> 268 <td class="paramkey"></td> 269 <td></td> 270 <td class="paramtype"> </td> 271 <td class="paramname">b, </td> 272 </tr> 273 <tr> 274 <td class="paramkey"></td> 275 <td></td> 276 <td class="paramtype"> </td> 277 <td class="paramname">c, </td> 278 </tr> 279 <tr> 280 <td class="paramkey"></td> 281 <td></td> 282 <td class="paramtype"> </td> 283 <td class="paramname">d </td> 284 </tr> 285 <tr> 286 <td></td> 287 <td>)</td> 288 <td></td><td></td> 289 </tr> 290 </table> 291</div> 292<div class="memdoc"> 293 294<p>Referenced by <a class="el" href="dmxcursor_8c.html#a6fd26c7c7811ff77fc3c6e84b82d57d5">_dmxSetCursor()</a>.</p> 295 296</div> 297</div> 298<a class="anchor" id="a753eef37715b6379d7d65e34a23d2e03"></a><!-- doxytag: member="dmxcursor.c::DMXDBG5" ref="a753eef37715b6379d7d65e34a23d2e03" args="(f, a, b, c, d, e)" --> 299<div class="memitem"> 300<div class="memproto"> 301 <table class="memname"> 302 <tr> 303 <td class="memname">#define DMXDBG5</td> 304 <td>(</td> 305 <td class="paramtype"> </td> 306 <td class="paramname">f, </td> 307 </tr> 308 <tr> 309 <td class="paramkey"></td> 310 <td></td> 311 <td class="paramtype"> </td> 312 <td class="paramname">a, </td> 313 </tr> 314 <tr> 315 <td class="paramkey"></td> 316 <td></td> 317 <td class="paramtype"> </td> 318 <td class="paramname">b, </td> 319 </tr> 320 <tr> 321 <td class="paramkey"></td> 322 <td></td> 323 <td class="paramtype"> </td> 324 <td class="paramname">c, </td> 325 </tr> 326 <tr> 327 <td class="paramkey"></td> 328 <td></td> 329 <td class="paramtype"> </td> 330 <td class="paramname">d, </td> 331 </tr> 332 <tr> 333 <td class="paramkey"></td> 334 <td></td> 335 <td class="paramtype"> </td> 336 <td class="paramname">e </td> 337 </tr> 338 <tr> 339 <td></td> 340 <td>)</td> 341 <td></td><td></td> 342 </tr> 343 </table> 344</div> 345<div class="memdoc"> 346 347<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> 348 349</div> 350</div> 351<a class="anchor" id="af703e1a00a515e2507f7d2a354429a24"></a><!-- doxytag: member="dmxcursor.c::DMXDBG6" ref="af703e1a00a515e2507f7d2a354429a24" args="(f, a, b, c, d, e, g)" --> 352<div class="memitem"> 353<div class="memproto"> 354 <table class="memname"> 355 <tr> 356 <td class="memname">#define DMXDBG6</td> 357 <td>(</td> 358 <td class="paramtype"> </td> 359 <td class="paramname">f, </td> 360 </tr> 361 <tr> 362 <td class="paramkey"></td> 363 <td></td> 364 <td class="paramtype"> </td> 365 <td class="paramname">a, </td> 366 </tr> 367 <tr> 368 <td class="paramkey"></td> 369 <td></td> 370 <td class="paramtype"> </td> 371 <td class="paramname">b, </td> 372 </tr> 373 <tr> 374 <td class="paramkey"></td> 375 <td></td> 376 <td class="paramtype"> </td> 377 <td class="paramname">c, </td> 378 </tr> 379 <tr> 380 <td class="paramkey"></td> 381 <td></td> 382 <td class="paramtype"> </td> 383 <td class="paramname">d, </td> 384 </tr> 385 <tr> 386 <td class="paramkey"></td> 387 <td></td> 388 <td class="paramtype"> </td> 389 <td class="paramname">e, </td> 390 </tr> 391 <tr> 392 <td class="paramkey"></td> 393 <td></td> 394 <td class="paramtype"> </td> 395 <td class="paramname">g </td> 396 </tr> 397 <tr> 398 <td></td> 399 <td>)</td> 400 <td></td><td></td> 401 </tr> 402 </table> 403</div> 404<div class="memdoc"> 405 406<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p> 407 408</div> 409</div> 410<a class="anchor" id="ab45c7f6cc47b2c786215ca0276d37d91"></a><!-- doxytag: member="dmxcursor.c::DMXDBG7" ref="ab45c7f6cc47b2c786215ca0276d37d91" args="(f, a, b, c, d, e, g, h)" --> 411<div class="memitem"> 412<div class="memproto"> 413 <table class="memname"> 414 <tr> 415 <td class="memname">#define DMXDBG7</td> 416 <td>(</td> 417 <td class="paramtype"> </td> 418 <td class="paramname">f, </td> 419 </tr> 420 <tr> 421 <td class="paramkey"></td> 422 <td></td> 423 <td class="paramtype"> </td> 424 <td class="paramname">a, </td> 425 </tr> 426 <tr> 427 <td class="paramkey"></td> 428 <td></td> 429 <td class="paramtype"> </td> 430 <td class="paramname">b, </td> 431 </tr> 432 <tr> 433 <td class="paramkey"></td> 434 <td></td> 435 <td class="paramtype"> </td> 436 <td class="paramname">c, </td> 437 </tr> 438 <tr> 439 <td class="paramkey"></td> 440 <td></td> 441 <td class="paramtype"> </td> 442 <td class="paramname">d, </td> 443 </tr> 444 <tr> 445 <td class="paramkey"></td> 446 <td></td> 447 <td class="paramtype"> </td> 448 <td class="paramname">e, </td> 449 </tr> 450 <tr> 451 <td class="paramkey"></td> 452 <td></td> 453 <td class="paramtype"> </td> 454 <td class="paramname">g, </td> 455 </tr> 456 <tr> 457 <td class="paramkey"></td> 458 <td></td> 459 <td class="paramtype"> </td> 460 <td class="paramname">h </td> 461 </tr> 462 <tr> 463 <td></td> 464 <td>)</td> 465 <td></td><td></td> 466 </tr> 467 </table> 468</div> 469<div class="memdoc"> 470 471</div> 472</div> 473<hr/><h2>Function Documentation</h2> 474<a class="anchor" id="aa208a04334d595e3507287bacffdae80"></a><!-- doxytag: member="dmxcursor.c::_dmxMoveCursor" ref="aa208a04334d595e3507287bacffdae80" args="(ScreenPtr pScreen, int x, int y)" --> 475<div class="memitem"> 476<div class="memproto"> 477 <table class="memname"> 478 <tr> 479 <td class="memname">static void _dmxMoveCursor </td> 480 <td>(</td> 481 <td class="paramtype">ScreenPtr </td> 482 <td class="paramname"><em>pScreen</em>, </td> 483 </tr> 484 <tr> 485 <td class="paramkey"></td> 486 <td></td> 487 <td class="paramtype">int </td> 488 <td class="paramname"><em>x</em>, </td> 489 </tr> 490 <tr> 491 <td class="paramkey"></td> 492 <td></td> 493 <td class="paramtype">int </td> 494 <td class="paramname"><em>y</em> </td> 495 </tr> 496 <tr> 497 <td></td> 498 <td>)</td> 499 <td></td><td><code> [static]</code></td> 500 </tr> 501 </table> 502</div> 503<div class="memdoc"> 504 505<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> 506 507<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> 508 509</div> 510</div> 511<a class="anchor" id="ac722828c4781d1a44d8b04955472a134"></a><!-- doxytag: member="dmxcursor.c::_dmxRealizeCursor" ref="ac722828c4781d1a44d8b04955472a134" args="(ScreenPtr pScreen, CursorPtr pCursor)" --> 512<div class="memitem"> 513<div class="memproto"> 514 <table class="memname"> 515 <tr> 516 <td class="memname">static Bool _dmxRealizeCursor </td> 517 <td>(</td> 518 <td class="paramtype">ScreenPtr </td> 519 <td class="paramname"><em>pScreen</em>, </td> 520 </tr> 521 <tr> 522 <td class="paramkey"></td> 523 <td></td> 524 <td class="paramtype">CursorPtr </td> 525 <td class="paramname"><em>pCursor</em> </td> 526 </tr> 527 <tr> 528 <td></td> 529 <td>)</td> 530 <td></td><td><code> [static]</code></td> 531 </tr> 532 </table> 533</div> 534<div class="memdoc"> 535 536<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> 537 538<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> 539 540</div> 541</div> 542<a class="anchor" id="a6fd26c7c7811ff77fc3c6e84b82d57d5"></a><!-- doxytag: member="dmxcursor.c::_dmxSetCursor" ref="a6fd26c7c7811ff77fc3c6e84b82d57d5" args="(ScreenPtr pScreen, CursorPtr pCursor, int x, int y)" --> 543<div class="memitem"> 544<div class="memproto"> 545 <table class="memname"> 546 <tr> 547 <td class="memname">static void _dmxSetCursor </td> 548 <td>(</td> 549 <td class="paramtype">ScreenPtr </td> 550 <td class="paramname"><em>pScreen</em>, </td> 551 </tr> 552 <tr> 553 <td class="paramkey"></td> 554 <td></td> 555 <td class="paramtype">CursorPtr </td> 556 <td class="paramname"><em>pCursor</em>, </td> 557 </tr> 558 <tr> 559 <td class="paramkey"></td> 560 <td></td> 561 <td class="paramtype">int </td> 562 <td class="paramname"><em>x</em>, </td> 563 </tr> 564 <tr> 565 <td class="paramkey"></td> 566 <td></td> 567 <td class="paramtype">int </td> 568 <td class="paramname"><em>y</em> </td> 569 </tr> 570 <tr> 571 <td></td> 572 <td>)</td> 573 <td></td><td><code> [static]</code></td> 574 </tr> 575 </table> 576</div> 577<div class="memdoc"> 578 579<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> 580 581<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> 582 583</div> 584</div> 585<a class="anchor" id="aa2ac82b5666d162e873c7f0c88ec96f6"></a><!-- doxytag: member="dmxcursor.c::_dmxUnrealizeCursor" ref="aa2ac82b5666d162e873c7f0c88ec96f6" args="(ScreenPtr pScreen, CursorPtr pCursor)" --> 586<div class="memitem"> 587<div class="memproto"> 588 <table class="memname"> 589 <tr> 590 <td class="memname">static Bool _dmxUnrealizeCursor </td> 591 <td>(</td> 592 <td class="paramtype">ScreenPtr </td> 593 <td class="paramname"><em>pScreen</em>, </td> 594 </tr> 595 <tr> 596 <td class="paramkey"></td> 597 <td></td> 598 <td class="paramtype">CursorPtr </td> 599 <td class="paramname"><em>pCursor</em> </td> 600 </tr> 601 <tr> 602 <td></td> 603 <td>)</td> 604 <td></td><td><code> [static]</code></td> 605 </tr> 606 </table> 607</div> 608<div class="memdoc"> 609 610<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> 611 612<p>Referenced by <a class="el" href="dmxcursor_8c.html#a81c0223355350e6d897d4d7306381130">dmxUnrealizeCursor()</a>.</p> 613 614</div> 615</div> 616<a class="anchor" id="a84c92b801c5802879047e74401f62e94"></a><!-- doxytag: member="dmxcursor.c::dmxBECreateCursor" ref="a84c92b801c5802879047e74401f62e94" args="(ScreenPtr pScreen, CursorPtr pCursor)" --> 617<div class="memitem"> 618<div class="memproto"> 619 <table class="memname"> 620 <tr> 621 <td class="memname">void dmxBECreateCursor </td> 622 <td>(</td> 623 <td class="paramtype">ScreenPtr </td> 624 <td class="paramname"><em>pScreen</em>, </td> 625 </tr> 626 <tr> 627 <td class="paramkey"></td> 628 <td></td> 629 <td class="paramtype">CursorPtr </td> 630 <td class="paramname"><em>pCursor</em> </td> 631 </tr> 632 <tr> 633 <td></td> 634 <td>)</td> 635 <td></td><td></td> 636 </tr> 637 </table> 638</div> 639<div class="memdoc"> 640<p>Create <em>pCursor</em> on the back-end associated with <em>pScreen</em>. </p> 641 642<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> 643 644<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> 645 646</div> 647</div> 648<a class="anchor" id="ae0e94924bf5a69c2b26e9d0442befadd"></a><!-- doxytag: member="dmxcursor.c::dmxBEFreeCursor" ref="ae0e94924bf5a69c2b26e9d0442befadd" args="(ScreenPtr pScreen, CursorPtr pCursor)" --> 649<div class="memitem"> 650<div class="memproto"> 651 <table class="memname"> 652 <tr> 653 <td class="memname">Bool dmxBEFreeCursor </td> 654 <td>(</td> 655 <td class="paramtype">ScreenPtr </td> 656 <td class="paramname"><em>pScreen</em>, </td> 657 </tr> 658 <tr> 659 <td class="paramkey"></td> 660 <td></td> 661 <td class="paramtype">CursorPtr </td> 662 <td class="paramname"><em>pCursor</em> </td> 663 </tr> 664 <tr> 665 <td></td> 666 <td>)</td> 667 <td></td><td></td> 668 </tr> 669 </table> 670</div> 671<div class="memdoc"> 672<p>Free <em>pCursor</em> on the back-end associated with <em>pScreen</em>. </p> 673 674<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> 675 676<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> 677 678</div> 679</div> 680<a class="anchor" id="a6a381bffb099457e7c26a2312cf968a6"></a><!-- doxytag: member="dmxcursor.c::dmxCheckCursor" ref="a6a381bffb099457e7c26a2312cf968a6" args="(void)" --> 681<div class="memitem"> 682<div class="memproto"> 683 <table class="memname"> 684 <tr> 685 <td class="memname">void dmxCheckCursor </td> 686 <td>(</td> 687 <td class="paramtype">void </td> 688 <td class="paramname"></td><td>)</td> 689 <td></td> 690 </tr> 691 </table> 692</div> 693<div class="memdoc"> 694<p>This routine is called during reconfiguration to make sure the cursor is visible. </p> 695 696<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> 697 698<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> 699 700</div> 701</div> 702<a class="anchor" id="aa5a4c58dbde29584153fbc43a1ac6e26"></a><!-- doxytag: member="dmxcursor.c::dmxComputeScreenOrigins" ref="aa5a4c58dbde29584153fbc43a1ac6e26" args="(void)" --> 703<div class="memitem"> 704<div class="memproto"> 705 <table class="memname"> 706 <tr> 707 <td class="memname">static void dmxComputeScreenOrigins </td> 708 <td>(</td> 709 <td class="paramtype">void </td> 710 <td class="paramname"></td><td>)</td> 711 <td><code> [static]</code></td> 712 </tr> 713 </table> 714</div> 715<div class="memdoc"> 716 717<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> 718 719<p>Referenced by <a class="el" href="dmxcursor_8h.html#af3fb4b2c2d3cc318c88fbc6658893360">dmxInitOrigins()</a>.</p> 720 721</div> 722</div> 723<a class="anchor" id="a2d0757fa7119492da7fe26901dab8571"></a><!-- doxytag: member="dmxcursor.c::dmxCrossScreen" ref="a2d0757fa7119492da7fe26901dab8571" args="(ScreenPtr pScreen, Bool entering)" --> 724<div class="memitem"> 725<div class="memproto"> 726 <table class="memname"> 727 <tr> 728 <td class="memname">static void dmxCrossScreen </td> 729 <td>(</td> 730 <td class="paramtype">ScreenPtr </td> 731 <td class="paramname"><em>pScreen</em>, </td> 732 </tr> 733 <tr> 734 <td class="paramkey"></td> 735 <td></td> 736 <td class="paramtype">Bool </td> 737 <td class="paramname"><em>entering</em> </td> 738 </tr> 739 <tr> 740 <td></td> 741 <td>)</td> 742 <td></td><td><code> [static]</code></td> 743 </tr> 744 </table> 745</div> 746<div class="memdoc"> 747 748</div> 749</div> 750<a class="anchor" id="a709e3d4a4e44e17fed3de1fcb0d42b20"></a><!-- doxytag: member="dmxcursor.c::dmxCursorNoMulti" ref="a709e3d4a4e44e17fed3de1fcb0d42b20" args="(void)" --> 751<div class="memitem"> 752<div class="memproto"> 753 <table class="memname"> 754 <tr> 755 <td class="memname">void dmxCursorNoMulti </td> 756 <td>(</td> 757 <td class="paramtype">void </td> 758 <td class="paramname"></td><td>)</td> 759 <td></td> 760 </tr> 761 </table> 762</div> 763<div class="memdoc"> 764<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> 765 766<p>References <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a>.</p> 767 768<p>Referenced by <a class="el" href="dmxinit_8c.html#a6ed0a235a6d852bfe0cc0250159a5daf">ddxProcessArgument()</a>.</p> 769 770</div> 771</div> 772<a class="anchor" id="a1c7f5d94ee32f85ec027c53b881fc697"></a><!-- doxytag: member="dmxcursor.c::dmxCursorOffScreen" ref="a1c7f5d94ee32f85ec027c53b881fc697" args="(ScreenPtr *ppScreen, int *x, int *y)" --> 773<div class="memitem"> 774<div class="memproto"> 775 <table class="memname"> 776 <tr> 777 <td class="memname">static Bool dmxCursorOffScreen </td> 778 <td>(</td> 779 <td class="paramtype">ScreenPtr * </td> 780 <td class="paramname"><em>ppScreen</em>, </td> 781 </tr> 782 <tr> 783 <td class="paramkey"></td> 784 <td></td> 785 <td class="paramtype">int * </td> 786 <td class="paramname"><em>x</em>, </td> 787 </tr> 788 <tr> 789 <td class="paramkey"></td> 790 <td></td> 791 <td class="paramtype">int * </td> 792 <td class="paramname"><em>y</em> </td> 793 </tr> 794 <tr> 795 <td></td> 796 <td>)</td> 797 <td></td><td><code> [static]</code></td> 798 </tr> 799 </table> 800</div> 801<div class="memdoc"> 802 803<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> 804 805</div> 806</div> 807<a class="anchor" id="af291298e4f52875e45d7097a223a8c0b"></a><!-- doxytag: member="dmxcursor.c::dmxDeviceCursorCleanup" ref="af291298e4f52875e45d7097a223a8c0b" args="(DeviceIntPtr pDev, ScreenPtr pScr)" --> 808<div class="memitem"> 809<div class="memproto"> 810 <table class="memname"> 811 <tr> 812 <td class="memname">static void dmxDeviceCursorCleanup </td> 813 <td>(</td> 814 <td class="paramtype">DeviceIntPtr </td> 815 <td class="paramname"><em>pDev</em>, </td> 816 </tr> 817 <tr> 818 <td class="paramkey"></td> 819 <td></td> 820 <td class="paramtype">ScreenPtr </td> 821 <td class="paramname"><em>pScr</em> </td> 822 </tr> 823 <tr> 824 <td></td> 825 <td>)</td> 826 <td></td><td><code> [static]</code></td> 827 </tr> 828 </table> 829</div> 830<div class="memdoc"> 831 832</div> 833</div> 834<a class="anchor" id="a214b710621ed0279d6321375f3512a87"></a><!-- doxytag: member="dmxcursor.c::dmxDeviceCursorInitialize" ref="a214b710621ed0279d6321375f3512a87" args="(DeviceIntPtr pDev, ScreenPtr pScr)" --> 835<div class="memitem"> 836<div class="memproto"> 837 <table class="memname"> 838 <tr> 839 <td class="memname">static Bool dmxDeviceCursorInitialize </td> 840 <td>(</td> 841 <td class="paramtype">DeviceIntPtr </td> 842 <td class="paramname"><em>pDev</em>, </td> 843 </tr> 844 <tr> 845 <td class="paramkey"></td> 846 <td></td> 847 <td class="paramtype">ScreenPtr </td> 848 <td class="paramname"><em>pScr</em> </td> 849 </tr> 850 <tr> 851 <td></td> 852 <td>)</td> 853 <td></td><td><code> [static]</code></td> 854 </tr> 855 </table> 856</div> 857<div class="memdoc"> 858 859</div> 860</div> 861<a class="anchor" id="a5612d5f5b97d54fa9eb73540eaeba4f3"></a><!-- doxytag: member="dmxcursor.c::dmxDoesOverlap" ref="a5612d5f5b97d54fa9eb73540eaeba4f3" args="(DMXScreenInfo *a, DMXScreenInfo *b)" --> 862<div class="memitem"> 863<div class="memproto"> 864 <table class="memname"> 865 <tr> 866 <td class="memname">static int dmxDoesOverlap </td> 867 <td>(</td> 868 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 869 <td class="paramname"><em>a</em>, </td> 870 </tr> 871 <tr> 872 <td class="paramkey"></td> 873 <td></td> 874 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 875 <td class="paramname"><em>b</em> </td> 876 </tr> 877 <tr> 878 <td></td> 879 <td>)</td> 880 <td></td><td><code> [static]</code></td> 881 </tr> 882 </table> 883</div> 884<div class="memdoc"> 885<p>Returns non-zero if <em>a</em> overlaps <em>b</em>. </p> 886 887<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> 888 889<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p> 890 891</div> 892</div> 893<a class="anchor" id="ac7dc34eb6db6964e4330acc4d0e2badc"></a><!-- doxytag: member="dmxcursor.c::dmxFindCursor" ref="ac7dc34eb6db6964e4330acc4d0e2badc" args="(DMXScreenInfo *start)" --> 894<div class="memitem"> 895<div class="memproto"> 896 <table class="memname"> 897 <tr> 898 <td class="memname">static CursorPtr dmxFindCursor </td> 899 <td>(</td> 900 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 901 <td class="paramname"><em>start</em></td><td>)</td> 902 <td><code> [static]</code></td> 903 </tr> 904 </table> 905</div> 906<div class="memdoc"> 907 908<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> 909 910<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> 911 912</div> 913</div> 914<a class="anchor" id="ad67e1086ef62ecfa33549d74cd89a379"></a><!-- doxytag: member="dmxcursor.c::dmxHideCursor" ref="ad67e1086ef62ecfa33549d74cd89a379" args="(DMXScreenInfo *dmxScreen)" --> 915<div class="memitem"> 916<div class="memproto"> 917 <table class="memname"> 918 <tr> 919 <td class="memname">void dmxHideCursor </td> 920 <td>(</td> 921 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 922 <td class="paramname"><em>dmxScreen</em></td><td>)</td> 923 <td></td> 924 </tr> 925 </table> 926</div> 927<div class="memdoc"> 928<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> 929<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxbackend_8c.html">dmxbackend.c</a> </dd></dl> 930 931<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> 932 933<p>Referenced by <a class="el" href="dmxbackend_8h.html#a486d684411f79c459a1195e5c02f404c">dmxBackendUpdatePosition()</a>.</p> 934 935</div> 936</div> 937<a class="anchor" id="af3fb4b2c2d3cc318c88fbc6658893360"></a><!-- doxytag: member="dmxcursor.c::dmxInitOrigins" ref="af3fb4b2c2d3cc318c88fbc6658893360" args="(void)" --> 938<div class="memitem"> 939<div class="memproto"> 940 <table class="memname"> 941 <tr> 942 <td class="memname">void dmxInitOrigins </td> 943 <td>(</td> 944 <td class="paramtype">void </td> 945 <td class="paramname"></td><td>)</td> 946 <td></td> 947 </tr> 948 </table> 949</div> 950<div class="memdoc"> 951<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> 952 953<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> 954 955<p>Referenced by <a class="el" href="dmxinit_8c.html#a51c195c51f4f09e981384a4215f82321">InitOutput()</a>.</p> 956 957</div> 958</div> 959<a class="anchor" id="a77c74a33de88fae6cf0de8b755a5c411"></a><!-- doxytag: member="dmxcursor.c::dmxInitOverlap" ref="a77c74a33de88fae6cf0de8b755a5c411" args="(void)" --> 960<div class="memitem"> 961<div class="memproto"> 962 <table class="memname"> 963 <tr> 964 <td class="memname">void dmxInitOverlap </td> 965 <td>(</td> 966 <td class="paramtype">void </td> 967 <td class="paramname"></td><td>)</td> 968 <td></td> 969 </tr> 970 </table> 971</div> 972<div class="memdoc"> 973<p>Detects overlapping dmxScreens and creates circular lists. This uses an O(dmxNumScreens^2) algorithm, but dmxNumScreens is < 100 and the computation only needs to be performed for every server generation or dynamic reconfiguration . </p> 974 975<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> 976 977<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> 978 979</div> 980</div> 981<a class="anchor" id="a28c6651bdff6f7fc01292548659a6eb4"></a><!-- doxytag: member="dmxcursor.c::dmxIterateOverlap" ref="a28c6651bdff6f7fc01292548659a6eb4" args="(DMXScreenInfo *start, void *(*f)(DMXScreenInfo *dmxScreen, void *), void *closure)" --> 982<div class="memitem"> 983<div class="memproto"> 984 <table class="memname"> 985 <tr> 986 <td class="memname">static void* dmxIterateOverlap </td> 987 <td>(</td> 988 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 989 <td class="paramname"><em>start</em>, </td> 990 </tr> 991 <tr> 992 <td class="paramkey"></td> 993 <td></td> 994 <td class="paramtype">void *(*)(<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen, void *) </td> 995 <td class="paramname"><em>f</em>, </td> 996 </tr> 997 <tr> 998 <td class="paramkey"></td> 999 <td></td> 1000 <td class="paramtype">void * </td> 1001 <td class="paramname"><em>closure</em> </td> 1002 </tr> 1003 <tr> 1004 <td></td> 1005 <td>)</td> 1006 <td></td><td><code> [static]</code></td> 1007 </tr> 1008 </table> 1009</div> 1010<div class="memdoc"> 1011<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> 1012 1013<p>References <a class="el" href="struct__DMXScreenInfo.html#ac55a37b29ce99474516995b09f794d9c">_DMXScreenInfo::over</a>.</p> 1014 1015<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p> 1016 1017</div> 1018</div> 1019<a class="anchor" id="a21820e2001f763e3cfc924a1d602bb62"></a><!-- doxytag: member="dmxcursor.c::dmxMoveCursor" ref="a21820e2001f763e3cfc924a1d602bb62" args="(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)" --> 1020<div class="memitem"> 1021<div class="memproto"> 1022 <table class="memname"> 1023 <tr> 1024 <td class="memname">void dmxMoveCursor </td> 1025 <td>(</td> 1026 <td class="paramtype">DeviceIntPtr </td> 1027 <td class="paramname"><em>pDev</em>, </td> 1028 </tr> 1029 <tr> 1030 <td class="paramkey"></td> 1031 <td></td> 1032 <td class="paramtype">ScreenPtr </td> 1033 <td class="paramname"><em>pScreen</em>, </td> 1034 </tr> 1035 <tr> 1036 <td class="paramkey"></td> 1037 <td></td> 1038 <td class="paramtype">int </td> 1039 <td class="paramname"><em>x</em>, </td> 1040 </tr> 1041 <tr> 1042 <td class="paramkey"></td> 1043 <td></td> 1044 <td class="paramtype">int </td> 1045 <td class="paramname"><em>y</em> </td> 1046 </tr> 1047 <tr> 1048 <td></td> 1049 <td>)</td> 1050 <td></td><td></td> 1051 </tr> 1052 </table> 1053</div> 1054<div class="memdoc"> 1055<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> 1056<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> 1057 1058<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> 1059 1060</div> 1061</div> 1062<a class="anchor" id="adaf3455cdd3f54d22285e5a0fa99fddb"></a><!-- doxytag: member="dmxcursor.c::dmxOnScreen" ref="adaf3455cdd3f54d22285e5a0fa99fddb" args="(int x, int y, DMXScreenInfo *dmxScreen)" --> 1063<div class="memitem"> 1064<div class="memproto"> 1065 <table class="memname"> 1066 <tr> 1067 <td class="memname">int dmxOnScreen </td> 1068 <td>(</td> 1069 <td class="paramtype">int </td> 1070 <td class="paramname"><em>x</em>, </td> 1071 </tr> 1072 <tr> 1073 <td class="paramkey"></td> 1074 <td></td> 1075 <td class="paramtype">int </td> 1076 <td class="paramname"><em>y</em>, </td> 1077 </tr> 1078 <tr> 1079 <td class="paramkey"></td> 1080 <td></td> 1081 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 1082 <td class="paramname"><em>dmxScreen</em> </td> 1083 </tr> 1084 <tr> 1085 <td></td> 1086 <td>)</td> 1087 <td></td><td></td> 1088 </tr> 1089 </table> 1090</div> 1091<div class="memdoc"> 1092<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> 1093 1094<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> 1095 1096<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> 1097 1098</div> 1099</div> 1100<a class="anchor" id="a52398858fc93988512050543967652fe"></a><!-- doxytag: member="dmxcursor.c::dmxPrintOverlap" ref="a52398858fc93988512050543967652fe" args="(DMXScreenInfo *dmxScreen, void *closure)" --> 1101<div class="memitem"> 1102<div class="memproto"> 1103 <table class="memname"> 1104 <tr> 1105 <td class="memname">static void* dmxPrintOverlap </td> 1106 <td>(</td> 1107 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 1108 <td class="paramname"><em>dmxScreen</em>, </td> 1109 </tr> 1110 <tr> 1111 <td class="paramkey"></td> 1112 <td></td> 1113 <td class="paramtype">void * </td> 1114 <td class="paramname"><em>closure</em> </td> 1115 </tr> 1116 <tr> 1117 <td></td> 1118 <td>)</td> 1119 <td></td><td><code> [static]</code></td> 1120 </tr> 1121 </table> 1122</div> 1123<div class="memdoc"> 1124<p>Used with <em>dmxInterateOverlap</em> to print out a list of screens which overlap each other. </p> 1125 1126<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> 1127 1128<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p> 1129 1130</div> 1131</div> 1132<a class="anchor" id="ad51761f218c643ebe7f010538e9c745f"></a><!-- doxytag: member="dmxcursor.c::dmxRealizeCursor" ref="ad51761f218c643ebe7f010538e9c745f" args="(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)" --> 1133<div class="memitem"> 1134<div class="memproto"> 1135 <table class="memname"> 1136 <tr> 1137 <td class="memname">static Bool dmxRealizeCursor </td> 1138 <td>(</td> 1139 <td class="paramtype">DeviceIntPtr </td> 1140 <td class="paramname"><em>pDev</em>, </td> 1141 </tr> 1142 <tr> 1143 <td class="paramkey"></td> 1144 <td></td> 1145 <td class="paramtype">ScreenPtr </td> 1146 <td class="paramname"><em>pScreen</em>, </td> 1147 </tr> 1148 <tr> 1149 <td class="paramkey"></td> 1150 <td></td> 1151 <td class="paramtype">CursorPtr </td> 1152 <td class="paramname"><em>pCursor</em> </td> 1153 </tr> 1154 <tr> 1155 <td></td> 1156 <td>)</td> 1157 <td></td><td><code> [static]</code></td> 1158 </tr> 1159 </table> 1160</div> 1161<div class="memdoc"> 1162 1163<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> 1164 1165</div> 1166</div> 1167<a class="anchor" id="a9bdb6eff5f7f86fd071091c5a55cee7c"></a><!-- doxytag: member="dmxcursor.c::dmxReInitOrigins" ref="a9bdb6eff5f7f86fd071091c5a55cee7c" args="(void)" --> 1168<div class="memitem"> 1169<div class="memproto"> 1170 <table class="memname"> 1171 <tr> 1172 <td class="memname">void dmxReInitOrigins </td> 1173 <td>(</td> 1174 <td class="paramtype">void </td> 1175 <td class="paramname"></td><td>)</td> 1176 <td></td> 1177 </tr> 1178 </table> 1179</div> 1180<div class="memdoc"> 1181<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> 1182 1183<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> 1184 1185<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> 1186 1187</div> 1188</div> 1189<a class="anchor" id="a4cbf6be156525a669ae883465f6458c2"></a><!-- doxytag: member="dmxcursor.c::dmxSetCursor" ref="a4cbf6be156525a669ae883465f6458c2" args="(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, int x, int y)" --> 1190<div class="memitem"> 1191<div class="memproto"> 1192 <table class="memname"> 1193 <tr> 1194 <td class="memname">static void dmxSetCursor </td> 1195 <td>(</td> 1196 <td class="paramtype">DeviceIntPtr </td> 1197 <td class="paramname"><em>pDev</em>, </td> 1198 </tr> 1199 <tr> 1200 <td class="paramkey"></td> 1201 <td></td> 1202 <td class="paramtype">ScreenPtr </td> 1203 <td class="paramname"><em>pScreen</em>, </td> 1204 </tr> 1205 <tr> 1206 <td class="paramkey"></td> 1207 <td></td> 1208 <td class="paramtype">CursorPtr </td> 1209 <td class="paramname"><em>pCursor</em>, </td> 1210 </tr> 1211 <tr> 1212 <td class="paramkey"></td> 1213 <td></td> 1214 <td class="paramtype">int </td> 1215 <td class="paramname"><em>x</em>, </td> 1216 </tr> 1217 <tr> 1218 <td class="paramkey"></td> 1219 <td></td> 1220 <td class="paramtype">int </td> 1221 <td class="paramname"><em>y</em> </td> 1222 </tr> 1223 <tr> 1224 <td></td> 1225 <td>)</td> 1226 <td></td><td><code> [static]</code></td> 1227 </tr> 1228 </table> 1229</div> 1230<div class="memdoc"> 1231 1232<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> 1233 1234</div> 1235</div> 1236<a class="anchor" id="aaf8a9878f12b6653247fc27d960beccf"></a><!-- doxytag: member="dmxcursor.c::dmxSLCreate" ref="aaf8a9878f12b6653247fc27d960beccf" args="(void)" --> 1237<div class="memitem"> 1238<div class="memproto"> 1239 <table class="memname"> 1240 <tr> 1241 <td class="memname">static int* dmxSLCreate </td> 1242 <td>(</td> 1243 <td class="paramtype">void </td> 1244 <td class="paramname"></td><td>)</td> 1245 <td><code> [static]</code></td> 1246 </tr> 1247 </table> 1248</div> 1249<div class="memdoc"> 1250<p>Create a list of screens that we'll manipulate. </p> 1251 1252<p>References <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>.</p> 1253 1254<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>.</p> 1255 1256</div> 1257</div> 1258<a class="anchor" id="ab4dcb11cad339e72d843356841ffd203"></a><!-- doxytag: member="dmxcursor.c::dmxSLFindNext" ref="ab4dcb11cad339e72d843356841ffd203" args="(int *list)" --> 1259<div class="memitem"> 1260<div class="memproto"> 1261 <table class="memname"> 1262 <tr> 1263 <td class="memname">static int dmxSLFindNext </td> 1264 <td>(</td> 1265 <td class="paramtype">int * </td> 1266 <td class="paramname"><em>list</em></td><td>)</td> 1267 <td><code> [static]</code></td> 1268 </tr> 1269 </table> 1270</div> 1271<div class="memdoc"> 1272<p>Find next uninitialized entry in list. </p> 1273 1274<p>References <a class="el" href="dmx_8h.html#a5a881109fe1e32c74cda4a280b09a7c4">dmxNumScreens</a>.</p> 1275 1276<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>.</p> 1277 1278</div> 1279</div> 1280<a class="anchor" id="a565fbb8c3754a14c1aed13b741705b91"></a><!-- doxytag: member="dmxcursor.c::dmxSLFree" ref="a565fbb8c3754a14c1aed13b741705b91" args="(int *list)" --> 1281<div class="memitem"> 1282<div class="memproto"> 1283 <table class="memname"> 1284 <tr> 1285 <td class="memname">static void dmxSLFree </td> 1286 <td>(</td> 1287 <td class="paramtype">int * </td> 1288 <td class="paramname"><em>list</em></td><td>)</td> 1289 <td><code> [static]</code></td> 1290 </tr> 1291 </table> 1292</div> 1293<div class="memdoc"> 1294<p>Free list. </p> 1295 1296<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>.</p> 1297 1298</div> 1299</div> 1300<a class="anchor" id="a3beed7bb0f6999879936b2f47751d125"></a><!-- doxytag: member="dmxcursor.c::dmxTestSameDisplay" ref="a3beed7bb0f6999879936b2f47751d125" args="(DMXScreenInfo *a, void *closure)" --> 1301<div class="memitem"> 1302<div class="memproto"> 1303 <table class="memname"> 1304 <tr> 1305 <td class="memname">static void* dmxTestSameDisplay </td> 1306 <td>(</td> 1307 <td class="paramtype"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> * </td> 1308 <td class="paramname"><em>a</em>, </td> 1309 </tr> 1310 <tr> 1311 <td class="paramkey"></td> 1312 <td></td> 1313 <td class="paramtype">void * </td> 1314 <td class="paramname"><em>closure</em> </td> 1315 </tr> 1316 <tr> 1317 <td></td> 1318 <td>)</td> 1319 <td></td><td><code> [static]</code></td> 1320 </tr> 1321 </table> 1322</div> 1323<div class="memdoc"> 1324<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> 1325 1326<p>Referenced by <a class="el" href="dmxcursor_8h.html#a77c74a33de88fae6cf0de8b755a5c411">dmxInitOverlap()</a>.</p> 1327 1328</div> 1329</div> 1330<a class="anchor" id="a97efbe7e0a872da9de0be49da214c210"></a><!-- doxytag: member="dmxcursor.c::dmxTryComputeScreenOrigins" ref="a97efbe7e0a872da9de0be49da214c210" args="(int *screensLeft)" --> 1331<div class="memitem"> 1332<div class="memproto"> 1333 <table class="memname"> 1334 <tr> 1335 <td class="memname">static int dmxTryComputeScreenOrigins </td> 1336 <td>(</td> 1337 <td class="paramtype">int * </td> 1338 <td class="paramname"><em>screensLeft</em></td><td>)</td> 1339 <td><code> [static]</code></td> 1340 </tr> 1341 </table> 1342</div> 1343<div class="memdoc"> 1344<p>Make one pass over all the screens and return the number updated. </p> 1345 1346<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> 1347 1348<p>Referenced by <a class="el" href="dmxcursor_8c.html#aa5a4c58dbde29584153fbc43a1ac6e26">dmxComputeScreenOrigins()</a>.</p> 1349 1350</div> 1351</div> 1352<a class="anchor" id="a81c0223355350e6d897d4d7306381130"></a><!-- doxytag: member="dmxcursor.c::dmxUnrealizeCursor" ref="a81c0223355350e6d897d4d7306381130" args="(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor)" --> 1353<div class="memitem"> 1354<div class="memproto"> 1355 <table class="memname"> 1356 <tr> 1357 <td class="memname">static Bool dmxUnrealizeCursor </td> 1358 <td>(</td> 1359 <td class="paramtype">DeviceIntPtr </td> 1360 <td class="paramname"><em>pDev</em>, </td> 1361 </tr> 1362 <tr> 1363 <td class="paramkey"></td> 1364 <td></td> 1365 <td class="paramtype">ScreenPtr </td> 1366 <td class="paramname"><em>pScreen</em>, </td> 1367 </tr> 1368 <tr> 1369 <td class="paramkey"></td> 1370 <td></td> 1371 <td class="paramtype">CursorPtr </td> 1372 <td class="paramname"><em>pCursor</em> </td> 1373 </tr> 1374 <tr> 1375 <td></td> 1376 <td>)</td> 1377 <td></td><td><code> [static]</code></td> 1378 </tr> 1379 </table> 1380</div> 1381<div class="memdoc"> 1382 1383<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> 1384 1385</div> 1386</div> 1387<a class="anchor" id="af80076061e55521b62a7cfd8e66bf3e6"></a><!-- doxytag: member="dmxcursor.c::dmxWarpCursor" ref="af80076061e55521b62a7cfd8e66bf3e6" args="(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)" --> 1388<div class="memitem"> 1389<div class="memproto"> 1390 <table class="memname"> 1391 <tr> 1392 <td class="memname">static void dmxWarpCursor </td> 1393 <td>(</td> 1394 <td class="paramtype">DeviceIntPtr </td> 1395 <td class="paramname"><em>pDev</em>, </td> 1396 </tr> 1397 <tr> 1398 <td class="paramkey"></td> 1399 <td></td> 1400 <td class="paramtype">ScreenPtr </td> 1401 <td class="paramname"><em>pScreen</em>, </td> 1402 </tr> 1403 <tr> 1404 <td class="paramkey"></td> 1405 <td></td> 1406 <td class="paramtype">int </td> 1407 <td class="paramname"><em>x</em>, </td> 1408 </tr> 1409 <tr> 1410 <td class="paramkey"></td> 1411 <td></td> 1412 <td class="paramtype">int </td> 1413 <td class="paramname"><em>y</em> </td> 1414 </tr> 1415 <tr> 1416 <td></td> 1417 <td>)</td> 1418 <td></td><td><code> [static]</code></td> 1419 </tr> 1420 </table> 1421</div> 1422<div class="memdoc"> 1423 1424<p>References <a class="el" href="dmxcursor_8c.html#a6c6714b899194081b94edb722ca1c4bc">DMXDBG3</a>.</p> 1425 1426</div> 1427</div> 1428<hr/><h2>Variable Documentation</h2> 1429<a class="anchor" id="a4d792c0cb9ce0c21787d3cd88d774fa6"></a><!-- doxytag: member="dmxcursor.c::dmxCursorDoMultiCursors" ref="a4d792c0cb9ce0c21787d3cd88d774fa6" args="" --> 1430<div class="memitem"> 1431<div class="memproto"> 1432 <table class="memname"> 1433 <tr> 1434 <td class="memname">int <a class="el" href="dmxcursor_8c.html#a4d792c0cb9ce0c21787d3cd88d774fa6">dmxCursorDoMultiCursors</a> = 1<code> [static]</code></td> 1435 </tr> 1436 </table> 1437</div> 1438<div class="memdoc"> 1439 1440<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> 1441 1442</div> 1443</div> 1444<a class="anchor" id="aacf8d4857dd965073f62f10a53edcaa3"></a><!-- doxytag: member="dmxcursor.c::dmxPointerCursorFuncs" ref="aacf8d4857dd965073f62f10a53edcaa3" args="" --> 1445<div class="memitem"> 1446<div class="memproto"> 1447 <table class="memname"> 1448 <tr> 1449 <td class="memname">miPointerScreenFuncRec <a class="el" href="dmxcursor_8h.html#aacf8d4857dd965073f62f10a53edcaa3">dmxPointerCursorFuncs</a></td> 1450 </tr> 1451 </table> 1452</div> 1453<div class="memdoc"> 1454<b>Initial value:</b><div class="fragment"><pre class="fragment"> 1455{ 1456 <a class="code" href="dmxcursor_8c.html#a1c7f5d94ee32f85ec027c53b881fc697">dmxCursorOffScreen</a>, 1457 <a class="code" href="dmxcursor_8c.html#a2d0757fa7119492da7fe26901dab8571">dmxCrossScreen</a>, 1458 <a class="code" href="dmxcursor_8c.html#af80076061e55521b62a7cfd8e66bf3e6">dmxWarpCursor</a>, 1459 NULL, 1460 NULL, 1461} 1462</pre></div><p>Cursor functions for mi layer. </p> 1463<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> </dd> 1464<dd> 1465<a class="el" href="dmxscrinit_8c.html">dmxscrinit.c</a> </dd></dl> 1466 1467<p>Referenced by <a class="el" href="dmxscrinit_8h.html#a673d8a2c038f8ed0da5f910a72a5c4c2">dmxScreenInit()</a>.</p> 1468 1469</div> 1470</div> 1471<a class="anchor" id="a7bf2f59a6c5d381aea975cd78dd1f9dc"></a><!-- doxytag: member="dmxcursor.c::dmxPointerSpriteFuncs" ref="a7bf2f59a6c5d381aea975cd78dd1f9dc" args="" --> 1472<div class="memitem"> 1473<div class="memproto"> 1474 <table class="memname"> 1475 <tr> 1476 <td class="memname">miPointerSpriteFuncRec <a class="el" href="dmxcursor_8h.html#a7bf2f59a6c5d381aea975cd78dd1f9dc">dmxPointerSpriteFuncs</a></td> 1477 </tr> 1478 </table> 1479</div> 1480<div class="memdoc"> 1481<b>Initial value:</b><div class="fragment"><pre class="fragment"> 1482{ 1483 <a class="code" href="dmxcursor_8c.html#ad51761f218c643ebe7f010538e9c745f">dmxRealizeCursor</a>, 1484 <a class="code" href="dmxcursor_8c.html#a81c0223355350e6d897d4d7306381130">dmxUnrealizeCursor</a>, 1485 <a class="code" href="dmxcursor_8c.html#a4cbf6be156525a669ae883465f6458c2">dmxSetCursor</a>, 1486 <a class="code" href="dmxcursor_8c.html#a21820e2001f763e3cfc924a1d602bb62">dmxMoveCursor</a>, 1487 <a class="code" href="dmxcursor_8c.html#a214b710621ed0279d6321375f3512a87">dmxDeviceCursorInitialize</a>, 1488 <a class="code" href="dmxcursor_8c.html#af291298e4f52875e45d7097a223a8c0b">dmxDeviceCursorCleanup</a> 1489} 1490</pre></div><p>Sprite functions for mi layer. </p> 1491<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> </dd> 1492<dd> 1493<a class="el" href="dmxscrinit_8c.html">dmxscrinit.c</a> </dd></dl> 1494 1495<p>Referenced by <a class="el" href="dmxscrinit_8h.html#a673d8a2c038f8ed0da5f910a72a5c4c2">dmxScreenInit()</a>.</p> 1496 1497</div> 1498</div> 1499</div> 1500</div> 1501 <div id="nav-path" class="navpath"> 1502 <ul> 1503 <li class="navelem"><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> </li> 1504 <hr> 1505 <address> 1506 <small> 1507 Generated June 29, 2004 for <a 1508 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by 1509 <a href="http://www.doxygen.org/index.html">doxygen</a> 1510 1.3.4. 1511 </small> 1512 </addres> 1513 </hr> 1514 </body> 1515</html> 1516