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