xserver-multidpi/hw/dmx/doc/html/dmxext_8h-source.html
2004-06-30 20:06:56 +00:00

198 lines
17 KiB
HTML

<!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>