summaryrefslogtreecommitdiff
path: root/hw/dmx/doc/html/dmxext_8h-source.html
blob: e18f0f7851bb843836334473dfa21fdf5704ab38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<!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>dmxext.h</h1><a href="dmxext_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 2002-2004 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"> *   Rickard E. (Rik) Faith &lt;faith@redhat.com&gt;</span>
00032 <span class="comment"> *</span>
00033 <span class="comment"> */</span>
00034 
00040 <span class="preprocessor">#ifndef _DMXEXT_H_</span>
00041 <span class="preprocessor"></span><span class="preprocessor">#define _DMXEXT_H_</span>
00042 <span class="preprocessor"></span>
00043 <span class="comment">/* These values must be larger than LastExtensionError.</span>
00044 <span class="comment">   The values in dmxext.h and dmxproto.h *MUST* match. */</span>
00045 <span class="preprocessor">#define DmxBadXinerama         1001</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define DmxBadValue            1002</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#define DmxBadReply            1003</span>
00048 <span class="preprocessor"></span>
00049 <span class="preprocessor">#define DMXScreenWindowWidth   (1L&lt;&lt;0)</span>
00050 <span class="preprocessor"></span><span class="preprocessor">#define DMXScreenWindowHeight  (1L&lt;&lt;1)</span>
00051 <span class="preprocessor"></span><span class="preprocessor">#define DMXScreenWindowXoffset (1L&lt;&lt;2)</span>
00052 <span class="preprocessor"></span><span class="preprocessor">#define DMXScreenWindowYoffset (1L&lt;&lt;3)</span>
00053 <span class="preprocessor"></span><span class="preprocessor">#define DMXRootWindowWidth     (1L&lt;&lt;4)</span>
00054 <span class="preprocessor"></span><span class="preprocessor">#define DMXRootWindowHeight    (1L&lt;&lt;5)</span>
00055 <span class="preprocessor"></span><span class="preprocessor">#define DMXRootWindowXoffset   (1L&lt;&lt;6)</span>
00056 <span class="preprocessor"></span><span class="preprocessor">#define DMXRootWindowYoffset   (1L&lt;&lt;7)</span>
00057 <span class="preprocessor"></span><span class="preprocessor">#define DMXRootWindowXorigin   (1L&lt;&lt;8)</span>
00058 <span class="preprocessor"></span><span class="preprocessor">#define DMXRootWindowYorigin   (1L&lt;&lt;9)</span>
00059 <span class="preprocessor"></span>
00060 <span class="preprocessor">#define DMXDesktopWidth        (1L&lt;&lt;0)</span>
00061 <span class="preprocessor"></span><span class="preprocessor">#define DMXDesktopHeight       (1L&lt;&lt;1)</span>
00062 <span class="preprocessor"></span><span class="preprocessor">#define DMXDesktopShiftX       (1L&lt;&lt;2)</span>
00063 <span class="preprocessor"></span><span class="preprocessor">#define DMXDesktopShiftY       (1L&lt;&lt;3)</span>
00064 <span class="preprocessor"></span>
00065 <span class="preprocessor">#define DMXInputType           (1L&lt;&lt;0)</span>
00066 <span class="preprocessor"></span><span class="preprocessor">#define DMXInputPhysicalScreen (1L&lt;&lt;1)</span>
00067 <span class="preprocessor"></span><span class="preprocessor">#define DMXInputSendsCore      (1L&lt;&lt;2)</span>
00068 <span class="preprocessor"></span>
00069 <span class="preprocessor">#ifndef _DMX_SERVER_</span>
00070 <span class="preprocessor"></span>
<a name="l00073"></a><a class="code" href="structDMXScreenAttributes.html">00073</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00074     <span class="keywordtype">char</span>         *displayName;
00075     <span class="keywordtype">int</span>          logicalScreen;
00076 
00077     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> screenWindowWidth;    <span class="comment">/* displayName's coordinate system */</span>
00078     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> screenWindowHeight;   <span class="comment">/* displayName's coordinate system */</span>
00079     <span class="keywordtype">int</span>          screenWindowXoffset;  <span class="comment">/* displayName's coordinate system */</span>
00080     <span class="keywordtype">int</span>          screenWindowYoffset;  <span class="comment">/* displayName's coordinate system */</span>
00081 
00082     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rootWindowWidth;      <span class="comment">/* screenWindow's coordinate system */</span>
00083     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rootWindowHeight;     <span class="comment">/* screenWindow's coordinate system */</span>
00084     <span class="keywordtype">int</span>          rootWindowXoffset;    <span class="comment">/* screenWindow's coordinate system */</span>
00085     <span class="keywordtype">int</span>          rootWindowYoffset;    <span class="comment">/* screenWindow's coordinate system */</span>
00086 
00087     <span class="keywordtype">int</span>          rootWindowXorigin;    <span class="comment">/* global coordinate system */</span>
00088     <span class="keywordtype">int</span>          rootWindowYorigin;    <span class="comment">/* global coordinate system */</span>
00089 } <a class="code" href="structDMXScreenAttributes.html">DMXScreenAttributes</a>;
00090 
<a name="l00093"></a><a class="code" href="structDMXWindowAttributes.html">00093</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00094     <span class="keywordtype">int</span>          screen;
00095     Window       window;
00096     XRectangle   pos, vis;
00097 } <a class="code" href="structDMXWindowAttributes.html">DMXWindowAttributes</a>;
00098 
<a name="l00101"></a><a class="code" href="structDMXDesktopAttributes.html">00101</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00102     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width;         <span class="comment">/* global coordinate system */</span>
00103     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height;        <span class="comment">/* global coordinate system */</span>
00104     <span class="keywordtype">int</span>          shiftX;        <span class="comment">/* global coordinate system */</span>
00105     <span class="keywordtype">int</span>          shiftY;        <span class="comment">/* global coordinate system */</span>
00106 } <a class="code" href="structDMXDesktopAttributes.html">DMXDesktopAttributes</a>;
00107 
<a name="l00110"></a><a class="code" href="dmxext_8h.html#a41">00110</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00111     DMXLocalInputType,
00112     DMXConsoleInputType,
00113     DMXBackendInputType
00114 } <a class="code" href="dmxext_8h.html#a41">DMXInputEnum</a>;
00115 
<a name="l00118"></a><a class="code" href="structDMXInputAttributes.html">00118</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00119     <a class="code" href="dmxext_8h.html#a41">DMXInputEnum</a> inputType;
00120     <span class="keywordtype">int</span>          physicalScreen;
00121     <span class="keywordtype">int</span>          physicalId;
00122     Bool         isCore;
00123     Bool         sendsCore;
00124     <span class="keyword">const</span> <span class="keywordtype">char</span>   *name;
00125     Bool         detached;
00126 } <a class="code" href="structDMXInputAttributes.html">DMXInputAttributes</a>;
00127 
00128 _XFUNCPROTOBEGIN
00129 
00130 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a10">DMXQueryExtension</a>(Display *dpy,
00131                               <span class="keywordtype">int</span> *event_basep, <span class="keywordtype">int</span> *error_basep);
00132 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a11">DMXQueryVersion</a>(Display *dpy, <span class="keywordtype">int</span> *major_version,
00133                             <span class="keywordtype">int</span> *minor_version, <span class="keywordtype">int</span> *patch_version);
00134 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a12">DMXSync</a>(Display *dpy);
00135 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a13">DMXForceWindowCreation</a>(Display *dpy, Window window);
00136 
00137 
00138 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a14">DMXGetScreenCount</a>(Display *dpy, <span class="keywordtype">int</span> *screen_count);
00139 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a15">DMXGetScreenAttributes</a>(Display *dpy,
00140                                    <span class="keywordtype">int</span> screen,
00141                                    <a class="code" href="structDMXScreenAttributes.html">DMXScreenAttributes</a> *attr);
00142 <span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="lib_2dmx_2dmx_8c.html#a20">DMXChangeScreensAttributes</a>(Display *dpy,
00143                                        <span class="keywordtype">int</span> screen_count,
00144                                        <span class="keywordtype">int</span> *screens,
00145                                        <span class="keywordtype">int</span> mask_count,
00146                                        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *masks,
00147                                        <a class="code" href="structDMXScreenAttributes.html">DMXScreenAttributes</a> *attr, <span class="comment">/* vector */</span>
00148                                        <span class="keywordtype">int</span> *error_screen);
00149 
00150 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a21">DMXAddScreen</a>(Display *dpy,
00151                          <span class="keyword">const</span> <span class="keywordtype">char</span> *displayName,
00152                          <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mask,
00153                          <a class="code" href="structDMXScreenAttributes.html">DMXScreenAttributes</a> *attr,
00154                          <span class="keywordtype">int</span> *screen);
00155 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a22">DMXRemoveScreen</a>(Display *dpy, <span class="keywordtype">int</span> screen);
00156 
00157 <span class="comment">/* Call DMXGetScreenWindowCount and allocate info to that size.  Pass</span>
00158 <span class="comment"> * the size in available_count.  This call can generate a large amount</span>
00159 <span class="comment"> * of wire traffic and should not be used called with available_count=0</span>
00160 <span class="comment"> * just to determine the screen_count value -- use DMXGetScreenCount</span>
00161 <span class="comment"> * instead.  NOTE: Also see DMX protocol specification (DMXSpec.txt) for</span>
00162 <span class="comment"> * usage of DMXSync to flush pending commands. */</span>
00163 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a23">DMXGetWindowAttributes</a>(Display *dpy, Window window,
00164                                    <span class="keywordtype">int</span> *screen_count, <span class="keywordtype">int</span> available_count,
00165                                    <a class="code" href="structDMXWindowAttributes.html">DMXWindowAttributes</a> *attr);
00166 
00167 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a24">DMXGetDesktopAttributes</a>(Display *dpy, <a class="code" href="structDMXDesktopAttributes.html">DMXDesktopAttributes</a> *attr);
00168 <span class="keyword">extern</span> <span class="keywordtype">int</span>  <a class="code" href="lib_2dmx_2dmx_8c.html#a27">DMXChangeDesktopAttributes</a>(Display *dpy,
00169                                        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mask,
00170                                        <a class="code" href="structDMXDesktopAttributes.html">DMXDesktopAttributes</a> *attr);
00171 
00172 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a28">DMXGetInputCount</a>(Display *dpy, <span class="keywordtype">int</span> *input_count);
00173 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a29">DMXGetInputAttributes</a>(Display *dpy, <span class="keywordtype">int</span> id,
00174                                   <a class="code" href="structDMXInputAttributes.html">DMXInputAttributes</a> *attr);
00175 
00176 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a30">DMXAddInput</a>(Display *dpy,
00177                         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mask,
00178                         <a class="code" href="structDMXInputAttributes.html">DMXInputAttributes</a> *attr,
00179                         <span class="keywordtype">int</span> *id);
00180 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a33">DMXRemoveInput</a>(Display *dpy, <span class="keywordtype">int</span> id);
00181 
00182 <span class="comment">/* These are helper functions that call DMXAddInput. */</span>
00183 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a31">DMXAddBackendInput</a>(Display *dpy, <span class="keywordtype">int</span> screen, <span class="keywordtype">int</span> sendsCore,
00184                                <span class="keywordtype">int</span> *newId);
00185 <span class="keyword">extern</span> Bool <a class="code" href="lib_2dmx_2dmx_8c.html#a32">DMXAddConsoleInput</a>(Display *dpy, <span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> sendsCore,
00186                                <span class="keywordtype">int</span> *newId);
00187 
00188 _XFUNCPROTOEND
00189 <span class="preprocessor">#endif</span>
00190 <span class="preprocessor"></span><span class="preprocessor">#endif</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>