1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2<html> 3 <head> 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"> 7 </head> 8 <body> 9<!-- Generated by Doxygen 1.7.4 --> 10 <div id="navrow1" class="tabs"> 11 <ul class="tablist"> 12 <li><a href="index.html"><span>Main Page</span></a></li> 13 <li><a href="annotated.html"><span>Data Structures</span></a></li> 14 <li class="current"><a href="files.html"><span>Files</span></a></li> 15 </ul> 16 </div> 17 <div id="navrow2" class="tabs2"> 18 <ul class="tablist"> 19 <li><a href="files.html"><span>File List</span></a></li> 20 <li><a href="globals.html"><span>Globals</span></a></li> 21 </ul> 22 </div> 23</div> 24<div id="side-nav" class="ui-resizable side-nav-resizable"> 25 <div id="nav-tree"> 26 <div id="nav-tree-contents"> 27 </div> 28 </div> 29 <div id="splitbar" style="-moz-user-select:none;" 30 class="ui-resizable-handle"> 31 </div> 32</div> 33<script type="text/javascript"> 34 initNavTree('dmxwindow_8h.html',''); 35</script> 36<div id="doc-content"> 37<div class="header"> 38 <div class="headertitle"> 39<div class="title">dmxwindow.h</div> </div> 40</div> 41<div class="contents"> 42<a href="dmxwindow_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> 43<a name="l00002"></a>00002 <span class="comment"> * Copyright 2001-2004 Red Hat Inc., Durham, North Carolina.</span> 44<a name="l00003"></a>00003 <span class="comment"> *</span> 45<a name="l00004"></a>00004 <span class="comment"> * All Rights Reserved.</span> 46<a name="l00005"></a>00005 <span class="comment"> *</span> 47<a name="l00006"></a>00006 <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining</span> 48<a name="l00007"></a>00007 <span class="comment"> * a copy of this software and associated documentation files (the</span> 49<a name="l00008"></a>00008 <span class="comment"> * "Software"), to deal in the Software without restriction, including</span> 50<a name="l00009"></a>00009 <span class="comment"> * without limitation on the rights to use, copy, modify, merge,</span> 51<a name="l00010"></a>00010 <span class="comment"> * publish, distribute, sublicense, and/or sell copies of the Software,</span> 52<a name="l00011"></a>00011 <span class="comment"> * and to permit persons to whom the Software is furnished to do so,</span> 53<a name="l00012"></a>00012 <span class="comment"> * subject to the following conditions:</span> 54<a name="l00013"></a>00013 <span class="comment"> *</span> 55<a name="l00014"></a>00014 <span class="comment"> * The above copyright notice and this permission notice (including the</span> 56<a name="l00015"></a>00015 <span class="comment"> * next paragraph) shall be included in all copies or substantial</span> 57<a name="l00016"></a>00016 <span class="comment"> * portions of the Software.</span> 58<a name="l00017"></a>00017 <span class="comment"> *</span> 59<a name="l00018"></a>00018 <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> 60<a name="l00019"></a>00019 <span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> 61<a name="l00020"></a>00020 <span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> 62<a name="l00021"></a>00021 <span class="comment"> * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS</span> 63<a name="l00022"></a>00022 <span class="comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span> 64<a name="l00023"></a>00023 <span class="comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span> 65<a name="l00024"></a>00024 <span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span> 66<a name="l00025"></a>00025 <span class="comment"> * SOFTWARE.</span> 67<a name="l00026"></a>00026 <span class="comment"> */</span> 68<a name="l00027"></a>00027 69<a name="l00028"></a>00028 <span class="comment">/*</span> 70<a name="l00029"></a>00029 <span class="comment"> * Authors:</span> 71<a name="l00030"></a>00030 <span class="comment"> * Kevin E. Martin <kem@redhat.com></span> 72<a name="l00031"></a>00031 <span class="comment"> *</span> 73<a name="l00032"></a>00032 <span class="comment"> */</span> 74<a name="l00033"></a>00033 75<a name="l00037"></a>00037 <span class="preprocessor">#ifndef DMXWINDOW_H</span> 76<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define DMXWINDOW_H</span> 77<a name="l00039"></a>00039 <span class="preprocessor"></span> 78<a name="l00040"></a>00040 <span class="preprocessor">#include "windowstr.h"</span> 79<a name="l00041"></a>00041 80<a name="l00043"></a><a class="code" href="struct__dmxWinPriv.html">00043</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__dmxWinPriv.html">_dmxWinPriv</a> { 81<a name="l00044"></a><a class="code" href="struct__dmxWinPriv.html#a9e9f2544f80c5f6988afbc36be92f71f">00044</a> Window <a class="code" href="struct__dmxWinPriv.html#a9e9f2544f80c5f6988afbc36be92f71f">window</a>; 82<a name="l00045"></a><a class="code" href="struct__dmxWinPriv.html#a6c19fce485c4b7c630e5af24ac8d2b64">00045</a> Bool <a class="code" href="struct__dmxWinPriv.html#a6c19fce485c4b7c630e5af24ac8d2b64">offscreen</a>; 83<a name="l00046"></a><a class="code" href="struct__dmxWinPriv.html#a71a163660368e9309d1369164246946f">00046</a> Bool <a class="code" href="struct__dmxWinPriv.html#a71a163660368e9309d1369164246946f">mapped</a>; 84<a name="l00047"></a><a class="code" href="struct__dmxWinPriv.html#a408078f183c5a02daa555c9df1f310f2">00047</a> Bool <a class="code" href="struct__dmxWinPriv.html#a408078f183c5a02daa555c9df1f310f2">restacked</a>; 85<a name="l00048"></a><a class="code" href="struct__dmxWinPriv.html#ab0ef36129e8d26e958e0094e41bceebe">00048</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="struct__dmxWinPriv.html#ab0ef36129e8d26e958e0094e41bceebe">attribMask</a>; 86<a name="l00049"></a><a class="code" href="struct__dmxWinPriv.html#a852246cf86eff5c476e79915828a976f">00049</a> Colormap <a class="code" href="struct__dmxWinPriv.html#a852246cf86eff5c476e79915828a976f">cmap</a>; 87<a name="l00050"></a><a class="code" href="struct__dmxWinPriv.html#a19177a0167fccfd592c7f45c929c2be9">00050</a> Visual *<a class="code" href="struct__dmxWinPriv.html#a19177a0167fccfd592c7f45c929c2be9">visual</a>; 88<a name="l00051"></a><a class="code" href="struct__dmxWinPriv.html#af0c3737de0bf15b112b7d9aba3774196">00051</a> Bool <a class="code" href="struct__dmxWinPriv.html#af0c3737de0bf15b112b7d9aba3774196">isShaped</a>; 89<a name="l00052"></a><a class="code" href="struct__dmxWinPriv.html#aada5c9737655b65fcd384446a5bb8906">00052</a> Bool <a class="code" href="struct__dmxWinPriv.html#aada5c9737655b65fcd384446a5bb8906">hasPict</a>; 90<a name="l00053"></a>00053 <span class="preprocessor">#ifdef GLXEXT</span> 91<a name="l00054"></a>00054 <span class="preprocessor"></span> <span class="keywordtype">void</span> *swapGroup; 92<a name="l00055"></a>00055 <span class="keywordtype">int</span> barrier; 93<a name="l00056"></a>00056 void (*windowDestroyed)(WindowPtr); 94<a name="l00057"></a>00057 void (*windowUnmapped)(WindowPtr); 95<a name="l00058"></a>00058 <span class="preprocessor">#endif</span> 96<a name="l00059"></a>00059 <span class="preprocessor"></span>} <a class="code" href="dmxwindow_8h.html#a5f9a6e44e1c8fbd89cf1d50b50fee122">dmxWinPrivRec</a>, *<a class="code" href="dmxwindow_8h.html#a3024ab3c0220000ce6ed1e93fd4880cc">dmxWinPrivPtr</a>; 97<a name="l00060"></a>00060 98<a name="l00061"></a>00061 99<a name="l00062"></a>00062 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#ad1c1a5296c1ef99d4dd829108903b21f">dmxInitWindow</a>(ScreenPtr pScreen); 100<a name="l00063"></a>00063 101<a name="l00064"></a>00064 <span class="keyword">extern</span> Window <a class="code" href="dmxwindow_8c.html#a5296d023014ce3d69c04557431785923">dmxCreateRootWindow</a>(WindowPtr pWindow); 102<a name="l00065"></a>00065 103<a name="l00066"></a>00066 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#ab8f054330062393aa409a31ec692cf0d">dmxGetDefaultWindowAttributes</a>(WindowPtr pWindow, 104<a name="l00067"></a>00067 Colormap *cmap, 105<a name="l00068"></a>00068 Visual **visual); 106<a name="l00069"></a>00069 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#afefa2121a2898700d285e77730a52c4d">dmxCreateAndRealizeWindow</a>(WindowPtr pWindow, Bool doSync); 107<a name="l00070"></a>00070 108<a name="l00071"></a>00071 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#aebb0ce7ac51645832a20c7d6a7d21d9c">dmxCreateWindow</a>(WindowPtr pWindow); 109<a name="l00072"></a>00072 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a25a0aafd36f68137e67a3e6d95b78f53">dmxDestroyWindow</a>(WindowPtr pWindow); 110<a name="l00073"></a>00073 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#adba873c51adf03b8af700c67fc6fba9b">dmxPositionWindow</a>(WindowPtr pWindow, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y); 111<a name="l00074"></a>00074 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#ae6f0ba304627ea760df9e9c53f7bbae6">dmxChangeWindowAttributes</a>(WindowPtr pWindow, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask); 112<a name="l00075"></a>00075 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#ac75f5d6332a78eeac4e0e185cf326045">dmxRealizeWindow</a>(WindowPtr pWindow); 113<a name="l00076"></a>00076 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#aeab9f468cc2c9374658213ee90a234a0">dmxUnrealizeWindow</a>(WindowPtr pWindow); 114<a name="l00077"></a>00077 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a21e147f295faee8e53eb162071dc66ad">dmxRestackWindow</a>(WindowPtr pWindow, WindowPtr pOldNextSib); 115<a name="l00078"></a>00078 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a02a6991e5248012e287fe4be3a985926">dmxWindowExposures</a>(WindowPtr pWindow, RegionPtr prgn, 116<a name="l00079"></a>00079 RegionPtr other_exposed); 117<a name="l00080"></a>00080 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#ad78bdba42db62285cf174f072a63a81a">dmxCopyWindow</a>(WindowPtr pWindow, DDXPointRec ptOldOrg, 118<a name="l00081"></a>00081 RegionPtr prgnSrc); 119<a name="l00082"></a>00082 120<a name="l00083"></a>00083 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#ac3811e381fef200b5cd3207478df66e1">dmxResizeWindow</a>(WindowPtr pWindow, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, 121<a name="l00084"></a>00084 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> w, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h, WindowPtr pSib); 122<a name="l00085"></a>00085 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#ab07d7010858aa078f26396f420fdea8c">dmxReparentWindow</a>(WindowPtr pWindow, WindowPtr pPriorParent); 123<a name="l00086"></a>00086 124<a name="l00087"></a>00087 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a5d63a05eab33981615afdf523a44c697">dmxChangeBorderWidth</a>(WindowPtr pWindow, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width); 125<a name="l00088"></a>00088 126<a name="l00089"></a>00089 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#af96b8583264e78a4c693c6f7ee887067">dmxResizeScreenWindow</a>(ScreenPtr pScreen, 127<a name="l00090"></a>00090 <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h); 128<a name="l00091"></a>00091 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a817739d4921329f1cf71f2af6fcacfc2">dmxResizeRootWindow</a>(WindowPtr pRoot, 129<a name="l00092"></a>00092 <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h); 130<a name="l00093"></a>00093 131<a name="l00094"></a>00094 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a978ad158f0c814ca10dc965c5f7b74c2">dmxBEDestroyWindow</a>(WindowPtr pWindow); 132<a name="l00095"></a>00095 133<a name="l00096"></a>00096 <span class="comment">/* Support for shape extension */</span> 134<a name="l00097"></a>00097 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#aa14e289855150f41c4f574afea427bb0">dmxSetShape</a>(WindowPtr pWindow, <span class="keywordtype">int</span> kind); 135<a name="l00098"></a>00098 136<a name="l00100"></a><a class="code" href="dmxwindow_8h.html#afbcb941cf0707b8bfbe0ac5889123ea3">00100</a> <span class="preprocessor">#define DMX_GET_WINDOW_PRIV(_pWin) ((dmxWinPrivPtr) \</span> 137<a name="l00101"></a>00101 <span class="preprocessor"> dixLookupPrivate(&(_pWin)->devPrivates, dmxWinPrivateKey))</span> 138<a name="l00102"></a>00102 <span class="preprocessor"></span> 139<a name="l00103"></a>00103 <span class="comment">/* All of these macros are only used in dmxwindow.c */</span> 140<a name="l00104"></a><a class="code" href="dmxwindow_8h.html#a35b887c43ad7855996b9aab8151fc479">00104</a> <span class="preprocessor">#define DMX_WINDOW_FUNC_PROLOGUE(_pGC) \</span> 141<a name="l00105"></a>00105 <span class="preprocessor">do { \</span> 142<a name="l00106"></a>00106 <span class="preprocessor"> dmxGCPrivPtr pGCPriv = DMX_GET_GC_PRIV(_pGC); \</span> 143<a name="l00107"></a>00107 <span class="preprocessor"> DMX_UNWRAP(funcs, pGCPriv, (_pGC)); \</span> 144<a name="l00108"></a>00108 <span class="preprocessor"> if (pGCPriv->ops) \</span> 145<a name="l00109"></a>00109 <span class="preprocessor"> DMX_UNWRAP(ops, pGCPriv, (_pGC)); \</span> 146<a name="l00110"></a>00110 <span class="preprocessor">} while (0)</span> 147<a name="l00111"></a>00111 <span class="preprocessor"></span> 148<a name="l00112"></a><a class="code" href="dmxwindow_8h.html#a9144b8f0cbe6f869da8a9ddcfbaa5f1b">00112</a> <span class="preprocessor">#define DMX_WINDOW_FUNC_EPILOGUE(_pGC) \</span> 149<a name="l00113"></a>00113 <span class="preprocessor">do { \</span> 150<a name="l00114"></a>00114 <span class="preprocessor"> dmxGCPrivPtr pGCPriv = DMX_GET_GC_PRIV(_pGC); \</span> 151<a name="l00115"></a>00115 <span class="preprocessor"> DMX_WRAP(funcs, &dmxGCFuncs, pGCPriv, (_pGC)); \</span> 152<a name="l00116"></a>00116 <span class="preprocessor"> if (pGCPriv->ops) \</span> 153<a name="l00117"></a>00117 <span class="preprocessor"> DMX_WRAP(ops, &dmxGCOps, pGCPriv, (_pGC)); \</span> 154<a name="l00118"></a>00118 <span class="preprocessor">} while (0)</span> 155<a name="l00119"></a>00119 <span class="preprocessor"></span> 156<a name="l00120"></a><a class="code" href="dmxwindow_8h.html#a7eb75e49cc319067cfd50841378f8808">00120</a> <span class="preprocessor">#define DMX_WINDOW_X1(_pWin) \</span> 157<a name="l00121"></a>00121 <span class="preprocessor"> ((_pWin)->drawable.x - wBorderWidth(_pWin))</span> 158<a name="l00122"></a><a class="code" href="dmxwindow_8h.html#a744e6f0a3bd069a37c77b8bff83bf491">00122</a> <span class="preprocessor"></span><span class="preprocessor">#define DMX_WINDOW_Y1(_pWin) \</span> 159<a name="l00123"></a>00123 <span class="preprocessor"> ((_pWin)->drawable.y - wBorderWidth(_pWin))</span> 160<a name="l00124"></a><a class="code" href="dmxwindow_8h.html#ad52fe7cfe660be4536aabed92c0108d1">00124</a> <span class="preprocessor"></span><span class="preprocessor">#define DMX_WINDOW_X2(_pWin) \</span> 161<a name="l00125"></a>00125 <span class="preprocessor"> ((_pWin)->drawable.x + wBorderWidth(_pWin) + (_pWin)->drawable.width) </span> 162<a name="l00126"></a><a class="code" href="dmxwindow_8h.html#a2d0ce76b2c1b06889444d93d5368c0ba">00126</a> <span class="preprocessor"></span><span class="preprocessor">#define DMX_WINDOW_Y2(_pWin) \</span> 163<a name="l00127"></a>00127 <span class="preprocessor"> ((_pWin)->drawable.y + wBorderWidth(_pWin) + (_pWin)->drawable.height) </span> 164<a name="l00128"></a>00128 <span class="preprocessor"></span> 165<a name="l00129"></a><a class="code" href="dmxwindow_8h.html#a9d5f07cf04c9e32d918d57d096769a5d">00129</a> <span class="preprocessor">#define DMX_WINDOW_OFFSCREEN(_pWin) \</span> 166<a name="l00130"></a>00130 <span class="preprocessor"> (DMX_WINDOW_X1(_pWin) >= (_pWin)->drawable.pScreen->width || \</span> 167<a name="l00131"></a>00131 <span class="preprocessor"> DMX_WINDOW_Y1(_pWin) >= (_pWin)->drawable.pScreen->height || \</span> 168<a name="l00132"></a>00132 <span class="preprocessor"> DMX_WINDOW_X2(_pWin) <= 0 || \</span> 169<a name="l00133"></a>00133 <span class="preprocessor"> DMX_WINDOW_Y2(_pWin) <= 0)</span> 170<a name="l00134"></a>00134 <span class="preprocessor"></span> 171<a name="l00135"></a>00135 <span class="preprocessor">#endif </span><span class="comment">/* DMXWINDOW_H */</span> 172</pre></div></div> 173</div> 174 <div id="nav-path" class="navpath"> 175 <ul> 176 <li class="navelem"><a class="el" href="dmxwindow_8h.html">dmxwindow.h</a> </li> 177 <hr> 178 <address> 179 <small> 180 Generated June 29, 2004 for <a 181 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by 182 <a href="http://www.doxygen.org/index.html">doxygen</a> 183 1.3.4. 184 </small> 185 </addres> 186 </hr> 187 </body> 188</html> 189