First import
[xorg_rtime.git] / xorg-server-1.4 / hw / dmx / doc / html / dmxcursor_8h.html
blob3bb81f00f8e611260554457460460d6f4d46ab25
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.3.4 -->
10 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
11 <h1>dmxcursor.h File Reference</h1><code>#include "mipointer.h"</code><br>
13 <p>
14 <a href="dmxcursor_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
15 <tr><td></td></tr>
16 <tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
17 <tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a></td></tr>
19 <tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
20 <tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a1">dmxCursorPrivRec</a></td></tr>
22 <tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a2">dmxCursorPrivPtr</a></td></tr>
24 <tr><td colspan=2><br><h2>Functions</h2></td></tr>
25 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a5">dmxReInitOrigins</a> (void)</td></tr>
27 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a6">dmxInitOrigins</a> (void)</td></tr>
29 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a7">dmxInitOverlap</a> (void)</td></tr>
31 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a8">dmxCursorNoMulti</a> (void)</td></tr>
33 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a9">dmxMoveCursor</a> (ScreenPtr pScreen, int x, int y)</td></tr>
35 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a10">dmxCheckCursor</a> (void)</td></tr>
37 <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a11">dmxOnScreen</a> (int x, int y, <a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen)</td></tr>
39 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a12">dmxHideCursor</a> (<a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxScreen)</td></tr>
41 <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a13">dmxBECreateCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
43 <tr><td class="memItemLeft" nowrap align=right valign=top>Bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a14">dmxBEFreeCursor</a> (ScreenPtr pScreen, CursorPtr pCursor)</td></tr>
45 <tr><td colspan=2><br><h2>Variables</h2></td></tr>
46 <tr><td class="memItemLeft" nowrap align=right valign=top>miPointerScreenFuncRec&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a3">dmxPointerCursorFuncs</a></td></tr>
48 <tr><td class="memItemLeft" nowrap align=right valign=top>miPointerSpriteFuncRec&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="dmxcursor_8h.html#a4">dmxPointerSpriteFuncs</a></td></tr>
50 </table>
51 <hr><a name="_details"></a><h2>Detailed Description</h2>
52 Interface for cursor support. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a>.</dd></dl>
53 <hr><h2>Typedef Documentation</h2>
54 <a class="anchor" name="a2" doxytag="dmxcursor.h::dmxCursorPrivPtr" ></a><p>
55 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
56 <tr>
57 <td class="mdRow">
58 <table cellpadding="0" cellspacing="0" border="0">
59 <tr>
60 <td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a> * <a class="el" href="struct__dmxCursorPriv.html">dmxCursorPrivPtr</a>
61 </table>
62 </td>
63 </tr>
64 </table>
65 <table cellspacing=5 cellpadding=0 border=0>
66 <tr>
67 <td>
68 &nbsp;
69 </td>
70 <td>
72 <p>
73 Cursor private area. </td>
74 </tr>
75 </table>
76 <a class="anchor" name="a1" doxytag="dmxcursor.h::dmxCursorPrivRec" ></a><p>
77 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
78 <tr>
79 <td class="mdRow">
80 <table cellpadding="0" cellspacing="0" border="0">
81 <tr>
82 <td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__dmxCursorPriv.html">_dmxCursorPriv</a> <a class="el" href="struct__dmxCursorPriv.html">dmxCursorPrivRec</a>
83 </table>
84 </td>
85 </tr>
86 </table>
87 <table cellspacing=5 cellpadding=0 border=0>
88 <tr>
89 <td>
90 &nbsp;
91 </td>
92 <td>
94 <p>
95 Cursor private area. </td>
96 </tr>
97 </table>
98 <hr><h2>Function Documentation</h2>
99 <a class="anchor" name="a13" doxytag="dmxcursor.h::dmxBECreateCursor" ></a><p>
100 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
101 <tr>
102 <td class="mdRow">
103 <table cellpadding="0" cellspacing="0" border="0">
104 <tr>
105 <td class="md" nowrap valign="top"> void dmxBECreateCursor </td>
106 <td class="md" valign="top">(&nbsp;</td>
107 <td class="md" nowrap valign="top">ScreenPtr&nbsp;</td>
108 <td class="mdname" nowrap> <em>pScreen</em>, </td>
109 </tr>
110 <tr>
111 <td></td>
112 <td></td>
113 <td class="md" nowrap>CursorPtr&nbsp;</td>
114 <td class="mdname" nowrap> <em>pCursor</em></td>
115 </tr>
116 <tr>
117 <td></td>
118 <td class="md">)&nbsp;</td>
119 <td class="md" colspan="2"></td>
120 </tr>
122 </table>
123 </td>
124 </tr>
125 </table>
126 <table cellspacing=5 cellpadding=0 border=0>
127 <tr>
128 <td>
129 &nbsp;
130 </td>
131 <td>
134 Create <em>pCursor</em> on the back-end associated with <em>pScreen</em>. </td>
135 </tr>
136 </table>
137 <a class="anchor" name="a14" doxytag="dmxcursor.h::dmxBEFreeCursor" ></a><p>
138 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
139 <tr>
140 <td class="mdRow">
141 <table cellpadding="0" cellspacing="0" border="0">
142 <tr>
143 <td class="md" nowrap valign="top"> Bool dmxBEFreeCursor </td>
144 <td class="md" valign="top">(&nbsp;</td>
145 <td class="md" nowrap valign="top">ScreenPtr&nbsp;</td>
146 <td class="mdname" nowrap> <em>pScreen</em>, </td>
147 </tr>
148 <tr>
149 <td></td>
150 <td></td>
151 <td class="md" nowrap>CursorPtr&nbsp;</td>
152 <td class="mdname" nowrap> <em>pCursor</em></td>
153 </tr>
154 <tr>
155 <td></td>
156 <td class="md">)&nbsp;</td>
157 <td class="md" colspan="2"></td>
158 </tr>
160 </table>
161 </td>
162 </tr>
163 </table>
164 <table cellspacing=5 cellpadding=0 border=0>
165 <tr>
166 <td>
167 &nbsp;
168 </td>
169 <td>
172 Free <em>pCursor</em> on the back-end associated with <em>pScreen</em>. </td>
173 </tr>
174 </table>
175 <a class="anchor" name="a10" doxytag="dmxcursor.h::dmxCheckCursor" ></a><p>
176 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
177 <tr>
178 <td class="mdRow">
179 <table cellpadding="0" cellspacing="0" border="0">
180 <tr>
181 <td class="md" nowrap valign="top"> void dmxCheckCursor </td>
182 <td class="md" valign="top">(&nbsp;</td>
183 <td class="md" nowrap valign="top">void&nbsp;</td>
184 <td class="mdname1" valign="top" nowrap> </td>
185 <td class="md" valign="top">&nbsp;)&nbsp;</td>
186 <td class="md" nowrap></td>
187 </tr>
189 </table>
190 </td>
191 </tr>
192 </table>
193 <table cellspacing=5 cellpadding=0 border=0>
194 <tr>
195 <td>
196 &nbsp;
197 </td>
198 <td>
201 This routine is called during reconfiguration to make sure the cursor is visible. </td>
202 </tr>
203 </table>
204 <a class="anchor" name="a8" doxytag="dmxcursor.h::dmxCursorNoMulti" ></a><p>
205 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
206 <tr>
207 <td class="mdRow">
208 <table cellpadding="0" cellspacing="0" border="0">
209 <tr>
210 <td class="md" nowrap valign="top"> void dmxCursorNoMulti </td>
211 <td class="md" valign="top">(&nbsp;</td>
212 <td class="md" nowrap valign="top">void&nbsp;</td>
213 <td class="mdname1" valign="top" nowrap> </td>
214 <td class="md" valign="top">&nbsp;)&nbsp;</td>
215 <td class="md" nowrap></td>
216 </tr>
218 </table>
219 </td>
220 </tr>
221 </table>
222 <table cellspacing=5 cellpadding=0 border=0>
223 <tr>
224 <td>
225 &nbsp;
226 </td>
227 <td>
230 Turn off support for displaying multiple cursors on overlapped back-end displays. See #dmxCursorDoMultiCursors. </td>
231 </tr>
232 </table>
233 <a class="anchor" name="a12" doxytag="dmxcursor.h::dmxHideCursor" ></a><p>
234 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
235 <tr>
236 <td class="mdRow">
237 <table cellpadding="0" cellspacing="0" border="0">
238 <tr>
239 <td class="md" nowrap valign="top"> void dmxHideCursor </td>
240 <td class="md" valign="top">(&nbsp;</td>
241 <td class="md" nowrap valign="top"><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&nbsp;</td>
242 <td class="mdname1" valign="top" nowrap> <em>dmxScreen</em> </td>
243 <td class="md" valign="top">&nbsp;)&nbsp;</td>
244 <td class="md" nowrap></td>
245 </tr>
247 </table>
248 </td>
249 </tr>
250 </table>
251 <table cellspacing=5 cellpadding=0 border=0>
252 <tr>
253 <td>
254 &nbsp;
255 </td>
256 <td>
259 This routine is used by the backend input routines to hide the cursor on a screen that is being used for relative input. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="dmxbackend_8c.html">dmxbackend.c</a> </dd></dl>
260 </td>
261 </tr>
262 </table>
263 <a class="anchor" name="a6" doxytag="dmxcursor.h::dmxInitOrigins" ></a><p>
264 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
265 <tr>
266 <td class="mdRow">
267 <table cellpadding="0" cellspacing="0" border="0">
268 <tr>
269 <td class="md" nowrap valign="top"> void dmxInitOrigins </td>
270 <td class="md" valign="top">(&nbsp;</td>
271 <td class="md" nowrap valign="top">void&nbsp;</td>
272 <td class="mdname1" valign="top" nowrap> </td>
273 <td class="md" valign="top">&nbsp;)&nbsp;</td>
274 <td class="md" nowrap></td>
275 </tr>
277 </table>
278 </td>
279 </tr>
280 </table>
281 <table cellspacing=5 cellpadding=0 border=0>
282 <tr>
283 <td>
284 &nbsp;
285 </td>
286 <td>
289 Initialize screen origins (and relative position). This is called for each server generation. For dynamic reconfiguration, use <a class="el" href="dmxcursor_8c.html#a21">dmxReInitOrigins()</a> instead. </td>
290 </tr>
291 </table>
292 <a class="anchor" name="a7" doxytag="dmxcursor.h::dmxInitOverlap" ></a><p>
293 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
294 <tr>
295 <td class="mdRow">
296 <table cellpadding="0" cellspacing="0" border="0">
297 <tr>
298 <td class="md" nowrap valign="top"> void dmxInitOverlap </td>
299 <td class="md" valign="top">(&nbsp;</td>
300 <td class="md" nowrap valign="top">void&nbsp;</td>
301 <td class="mdname1" valign="top" nowrap> </td>
302 <td class="md" valign="top">&nbsp;)&nbsp;</td>
303 <td class="md" nowrap></td>
304 </tr>
306 </table>
307 </td>
308 </tr>
309 </table>
310 <table cellspacing=5 cellpadding=0 border=0>
311 <tr>
312 <td>
313 &nbsp;
314 </td>
315 <td>
318 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 . </td>
319 </tr>
320 </table>
321 <a class="anchor" name="a9" doxytag="dmxcursor.h::dmxMoveCursor" ></a><p>
322 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
323 <tr>
324 <td class="mdRow">
325 <table cellpadding="0" cellspacing="0" border="0">
326 <tr>
327 <td class="md" nowrap valign="top"> void dmxMoveCursor </td>
328 <td class="md" valign="top">(&nbsp;</td>
329 <td class="md" nowrap valign="top">ScreenPtr&nbsp;</td>
330 <td class="mdname" nowrap> <em>pScreen</em>, </td>
331 </tr>
332 <tr>
333 <td></td>
334 <td></td>
335 <td class="md" nowrap>int&nbsp;</td>
336 <td class="mdname" nowrap> <em>x</em>, </td>
337 </tr>
338 <tr>
339 <td></td>
340 <td></td>
341 <td class="md" nowrap>int&nbsp;</td>
342 <td class="mdname" nowrap> <em>y</em></td>
343 </tr>
344 <tr>
345 <td></td>
346 <td class="md">)&nbsp;</td>
347 <td class="md" colspan="2"></td>
348 </tr>
350 </table>
351 </td>
352 </tr>
353 </table>
354 <table cellspacing=5 cellpadding=0 border=0>
355 <tr>
356 <td>
357 &nbsp;
358 </td>
359 <td>
362 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#a4">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. </td>
363 </tr>
364 </table>
365 <a class="anchor" name="a11" doxytag="dmxcursor.h::dmxOnScreen" ></a><p>
366 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
367 <tr>
368 <td class="mdRow">
369 <table cellpadding="0" cellspacing="0" border="0">
370 <tr>
371 <td class="md" nowrap valign="top"> int dmxOnScreen </td>
372 <td class="md" valign="top">(&nbsp;</td>
373 <td class="md" nowrap valign="top">int&nbsp;</td>
374 <td class="mdname" nowrap> <em>x</em>, </td>
375 </tr>
376 <tr>
377 <td></td>
378 <td></td>
379 <td class="md" nowrap>int&nbsp;</td>
380 <td class="mdname" nowrap> <em>y</em>, </td>
381 </tr>
382 <tr>
383 <td></td>
384 <td></td>
385 <td class="md" nowrap><a class="el" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *&nbsp;</td>
386 <td class="mdname" nowrap> <em>dmxScreen</em></td>
387 </tr>
388 <tr>
389 <td></td>
390 <td class="md">)&nbsp;</td>
391 <td class="md" colspan="2"></td>
392 </tr>
394 </table>
395 </td>
396 </tr>
397 </table>
398 <table cellspacing=5 cellpadding=0 border=0>
399 <tr>
400 <td>
401 &nbsp;
402 </td>
403 <td>
406 Returns non-zero if the global <em>x</em>, <em>y</em> coordinate is on the screen window of the <em>dmxScreen</em>. </td>
407 </tr>
408 </table>
409 <a class="anchor" name="a5" doxytag="dmxcursor.h::dmxReInitOrigins" ></a><p>
410 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
411 <tr>
412 <td class="mdRow">
413 <table cellpadding="0" cellspacing="0" border="0">
414 <tr>
415 <td class="md" nowrap valign="top"> void dmxReInitOrigins </td>
416 <td class="md" valign="top">(&nbsp;</td>
417 <td class="md" nowrap valign="top">void&nbsp;</td>
418 <td class="mdname1" valign="top" nowrap> </td>
419 <td class="md" valign="top">&nbsp;)&nbsp;</td>
420 <td class="md" nowrap></td>
421 </tr>
423 </table>
424 </td>
425 </tr>
426 </table>
427 <table cellspacing=5 cellpadding=0 border=0>
428 <tr>
429 <td>
430 &nbsp;
431 </td>
432 <td>
435 Recompute origin information in the <a class="el" href="dmxinit_8c.html#a2">dmxScreens</a> list. This is either called from <a class="el" href="dmxcursor_8c.html#a22">dmxInitOrigins()</a> or from #dmxReconfig(). </td>
436 </tr>
437 </table>
438 <hr><h2>Variable Documentation</h2>
439 <a class="anchor" name="a3" doxytag="dmxcursor.h::dmxPointerCursorFuncs" ></a><p>
440 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
441 <tr>
442 <td class="mdRow">
443 <table cellpadding="0" cellspacing="0" border="0">
444 <tr>
445 <td class="md" nowrap valign="top"> miPointerScreenFuncRec <a class="el" href="dmxcursor_8h.html#a3">dmxPointerCursorFuncs</a>
446 </table>
447 </td>
448 </tr>
449 </table>
450 <table cellspacing=5 cellpadding=0 border=0>
451 <tr>
452 <td>
453 &nbsp;
454 </td>
455 <td>
458 Cursor functions for mi layer. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> <p>
459 <a class="el" href="dmxscrinit_8c.html">dmxscrinit.c</a> </dd></dl>
460 </td>
461 </tr>
462 </table>
463 <a class="anchor" name="a4" doxytag="dmxcursor.h::dmxPointerSpriteFuncs" ></a><p>
464 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
465 <tr>
466 <td class="mdRow">
467 <table cellpadding="0" cellspacing="0" border="0">
468 <tr>
469 <td class="md" nowrap valign="top"> miPointerSpriteFuncRec <a class="el" href="dmxcursor_8h.html#a4">dmxPointerSpriteFuncs</a>
470 </table>
471 </td>
472 </tr>
473 </table>
474 <table cellspacing=5 cellpadding=0 border=0>
475 <tr>
476 <td>
477 &nbsp;
478 </td>
479 <td>
482 Sprite functions for mi layer. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="dmxcursor_8c.html">dmxcursor.c</a> <p>
483 <a class="el" href="dmxscrinit_8c.html">dmxscrinit.c</a> </dd></dl>
484 </td>
485 </tr>
486 </table>
487 <hr>
488 <address>
489 <small>
490 Generated June 29, 2004 for <a
491 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
492 <a href="http://www.doxygen.org/index.html">doxygen</a>
493 1.3.4.
494 </small>
495 </addres>
496 </hr>
497 </body>
498 </html>