1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
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">
9 <!-- Generated by Doxygen 1.3.4 -->
10 <div class=
"qindex"><a class=
"qindex" href=
"main.html">Main
Page
</a> |
<a class=
"qindex" href=
"classes.html">Alphabetical
List
</a> |
<a class=
"qindex" href=
"annotated.html">Data
Structures
</a> |
<a class=
"qindex" href=
"files.html">File
List
</a> |
<a class=
"qindex" href=
"functions.html">Data
Fields
</a> |
<a class=
"qindex" href=
"globals.html">Globals
</a></div>
11 <h1>dmxcursor.h File Reference
</h1><code>#include
"mipointer.h"</code><br>
14 <a href=
"dmxcursor_8h-source.html">Go to the source code of this file.
</a><table border=
0 cellpadding=
0 cellspacing=
0>
16 <tr><td colspan=
2><br><h2>Data Structures
</h2></td></tr>
17 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>struct
</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> </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> *
</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
</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
</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
</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
</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
</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
</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
</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
</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
</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
</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
</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
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxcursor_8h.html#a4">dmxPointerSpriteFuncs
</a></td></tr>
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">
58 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
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>
65 <table cellspacing=
5 cellpadding=
0 border=
0>
73 Cursor private area.
</td>
76 <a class=
"anchor" name=
"a1" doxytag=
"dmxcursor.h::dmxCursorPrivRec" ></a><p>
77 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
80 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
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>
87 <table cellspacing=
5 cellpadding=
0 border=
0>
95 Cursor private area.
</td>
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">
103 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
105 <td class=
"md" nowrap
valign=
"top"> void dmxBECreateCursor
</td>
106 <td class=
"md" valign=
"top">(
</td>
107 <td class=
"md" nowrap
valign=
"top">ScreenPtr
</td>
108 <td class=
"mdname" nowrap
> <em>pScreen
</em>,
</td>
113 <td class=
"md" nowrap
>CursorPtr
</td>
114 <td class=
"mdname" nowrap
> <em>pCursor
</em></td>
118 <td class=
"md">)
</td>
119 <td class=
"md" colspan=
"2"></td>
126 <table cellspacing=
5 cellpadding=
0 border=
0>
134 Create
<em>pCursor
</em> on the back-end associated with
<em>pScreen
</em>.
</td>
137 <a class=
"anchor" name=
"a14" doxytag=
"dmxcursor.h::dmxBEFreeCursor" ></a><p>
138 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
141 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
143 <td class=
"md" nowrap
valign=
"top"> Bool dmxBEFreeCursor
</td>
144 <td class=
"md" valign=
"top">(
</td>
145 <td class=
"md" nowrap
valign=
"top">ScreenPtr
</td>
146 <td class=
"mdname" nowrap
> <em>pScreen
</em>,
</td>
151 <td class=
"md" nowrap
>CursorPtr
</td>
152 <td class=
"mdname" nowrap
> <em>pCursor
</em></td>
156 <td class=
"md">)
</td>
157 <td class=
"md" colspan=
"2"></td>
164 <table cellspacing=
5 cellpadding=
0 border=
0>
172 Free
<em>pCursor
</em> on the back-end associated with
<em>pScreen
</em>.
</td>
175 <a class=
"anchor" name=
"a10" doxytag=
"dmxcursor.h::dmxCheckCursor" ></a><p>
176 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
179 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
181 <td class=
"md" nowrap
valign=
"top"> void dmxCheckCursor
</td>
182 <td class=
"md" valign=
"top">(
</td>
183 <td class=
"md" nowrap
valign=
"top">void
</td>
184 <td class=
"mdname1" valign=
"top" nowrap
> </td>
185 <td class=
"md" valign=
"top"> )
</td>
186 <td class=
"md" nowrap
></td>
193 <table cellspacing=
5 cellpadding=
0 border=
0>
201 This routine is called during reconfiguration to make sure the cursor is visible.
</td>
204 <a class=
"anchor" name=
"a8" doxytag=
"dmxcursor.h::dmxCursorNoMulti" ></a><p>
205 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
208 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
210 <td class=
"md" nowrap
valign=
"top"> void dmxCursorNoMulti
</td>
211 <td class=
"md" valign=
"top">(
</td>
212 <td class=
"md" nowrap
valign=
"top">void
</td>
213 <td class=
"mdname1" valign=
"top" nowrap
> </td>
214 <td class=
"md" valign=
"top"> )
</td>
215 <td class=
"md" nowrap
></td>
222 <table cellspacing=
5 cellpadding=
0 border=
0>
230 Turn off support for displaying multiple cursors on overlapped back-end displays. See #dmxCursorDoMultiCursors.
</td>
233 <a class=
"anchor" name=
"a12" doxytag=
"dmxcursor.h::dmxHideCursor" ></a><p>
234 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
237 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
239 <td class=
"md" nowrap
valign=
"top"> void dmxHideCursor
</td>
240 <td class=
"md" valign=
"top">(
</td>
241 <td class=
"md" nowrap
valign=
"top"><a class=
"el" href=
"struct__DMXScreenInfo.html">DMXScreenInfo
</a> *
</td>
242 <td class=
"mdname1" valign=
"top" nowrap
> <em>dmxScreen
</em> </td>
243 <td class=
"md" valign=
"top"> )
</td>
244 <td class=
"md" nowrap
></td>
251 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
263 <a class=
"anchor" name=
"a6" doxytag=
"dmxcursor.h::dmxInitOrigins" ></a><p>
264 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
267 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
269 <td class=
"md" nowrap
valign=
"top"> void dmxInitOrigins
</td>
270 <td class=
"md" valign=
"top">(
</td>
271 <td class=
"md" nowrap
valign=
"top">void
</td>
272 <td class=
"mdname1" valign=
"top" nowrap
> </td>
273 <td class=
"md" valign=
"top"> )
</td>
274 <td class=
"md" nowrap
></td>
281 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
292 <a class=
"anchor" name=
"a7" doxytag=
"dmxcursor.h::dmxInitOverlap" ></a><p>
293 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
296 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
298 <td class=
"md" nowrap
valign=
"top"> void dmxInitOverlap
</td>
299 <td class=
"md" valign=
"top">(
</td>
300 <td class=
"md" nowrap
valign=
"top">void
</td>
301 <td class=
"mdname1" valign=
"top" nowrap
> </td>
302 <td class=
"md" valign=
"top"> )
</td>
303 <td class=
"md" nowrap
></td>
310 <table cellspacing=
5 cellpadding=
0 border=
0>
318 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 .
</td>
321 <a class=
"anchor" name=
"a9" doxytag=
"dmxcursor.h::dmxMoveCursor" ></a><p>
322 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
325 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
327 <td class=
"md" nowrap
valign=
"top"> void dmxMoveCursor
</td>
328 <td class=
"md" valign=
"top">(
</td>
329 <td class=
"md" nowrap
valign=
"top">ScreenPtr
</td>
330 <td class=
"mdname" nowrap
> <em>pScreen
</em>,
</td>
335 <td class=
"md" nowrap
>int
</td>
336 <td class=
"mdname" nowrap
> <em>x
</em>,
</td>
341 <td class=
"md" nowrap
>int
</td>
342 <td class=
"mdname" nowrap
> <em>y
</em></td>
346 <td class=
"md">)
</td>
347 <td class=
"md" colspan=
"2"></td>
354 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
365 <a class=
"anchor" name=
"a11" doxytag=
"dmxcursor.h::dmxOnScreen" ></a><p>
366 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
369 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
371 <td class=
"md" nowrap
valign=
"top"> int dmxOnScreen
</td>
372 <td class=
"md" valign=
"top">(
</td>
373 <td class=
"md" nowrap
valign=
"top">int
</td>
374 <td class=
"mdname" nowrap
> <em>x
</em>,
</td>
379 <td class=
"md" nowrap
>int
</td>
380 <td class=
"mdname" nowrap
> <em>y
</em>,
</td>
385 <td class=
"md" nowrap
><a class=
"el" href=
"struct__DMXScreenInfo.html">DMXScreenInfo
</a> *
</td>
386 <td class=
"mdname" nowrap
> <em>dmxScreen
</em></td>
390 <td class=
"md">)
</td>
391 <td class=
"md" colspan=
"2"></td>
398 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
409 <a class=
"anchor" name=
"a5" doxytag=
"dmxcursor.h::dmxReInitOrigins" ></a><p>
410 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
413 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
415 <td class=
"md" nowrap
valign=
"top"> void dmxReInitOrigins
</td>
416 <td class=
"md" valign=
"top">(
</td>
417 <td class=
"md" nowrap
valign=
"top">void
</td>
418 <td class=
"mdname1" valign=
"top" nowrap
> </td>
419 <td class=
"md" valign=
"top"> )
</td>
420 <td class=
"md" nowrap
></td>
427 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
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">
443 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
445 <td class=
"md" nowrap
valign=
"top"> miPointerScreenFuncRec
<a class=
"el" href=
"dmxcursor_8h.html#a3">dmxPointerCursorFuncs
</a>
450 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
463 <a class=
"anchor" name=
"a4" doxytag=
"dmxcursor.h::dmxPointerSpriteFuncs" ></a><p>
464 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
467 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
469 <td class=
"md" nowrap
valign=
"top"> miPointerSpriteFuncRec
<a class=
"el" href=
"dmxcursor_8h.html#a4">dmxPointerSpriteFuncs
</a>
474 <table cellspacing=
5 cellpadding=
0 border=
0>
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>
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>