166 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			14 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 Page</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
 | 
						|
<h1>dmxwindow.h</h1><a href="dmxwindow_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-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"> *   Kevin E. Martin <kem@redhat.com></span>
 | 
						|
00032 <span class="comment"> *</span>
 | 
						|
00033 <span class="comment"> */</span>
 | 
						|
00034 
 | 
						|
00038 <span class="preprocessor">#ifndef DMXWINDOW_H</span>
 | 
						|
00039 <span class="preprocessor"></span><span class="preprocessor">#define DMXWINDOW_H</span>
 | 
						|
00040 <span class="preprocessor"></span>
 | 
						|
00041 <span class="preprocessor">#include "windowstr.h"</span>
 | 
						|
00042 
 | 
						|
<a name="l00044"></a><a class="code" href="struct__dmxWinPriv.html">00044</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__dmxWinPriv.html">_dmxWinPriv</a> {
 | 
						|
00045     Window         window;
 | 
						|
00046     Bool           offscreen;
 | 
						|
00047     Bool           mapped;
 | 
						|
00048     Bool           restacked;
 | 
						|
00049     <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>  attribMask;
 | 
						|
00050     Colormap       cmap;
 | 
						|
00051     Visual        *visual;
 | 
						|
00052 <span class="preprocessor">#ifdef SHAPE</span>
 | 
						|
00053 <span class="preprocessor"></span>    Bool           isShaped;
 | 
						|
00054 <span class="preprocessor">#endif</span>
 | 
						|
00055 <span class="preprocessor"></span><span class="preprocessor">#ifdef RENDER</span>
 | 
						|
00056 <span class="preprocessor"></span>    Bool           hasPict;
 | 
						|
00057 <span class="preprocessor">#endif</span>
 | 
						|
00058 <span class="preprocessor"></span><span class="preprocessor">#ifdef GLXEXT</span>
 | 
						|
00059 <span class="preprocessor"></span>    <span class="keywordtype">void</span>          *swapGroup;
 | 
						|
00060     <span class="keywordtype">int</span>            barrier;
 | 
						|
00061     void         (*windowDestroyed)(WindowPtr);
 | 
						|
00062     void         (*windowUnmapped)(WindowPtr);
 | 
						|
00063 <span class="preprocessor">#endif</span>
 | 
						|
00064 <span class="preprocessor"></span>} <a class="code" href="struct__dmxWinPriv.html">dmxWinPrivRec</a>, *<a class="code" href="struct__dmxWinPriv.html">dmxWinPrivPtr</a>;
 | 
						|
00065 
 | 
						|
00066 
 | 
						|
00067 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a3">dmxInitWindow</a>(ScreenPtr pScreen);
 | 
						|
00068 
 | 
						|
00069 <span class="keyword">extern</span> Window dmxCreateRootWindow(WindowPtr pWindow);
 | 
						|
00070 
 | 
						|
00071 <span class="keyword">extern</span> <span class="keywordtype">void</span> dmxGetDefaultWindowAttributes(WindowPtr pWindow,
 | 
						|
00072                                           Colormap *cmap,
 | 
						|
00073                                           Visual **visual);
 | 
						|
00074 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a9">dmxCreateAndRealizeWindow</a>(WindowPtr pWindow, Bool doSync);
 | 
						|
00075 
 | 
						|
00076 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a10">dmxCreateWindow</a>(WindowPtr pWindow);
 | 
						|
00077 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a12">dmxDestroyWindow</a>(WindowPtr pWindow);
 | 
						|
00078 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a13">dmxPositionWindow</a>(WindowPtr pWindow, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
 | 
						|
00079 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a14">dmxChangeWindowAttributes</a>(WindowPtr pWindow, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask);
 | 
						|
00080 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a15">dmxRealizeWindow</a>(WindowPtr pWindow);
 | 
						|
00081 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a16">dmxUnrealizeWindow</a>(WindowPtr pWindow);
 | 
						|
00082 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a17">dmxRestackWindow</a>(WindowPtr pWindow, WindowPtr pOldNextSib);
 | 
						|
00083 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a19">dmxWindowExposures</a>(WindowPtr pWindow, RegionPtr prgn,
 | 
						|
00084                                RegionPtr other_exposed);
 | 
						|
00085 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a20">dmxPaintWindowBackground</a>(WindowPtr pWindow, RegionPtr pRegion,
 | 
						|
00086                                      <span class="keywordtype">int</span> what);
 | 
						|
00087 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a21">dmxPaintWindowBorder</a>(WindowPtr pWindow, RegionPtr pRegion,
 | 
						|
00088                                  <span class="keywordtype">int</span> what);
 | 
						|
00089 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a22">dmxCopyWindow</a>(WindowPtr pWindow, DDXPointRec ptOldOrg,
 | 
						|
00090                           RegionPtr prgnSrc);
 | 
						|
00091 
 | 
						|
00092 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a23">dmxResizeWindow</a>(WindowPtr pWindow, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y,
 | 
						|
00093                             <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> w, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> h, WindowPtr pSib);
 | 
						|
00094 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a24">dmxReparentWindow</a>(WindowPtr pWindow, WindowPtr pPriorParent);
 | 
						|
00095 
 | 
						|
00096 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a25">dmxChangeBorderWidth</a>(WindowPtr pWindow, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width);
 | 
						|
00097 
 | 
						|
00098 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a5">dmxResizeScreenWindow</a>(ScreenPtr pScreen,
 | 
						|
00099                                   <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h);
 | 
						|
00100 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a6">dmxResizeRootWindow</a>(WindowPtr pRoot,
 | 
						|
00101                                 <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> h);
 | 
						|
00102 
 | 
						|
00103 <span class="keyword">extern</span> Bool <a class="code" href="dmxwindow_8c.html#a11">dmxBEDestroyWindow</a>(WindowPtr pWindow);
 | 
						|
00104 
 | 
						|
00105 <span class="preprocessor">#ifdef SHAPE</span>
 | 
						|
00106 <span class="preprocessor"></span><span class="comment">/* Support for shape extension */</span>
 | 
						|
00107 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxwindow_8c.html#a26">dmxSetShape</a>(WindowPtr pWindow);
 | 
						|
00108 <span class="preprocessor">#endif</span>
 | 
						|
00109 <span class="preprocessor"></span>
 | 
						|
<a name="l00111"></a><a class="code" href="dmxwindow_8h.html#a10">00111</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dmxscrinit_8c.html#a3">dmxWinPrivateIndex</a>;
 | 
						|
00112 
 | 
						|
<a name="l00114"></a><a class="code" href="dmxwindow_8h.html#a0">00114</a> <span class="preprocessor">#define DMX_GET_WINDOW_PRIV(_pWin)                                      \</span>
 | 
						|
00115 <span class="preprocessor">    ((dmxWinPrivPtr)(_pWin)->devPrivates[dmxWinPrivateIndex].ptr)</span>
 | 
						|
00116 <span class="preprocessor"></span>
 | 
						|
00117 <span class="comment">/* All of these macros are only used in dmxwindow.c */</span>
 | 
						|
00118 <span class="preprocessor">#define DMX_WINDOW_FUNC_PROLOGUE(_pGC)                                  \</span>
 | 
						|
00119 <span class="preprocessor">do {                                                                    \</span>
 | 
						|
00120 <span class="preprocessor">    dmxGCPrivPtr pGCPriv = DMX_GET_GC_PRIV(_pGC);                       \</span>
 | 
						|
00121 <span class="preprocessor">    DMX_UNWRAP(funcs, pGCPriv, (_pGC));                                 \</span>
 | 
						|
00122 <span class="preprocessor">    if (pGCPriv->ops)                                                   \</span>
 | 
						|
00123 <span class="preprocessor">        DMX_UNWRAP(ops, pGCPriv, (_pGC));                               \</span>
 | 
						|
00124 <span class="preprocessor">} while (0)</span>
 | 
						|
00125 <span class="preprocessor"></span>
 | 
						|
00126 <span class="preprocessor">#define DMX_WINDOW_FUNC_EPILOGUE(_pGC)                                  \</span>
 | 
						|
00127 <span class="preprocessor">do {                                                                    \</span>
 | 
						|
00128 <span class="preprocessor">    dmxGCPrivPtr pGCPriv = DMX_GET_GC_PRIV(_pGC);                       \</span>
 | 
						|
00129 <span class="preprocessor">    DMX_WRAP(funcs, &dmxGCFuncs, pGCPriv, (_pGC));                      \</span>
 | 
						|
00130 <span class="preprocessor">    if (pGCPriv->ops)                                                   \</span>
 | 
						|
00131 <span class="preprocessor">        DMX_WRAP(ops, &dmxGCOps, pGCPriv, (_pGC));                      \</span>
 | 
						|
00132 <span class="preprocessor">} while (0)</span>
 | 
						|
00133 <span class="preprocessor"></span>
 | 
						|
00134 <span class="preprocessor">#define DMX_WINDOW_X1(_pWin)                                            \</span>
 | 
						|
00135 <span class="preprocessor">    ((_pWin)->drawable.x - wBorderWidth(_pWin))</span>
 | 
						|
00136 <span class="preprocessor"></span><span class="preprocessor">#define DMX_WINDOW_Y1(_pWin)                                            \</span>
 | 
						|
00137 <span class="preprocessor">    ((_pWin)->drawable.y - wBorderWidth(_pWin))</span>
 | 
						|
00138 <span class="preprocessor"></span><span class="preprocessor">#define DMX_WINDOW_X2(_pWin)                                            \</span>
 | 
						|
00139 <span class="preprocessor">    ((_pWin)->drawable.x + wBorderWidth(_pWin) + (_pWin)->drawable.width) </span>
 | 
						|
00140 <span class="preprocessor"></span><span class="preprocessor">#define DMX_WINDOW_Y2(_pWin)                                            \</span>
 | 
						|
00141 <span class="preprocessor">    ((_pWin)->drawable.y + wBorderWidth(_pWin) + (_pWin)->drawable.height) </span>
 | 
						|
00142 <span class="preprocessor"></span>
 | 
						|
00143 <span class="preprocessor">#define DMX_WINDOW_OFFSCREEN(_pWin)                                     \</span>
 | 
						|
00144 <span class="preprocessor">    (DMX_WINDOW_X1(_pWin) >= (_pWin)->drawable.pScreen->width  ||       \</span>
 | 
						|
00145 <span class="preprocessor">     DMX_WINDOW_Y1(_pWin) >= (_pWin)->drawable.pScreen->height ||       \</span>
 | 
						|
00146 <span class="preprocessor">     DMX_WINDOW_X2(_pWin) <= 0                                 ||       \</span>
 | 
						|
00147 <span class="preprocessor">     DMX_WINDOW_Y2(_pWin) <= 0)</span>
 | 
						|
00148 <span class="preprocessor"></span>
 | 
						|
00149 <span class="preprocessor">#endif </span><span class="comment">/* DMXWINDOW_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>
 |