dmxinput_8h-source.html   [plain text]


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    <title>File Index</title>
    <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head>
  <body>
<!-- Generated by Doxygen 1.3.4 -->
<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>
<h1>dmxinput.h</h1><a href="dmxinput_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/* $XFree86$ */</span>
00002 <span class="comment">/*</span>
00003 <span class="comment"> * Copyright 2001,2002 Red Hat Inc., Durham, North Carolina.</span>
00004 <span class="comment"> *</span>
00005 <span class="comment"> * All Rights Reserved.</span>
00006 <span class="comment"> *</span>
00007 <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining</span>
00008 <span class="comment"> * a copy of this software and associated documentation files (the</span>
00009 <span class="comment"> * "Software"), to deal in the Software without restriction, including</span>
00010 <span class="comment"> * without limitation on the rights to use, copy, modify, merge,</span>
00011 <span class="comment"> * publish, distribute, sublicense, and/or sell copies of the Software,</span>
00012 <span class="comment"> * and to permit persons to whom the Software is furnished to do so,</span>
00013 <span class="comment"> * subject to the following conditions:</span>
00014 <span class="comment"> *</span>
00015 <span class="comment"> * The above copyright notice and this permission notice (including the</span>
00016 <span class="comment"> * next paragraph) shall be included in all copies or substantial</span>
00017 <span class="comment"> * portions of the Software.</span>
00018 <span class="comment"> *</span>
00019 <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span>
00020 <span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span>
00021 <span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span>
00022 <span class="comment"> * NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS</span>
00023 <span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span>
00024 <span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span>
00025 <span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span>
00026 <span class="comment"> * SOFTWARE.</span>
00027 <span class="comment"> */</span>
00028 
00029 <span class="comment">/*</span>
00030 <span class="comment"> * Authors:</span>
00031 <span class="comment"> *   David H. Dawes &lt;dawes@xfree86.org&gt;</span>
00032 <span class="comment"> *   Kevin E. Martin &lt;kem@redhat.com&gt;</span>
00033 <span class="comment"> *   Rickard E. (Rik) Faith &lt;faith@redhat.com&gt;</span>
00034 <span class="comment"> *</span>
00035 <span class="comment"> */</span>
00036 
00048 <span class="preprocessor">#ifndef DMXINPUT_H</span>
00049 <span class="preprocessor"></span><span class="preprocessor">#define DMXINPUT_H</span>
00050 <span class="preprocessor"></span>
<a name="l00052"></a><a class="code" href="dmxinput_8h.html#a0">00052</a> <span class="preprocessor">#define DMX_MAX_SIGIO_FDS 4</span>
00053 <span class="preprocessor"></span>
00054 <span class="keyword">struct </span><a class="code" href="struct__DMXInputInfo.html">_DMXInputInfo</a>;
00055 
<a name="l00057"></a><a class="code" href="dmxinput_8h.html#a30">00057</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00058     <a class="code" href="dmxinput_8h.html#a30a6">DMX_UPDATE_REALIZE</a>,         
00059     <a class="code" href="dmxinput_8h.html#a30a7">DMX_UPDATE_UNREALIZE</a>,       
00060     <a class="code" href="dmxinput_8h.html#a30a8">DMX_UPDATE_RESTACK</a>,         
00061     <a class="code" href="dmxinput_8h.html#a30a9">DMX_UPDATE_COPY</a>,            
00062     <a class="code" href="dmxinput_8h.html#a30a10">DMX_UPDATE_RESIZE</a>,          
00063     <a class="code" href="dmxinput_8h.html#a30a11">DMX_UPDATE_REPARENT</a>         
00064 } <a class="code" href="dmxinput_8h.html#a30">DMXUpdateType</a>;
00065 
00066 <span class="keyword">typedef</span> void (*ProcessInputEventsProc)(<span class="keyword">struct </span><a class="code" href="struct__DMXInputInfo.html">_DMXInputInfo</a> *);
00067 <span class="keyword">typedef</span> void (*UpdateWindowInfoProc)(<span class="keyword">struct </span><a class="code" href="struct__DMXInputInfo.html">_DMXInputInfo</a> *,
00068                                      <a class="code" href="dmxinput_8h.html#a30">DMXUpdateType</a>, WindowPtr);
00069 
<a name="l00071"></a><a class="code" href="dmxinput_8h.html#a3">00071</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__DMXLocalInputInfo.html">_DMXLocalInputInfo</a> *<a class="code" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a>;
00072 
<a name="l00074"></a><a class="code" href="dmxinput_8h.html#a31">00074</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00075     <a class="code" href="dmxinput_8h.html#a31a12">DMX_NOSIGIO</a> = 0,            
00076     <a class="code" href="dmxinput_8h.html#a31a13">DMX_USESIGIO</a>,               
00079     <a class="code" href="dmxinput_8h.html#a31a14">DMX_ACTIVESIGIO</a>             
00080 } <a class="code" href="dmxinput_8h.html#a31">dmxSigioState</a>;
00081 
<a name="l00085"></a><a class="code" href="struct__DMXInputInfo.html">00085</a> <span class="keyword">struct </span><a class="code" href="struct__DMXInputInfo.html">_DMXInputInfo</a> {
<a name="l00086"></a><a class="code" href="struct__DMXInputInfo.html#o0">00086</a>     <span class="keyword">const</span> <span class="keywordtype">char</span>              *<a class="code" href="struct__DMXInputInfo.html#o0">name</a>; 
<a name="l00089"></a><a class="code" href="struct__DMXInputInfo.html#o1">00089</a>     Bool                    <a class="code" href="struct__DMXInputInfo.html#o1">freename</a>; 
<a name="l00090"></a><a class="code" href="struct__DMXInputInfo.html#o2">00090</a>     Bool                    <a class="code" href="struct__DMXInputInfo.html#o2">detached</a>; 
<a name="l00091"></a><a class="code" href="struct__DMXInputInfo.html#o3">00091</a>     <span class="keywordtype">int</span>                     <a class="code" href="struct__DMXInputInfo.html#o3">inputIdx</a>; 
<a name="l00092"></a><a class="code" href="struct__DMXInputInfo.html#o4">00092</a>     <span class="keywordtype">int</span>                     <a class="code" href="struct__DMXInputInfo.html#o4">scrnIdx</a>;  
<a name="l00093"></a><a class="code" href="struct__DMXInputInfo.html#o5">00093</a>     Bool                    <a class="code" href="struct__DMXInputInfo.html#o5">core</a>;  
<a name="l00096"></a><a class="code" href="struct__DMXInputInfo.html#o6">00096</a>     Bool                    <a class="code" href="struct__DMXInputInfo.html#o6">console</a>; 
<a name="l00100"></a><a class="code" href="struct__DMXInputInfo.html#o7">00100</a>     Bool                    <a class="code" href="struct__DMXInputInfo.html#o7">windows</a>; 
00103     ProcessInputEventsProc  processInputEvents;
00104     UpdateWindowInfoProc    updateWindowInfo;
00105 
00106                                 <span class="comment">/* Local input information */</span>
<a name="l00107"></a><a class="code" href="struct__DMXInputInfo.html#o10">00107</a>     <a class="code" href="dmxinput_8h.html#a31">dmxSigioState</a>           <a class="code" href="struct__DMXInputInfo.html#o10">sigioState</a>;    
<a name="l00108"></a><a class="code" href="struct__DMXInputInfo.html#o11">00108</a>     <span class="keywordtype">int</span>                     <a class="code" href="struct__DMXInputInfo.html#o11">sigioFdCount</a>;  
<a name="l00109"></a><a class="code" href="struct__DMXInputInfo.html#o12">00109</a>     <span class="keywordtype">int</span>                     <a class="code" href="struct__DMXInputInfo.html#o12">sigioFd</a>[<a class="code" href="dmxinput_8h.html#a0">DMX_MAX_SIGIO_FDS</a>];    
<a name="l00110"></a><a class="code" href="struct__DMXInputInfo.html#o13">00110</a>     Bool                    <a class="code" href="struct__DMXInputInfo.html#o13">sigioAdded</a>[<a class="code" href="dmxinput_8h.html#a0">DMX_MAX_SIGIO_FDS</a>]; 
<a name="l00114"></a><a class="code" href="struct__DMXInputInfo.html#o14">00114</a>     <span class="keywordtype">int</span>                     <a class="code" href="struct__DMXInputInfo.html#o14">vt_switch_pending</a>;
00115 
<a name="l00117"></a><a class="code" href="struct__DMXInputInfo.html#o15">00117</a>     <span class="keywordtype">int</span>                     <a class="code" href="struct__DMXInputInfo.html#o15">vt_switched</a>;
00118 
<a name="l00120"></a><a class="code" href="struct__DMXInputInfo.html#o16">00120</a>     <span class="keywordtype">int</span>                     <a class="code" href="struct__DMXInputInfo.html#o16">numDevs</a>;
00121 
<a name="l00126"></a><a class="code" href="struct__DMXInputInfo.html#o17">00126</a>     <a class="code" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a>    *<a class="code" href="struct__DMXInputInfo.html#o17">devs</a>;
00127 
<a name="l00128"></a><a class="code" href="struct__DMXInputInfo.html#o18">00128</a>     <span class="keywordtype">char</span>                    *<a class="code" href="struct__DMXInputInfo.html#o18">keycodes</a>; 
<a name="l00129"></a><a class="code" href="struct__DMXInputInfo.html#o19">00129</a>     <span class="keywordtype">char</span>                    *<a class="code" href="struct__DMXInputInfo.html#o19">symbols</a>;  
<a name="l00130"></a><a class="code" href="struct__DMXInputInfo.html#o20">00130</a>     <span class="keywordtype">char</span>                    *<a class="code" href="struct__DMXInputInfo.html#o20">geometry</a>; 
00131 };
00132 
<a name="l00133"></a><a class="code" href="dmxinput_8h.html#a4">00133</a> <span class="keyword">extern</span> <span class="keywordtype">int</span>                  <a class="code" href="dmxinit_8c.html#a3">dmxNumInputs</a>; 
<a name="l00134"></a><a class="code" href="dmxinput_8h.html#a5">00134</a> <span class="keyword">extern</span> <a class="code" href="struct__DMXInputInfo.html">DMXInputInfo</a>         *<a class="code" href="dmxinit_8c.html#a4">dmxInputs</a>;   
00136 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxinputinit_8c.html#a39">dmxInputInit</a>(<a class="code" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput);
00137 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxinputinit_8c.html#a37">dmxInputReInit</a>(<a class="code" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput);
00138 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxinputinit_8c.html#a38">dmxInputLateReInit</a>(<a class="code" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput);
00139 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxinputinit_8c.html#a41">dmxInputFree</a>(<a class="code" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxInput);
00140 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxinputinit_8c.html#a42">dmxInputLogDevices</a>(<span class="keywordtype">void</span>);
00141 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxinput_8c.html#a3">dmxUpdateWindowInfo</a>(DMXUpdateType type, WindowPtr pWindow);
00142 
00143 <span class="comment">/* These functions are defined in input/dmxeq.c */</span>
00144 <span class="keyword">extern</span> Bool dmxeqInitialized(<span class="keywordtype">void</span>);
00145 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxeq_8c.html#a13">dmxeqEnqueue</a>(xEvent *e);
00146 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxeq_8c.html#a14">dmxeqSwitchScreen</a>(ScreenPtr pScreen, Bool fromDIX);
00147 
00148 <span class="comment">/* This type is used in input/dmxevents.c.  Also, these functions are</span>
00149 <span class="comment"> * defined in input/dmxevents.c */</span>
00150 <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00151     DMX_NO_BLOCK = 0,
00152     DMX_BLOCK    = 1
00153 } DMXBlockType;
00154 
00155 <span class="keyword">extern</span> <span class="keywordtype">void</span>          <a class="code" href="dmxevents_8c.html#a21">dmxGetGlobalPosition</a>(<span class="keywordtype">int</span> *x, <span class="keywordtype">int</span> *y);
00156 <span class="keyword">extern</span> <a class="code" href="struct__DMXScreenInfo.html">DMXScreenInfo</a> *dmxFindFirstScreen(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
00157 <span class="keyword">extern</span> <span class="keywordtype">void</span>          dmxCoreMotion(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> delta,
00158                                    DMXBlockType block);
00159 
00160 <span class="comment">/* Support for dynamic addition of inputs.  This functions is defined in</span>
00161 <span class="comment"> * config/dmxconfig.c */</span>
00162 <span class="keyword">extern</span> <a class="code" href="struct__DMXInputInfo.html">DMXInputInfo</a> *dmxConfigAddInput(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> core);
00163 <span class="preprocessor">#endif </span><span class="comment">/* DMXINPUT_H */</span>
</pre></div>    <hr>
    <address>
      <small>
        Generated June 29, 2004 for <a
        href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
        <a href="http://www.doxygen.org/index.html">doxygen</a>
        1.3.4.
      </small>
    </addres>
    </hr>
  </body>
</html>