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>dmxbackend.c File Reference
</h1><code>#include
"<a class="el
" href="dmxinputinit_8h-source.html
">dmxinputinit.h</a>"</code><br>
12 <code>#include
"<a class="el
" href="dmxbackend_8h-source.html
">dmxbackend.h</a>"</code><br>
13 <code>#include
"<a class="el
" href="dmxcommon_8h-source.html
">dmxcommon.h</a>"</code><br>
14 <code>#include
"<a class="el
" href="dmxconsole_8h-source.html
">dmxconsole.h</a>"</code><br>
15 <code>#include
"<a class="el
" href="dmxcursor_8h-source.html
">dmxcursor.h</a>"</code><br>
16 <code>#include
"<a class="el
" href="dmxprop_8h-source.html
">dmxprop.h</a>"</code><br>
17 <code>#include
"<a class="el
" href="dmxsync_8h-source.html
">dmxsync.h</a>"</code><br>
18 <code>#include
"<a class="el
" href="dmxcb_8h-source.html
">dmxcb.h</a>"</code><br>
19 <code>#include
"<a class="el
" href="dmxevents_8h-source.html
">dmxevents.h</a>"</code><br>
20 <code>#include
"<a class="el
" href="ChkNotMaskEv_8h-source.html
">ChkNotMaskEv.h</a>"</code><br>
21 <code>#include
"inputstr.h"</code><br>
22 <code>#include
"input.h"</code><br>
23 <code>#include
"keysym.h"</code><br>
24 <code>#include
"mipointer.h"</code><br>
25 <code>#include
"scrnintstr.h"</code><br>
26 <code>#include
"windowstr.h"</code><br>
27 <table border=
0 cellpadding=
0 cellspacing=
0>
29 <tr><td colspan=
2><br><h2>Data Structures
</h2></td></tr>
30 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>struct
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"struct__myPrivate.html">_myPrivate
</a></td></tr>
32 <tr><td colspan=
2><br><h2>Functions
</h2></td></tr>
33 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>pointer
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a12">dmxBackendCreatePrivate
</a> (DeviceIntPtr pDevice)
</td></tr>
35 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a13">dmxBackendDestroyPrivate
</a> (pointer private)
</td></tr>
37 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a24">dmxBackendUpdatePosition
</a> (pointer private, int x, int y)
</td></tr>
39 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a25">dmxBackendCollectEvents
</a> (DevicePtr pDev, dmxMotionProcPtr motion, dmxEnqueueProcPtr enqueue, dmxCheckSpecialProcPtr checkspecial, DMXBlockType block)
</td></tr>
41 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a26">dmxBackendProcessInput
</a> (pointer private)
</td></tr>
43 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a29">dmxBackendLateReInit
</a> (DevicePtr pDev)
</td></tr>
45 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a30">dmxBackendInit
</a> (DevicePtr pDev)
</td></tr>
47 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a31">dmxBackendMouGetInfo
</a> (DevicePtr pDev,
<a class=
"el" href=
"struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr
</a> info)
</td></tr>
49 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a32">dmxBackendKbdGetInfo
</a> (DevicePtr pDev,
<a class=
"el" href=
"struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr
</a> info)
</td></tr>
51 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>int
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"dmxbackend_8c.html#a33">dmxBackendFunctions
</a> (pointer private, DMXFunctionType function)
</td></tr>
54 <hr><a name=
"_details"></a><h2>Detailed Description
</h2>
55 These routines support taking input from devices on the backend (output) displays.
<dl compact
><dt><b>See also:
</b></dt><dd><a class=
"el" href=
"dmxcommon_8c.html">dmxcommon.c
</a>.
</dd></dl>
56 <hr><h2>Function Documentation
</h2>
57 <a class=
"anchor" name=
"a25" doxytag=
"dmxbackend.c::dmxBackendCollectEvents" ></a><p>
58 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
61 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
63 <td class=
"md" nowrap
valign=
"top"> void dmxBackendCollectEvents
</td>
64 <td class=
"md" valign=
"top">(
</td>
65 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
66 <td class=
"mdname" nowrap
> <em>pDev
</em>,
</td>
71 <td class=
"md" nowrap
>dmxMotionProcPtr
</td>
72 <td class=
"mdname" nowrap
> <em>motion
</em>,
</td>
77 <td class=
"md" nowrap
>dmxEnqueueProcPtr
</td>
78 <td class=
"mdname" nowrap
> <em>enqueue
</em>,
</td>
83 <td class=
"md" nowrap
>dmxCheckSpecialProcPtr
</td>
84 <td class=
"mdname" nowrap
> <em>checkspecial
</em>,
</td>
89 <td class=
"md" nowrap
>DMXBlockType
</td>
90 <td class=
"mdname" nowrap
> <em>block
</em></td>
94 <td class=
"md">)
</td>
95 <td class=
"md" colspan=
"2"></td>
102 <table cellspacing=
5 cellpadding=
0 border=
0>
110 Get events from the X queue on the backend servers and put the events into the DMX event queue.
</td>
113 <a class=
"anchor" name=
"a12" doxytag=
"dmxbackend.c::dmxBackendCreatePrivate" ></a><p>
114 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
117 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
119 <td class=
"md" nowrap
valign=
"top"> pointer dmxBackendCreatePrivate
</td>
120 <td class=
"md" valign=
"top">(
</td>
121 <td class=
"md" nowrap
valign=
"top">DeviceIntPtr
</td>
122 <td class=
"mdname1" valign=
"top" nowrap
> <em>pDevice
</em> </td>
123 <td class=
"md" valign=
"top"> )
</td>
124 <td class=
"md" nowrap
></td>
131 <table cellspacing=
5 cellpadding=
0 border=
0>
139 Create and return a private data structure.
</td>
142 <a class=
"anchor" name=
"a13" doxytag=
"dmxbackend.c::dmxBackendDestroyPrivate" ></a><p>
143 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
146 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
148 <td class=
"md" nowrap
valign=
"top"> void dmxBackendDestroyPrivate
</td>
149 <td class=
"md" valign=
"top">(
</td>
150 <td class=
"md" nowrap
valign=
"top">pointer
</td>
151 <td class=
"mdname1" valign=
"top" nowrap
> <em>private
</em> </td>
152 <td class=
"md" valign=
"top"> )
</td>
153 <td class=
"md" nowrap
></td>
160 <table cellspacing=
5 cellpadding=
0 border=
0>
168 Destroy the private data structure. No checking is performed to verify that the structure was actually created by
<a class=
"el" href=
"dmxbackend_8h.html#a0">dmxBackendCreatePrivate
</a>.
</td>
171 <a class=
"anchor" name=
"a33" doxytag=
"dmxbackend.c::dmxBackendFunctions" ></a><p>
172 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
175 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
177 <td class=
"md" nowrap
valign=
"top"> int dmxBackendFunctions
</td>
178 <td class=
"md" valign=
"top">(
</td>
179 <td class=
"md" nowrap
valign=
"top">pointer
</td>
180 <td class=
"mdname" nowrap
> <em>private
</em>,
</td>
185 <td class=
"md" nowrap
>DMXFunctionType
</td>
186 <td class=
"mdname" nowrap
> <em>function
</em></td>
190 <td class=
"md">)
</td>
191 <td class=
"md" colspan=
"2"></td>
198 <table cellspacing=
5 cellpadding=
0 border=
0>
206 Process #DMXFunctionType functions. The only function handled here is to acknowledge a pending server shutdown.
</td>
209 <a class=
"anchor" name=
"a30" doxytag=
"dmxbackend.c::dmxBackendInit" ></a><p>
210 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
213 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
215 <td class=
"md" nowrap
valign=
"top"> void dmxBackendInit
</td>
216 <td class=
"md" valign=
"top">(
</td>
217 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
218 <td class=
"mdname1" valign=
"top" nowrap
> <em>pDev
</em> </td>
219 <td class=
"md" valign=
"top"> )
</td>
220 <td class=
"md" nowrap
></td>
227 <table cellspacing=
5 cellpadding=
0 border=
0>
235 Initialized the backend device described by
<em>pDev
</em>.
</td>
238 <a class=
"anchor" name=
"a32" doxytag=
"dmxbackend.c::dmxBackendKbdGetInfo" ></a><p>
239 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
242 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
244 <td class=
"md" nowrap
valign=
"top"> void dmxBackendKbdGetInfo
</td>
245 <td class=
"md" valign=
"top">(
</td>
246 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
247 <td class=
"mdname" nowrap
> <em>pDev
</em>,
</td>
252 <td class=
"md" nowrap
><a class=
"el" href=
"struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr
</a> </td>
253 <td class=
"mdname" nowrap
> <em>info
</em></td>
257 <td class=
"md">)
</td>
258 <td class=
"md" colspan=
"2"></td>
265 <table cellspacing=
5 cellpadding=
0 border=
0>
273 Get information about the backend keyboard (for initialization).
</td>
276 <a class=
"anchor" name=
"a29" doxytag=
"dmxbackend.c::dmxBackendLateReInit" ></a><p>
277 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
280 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
282 <td class=
"md" nowrap
valign=
"top"> void dmxBackendLateReInit
</td>
283 <td class=
"md" valign=
"top">(
</td>
284 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
285 <td class=
"mdname1" valign=
"top" nowrap
> <em>pDev
</em> </td>
286 <td class=
"md" valign=
"top"> )
</td>
287 <td class=
"md" nowrap
></td>
294 <table cellspacing=
5 cellpadding=
0 border=
0>
302 Re-initialized the backend device described by
<em>pDev
</em> (after a reconfig).
</td>
305 <a class=
"anchor" name=
"a31" doxytag=
"dmxbackend.c::dmxBackendMouGetInfo" ></a><p>
306 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
309 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
311 <td class=
"md" nowrap
valign=
"top"> void dmxBackendMouGetInfo
</td>
312 <td class=
"md" valign=
"top">(
</td>
313 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
314 <td class=
"mdname" nowrap
> <em>pDev
</em>,
</td>
319 <td class=
"md" nowrap
><a class=
"el" href=
"struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr
</a> </td>
320 <td class=
"mdname" nowrap
> <em>info
</em></td>
324 <td class=
"md">)
</td>
325 <td class=
"md" colspan=
"2"></td>
332 <table cellspacing=
5 cellpadding=
0 border=
0>
340 Get information about the backend pointer (for initialization).
</td>
343 <a class=
"anchor" name=
"a26" doxytag=
"dmxbackend.c::dmxBackendProcessInput" ></a><p>
344 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
347 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
349 <td class=
"md" nowrap
valign=
"top"> void dmxBackendProcessInput
</td>
350 <td class=
"md" valign=
"top">(
</td>
351 <td class=
"md" nowrap
valign=
"top">pointer
</td>
352 <td class=
"mdname1" valign=
"top" nowrap
> <em>private
</em> </td>
353 <td class=
"md" valign=
"top"> )
</td>
354 <td class=
"md" nowrap
></td>
361 <table cellspacing=
5 cellpadding=
0 border=
0>
369 Called after input events are processed from the DMX queue. No event processing actually takes place here, but this is a convenient place to update the pointer.
</td>
372 <a class=
"anchor" name=
"a24" doxytag=
"dmxbackend.c::dmxBackendUpdatePosition" ></a><p>
373 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
376 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
378 <td class=
"md" nowrap
valign=
"top"> void dmxBackendUpdatePosition
</td>
379 <td class=
"md" valign=
"top">(
</td>
380 <td class=
"md" nowrap
valign=
"top">pointer
</td>
381 <td class=
"mdname" nowrap
> <em>private
</em>,
</td>
386 <td class=
"md" nowrap
>int
</td>
387 <td class=
"mdname" nowrap
> <em>x
</em>,
</td>
392 <td class=
"md" nowrap
>int
</td>
393 <td class=
"mdname" nowrap
> <em>y
</em></td>
397 <td class=
"md">)
</td>
398 <td class=
"md" colspan=
"2"></td>
405 <table cellspacing=
5 cellpadding=
0 border=
0>
413 This routine is called from #dmxCoreMotion for each motion event. #x and #y are global coordinants.
</td>
419 Generated June
29,
2004 for
<a
420 href=
"http://dmx.sourceforge.net">Distributed Multihead X
</a> by
421 <a href=
"http://www.doxygen.org/index.html">doxygen
</a>