1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
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">
9 <!-- Generated by Doxygen 1.3.4 -->
10 <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>
11 <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>
12 00002 <span class=
"comment">/*
</span>
13 00003 <span class=
"comment"> * Copyright
2001-
2004 Red Hat Inc., Durham, North Carolina.
</span>
14 00004 <span class=
"comment"> *
</span>
15 00005 <span class=
"comment"> * All Rights Reserved.
</span>
16 00006 <span class=
"comment"> *
</span>
17 00007 <span class=
"comment"> * Permission is hereby granted, free of charge, to any person obtaining
</span>
18 00008 <span class=
"comment"> * a copy of this software and associated documentation files (the
</span>
19 00009 <span class=
"comment"> *
"Software"), to deal in the Software without restriction, including
</span>
20 00010 <span class=
"comment"> * without limitation on the rights to use, copy, modify, merge,
</span>
21 00011 <span class=
"comment"> * publish, distribute, sublicense, and/or sell copies of the Software,
</span>
22 00012 <span class=
"comment"> * and to permit persons to whom the Software is furnished to do so,
</span>
23 00013 <span class=
"comment"> * subject to the following conditions:
</span>
24 00014 <span class=
"comment"> *
</span>
25 00015 <span class=
"comment"> * The above copyright notice and this permission notice (including the
</span>
26 00016 <span class=
"comment"> * next paragraph) shall be included in all copies or substantial
</span>
27 00017 <span class=
"comment"> * portions of the Software.
</span>
28 00018 <span class=
"comment"> *
</span>
29 00019 <span class=
"comment"> * THE SOFTWARE IS PROVIDED
"AS IS", WITHOUT WARRANTY OF ANY KIND,
</span>
30 00020 <span class=
"comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
</span>
31 00021 <span class=
"comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
</span>
32 00022 <span class=
"comment"> * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
</span>
33 00023 <span class=
"comment"> * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
</span>
34 00024 <span class=
"comment"> * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
</span>
35 00025 <span class=
"comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
</span>
36 00026 <span class=
"comment"> * SOFTWARE.
</span>
37 00027 <span class=
"comment"> */
</span>
39 00029 <span class=
"comment">/*
</span>
40 00030 <span class=
"comment"> * Authors:
</span>
41 00031 <span class=
"comment"> * Kevin E. Martin
<kem@redhat.com
></span>
42 00032 <span class=
"comment"> *
</span>
43 00033 <span class=
"comment"> */
</span>
45 00038 <span class=
"preprocessor">#ifndef DMXWINDOW_H
</span>
46 00039 <span class=
"preprocessor"></span><span class=
"preprocessor">#define DMXWINDOW_H
</span>
47 00040 <span class=
"preprocessor"></span>
48 00041 <span class=
"preprocessor">#include
"windowstr.h"</span>
50 <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> {
55 00049 <span class=
"keywordtype">unsigned
</span> <span class=
"keywordtype">long
</span> attribMask;
58 00052 <span class=
"preprocessor">#ifdef SHAPE
</span>
59 00053 <span class=
"preprocessor"></span> Bool isShaped;
60 00054 <span class=
"preprocessor">#endif
</span>
61 00055 <span class=
"preprocessor"></span><span class=
"preprocessor">#ifdef RENDER
</span>
62 00056 <span class=
"preprocessor"></span> Bool hasPict;
63 00057 <span class=
"preprocessor">#endif
</span>
64 00058 <span class=
"preprocessor"></span><span class=
"preprocessor">#ifdef GLXEXT
</span>
65 00059 <span class=
"preprocessor"></span> <span class=
"keywordtype">void
</span> *swapGroup;
66 00060 <span class=
"keywordtype">int
</span> barrier;
67 00061 void (*windowDestroyed)(WindowPtr);
68 00062 void (*windowUnmapped)(WindowPtr);
69 00063 <span class=
"preprocessor">#endif
</span>
70 00064 <span class=
"preprocessor"></span>}
<a class=
"code" href=
"struct__dmxWinPriv.html">dmxWinPrivRec
</a>, *
<a class=
"code" href=
"struct__dmxWinPriv.html">dmxWinPrivPtr
</a>;
73 00067 <span class=
"keyword">extern
</span> Bool
<a class=
"code" href=
"dmxwindow_8c.html#a3">dmxInitWindow
</a>(ScreenPtr pScreen);
75 00069 <span class=
"keyword">extern
</span> Window dmxCreateRootWindow(WindowPtr pWindow);
77 00071 <span class=
"keyword">extern
</span> <span class=
"keywordtype">void
</span> dmxGetDefaultWindowAttributes(WindowPtr pWindow,
79 00073 Visual **visual);
80 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);
82 00076 <span class=
"keyword">extern
</span> Bool
<a class=
"code" href=
"dmxwindow_8c.html#a10">dmxCreateWindow
</a>(WindowPtr pWindow);
83 00077 <span class=
"keyword">extern
</span> Bool
<a class=
"code" href=
"dmxwindow_8c.html#a12">dmxDestroyWindow
</a>(WindowPtr pWindow);
84 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);
85 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);
86 00080 <span class=
"keyword">extern
</span> Bool
<a class=
"code" href=
"dmxwindow_8c.html#a15">dmxRealizeWindow
</a>(WindowPtr pWindow);
87 00081 <span class=
"keyword">extern
</span> Bool
<a class=
"code" href=
"dmxwindow_8c.html#a16">dmxUnrealizeWindow
</a>(WindowPtr pWindow);
88 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);
89 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,
90 00084 RegionPtr other_exposed);
91 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,
92 00086 <span class=
"keywordtype">int
</span> what);
93 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,
94 00088 <span class=
"keywordtype">int
</span> what);
95 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,
96 00090 RegionPtr prgnSrc);
98 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,
99 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);
100 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);
102 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);
104 00098 <span class=
"keyword">extern
</span> <span class=
"keywordtype">void
</span> <a class=
"code" href=
"dmxwindow_8c.html#a5">dmxResizeScreenWindow
</a>(ScreenPtr pScreen,
105 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);
106 00100 <span class=
"keyword">extern
</span> <span class=
"keywordtype">void
</span> <a class=
"code" href=
"dmxwindow_8c.html#a6">dmxResizeRootWindow
</a>(WindowPtr pRoot,
107 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);
109 00103 <span class=
"keyword">extern
</span> Bool
<a class=
"code" href=
"dmxwindow_8c.html#a11">dmxBEDestroyWindow
</a>(WindowPtr pWindow);
111 00105 <span class=
"preprocessor">#ifdef SHAPE
</span>
112 00106 <span class=
"preprocessor"></span><span class=
"comment">/* Support for shape extension */
</span>
113 00107 <span class=
"keyword">extern
</span> <span class=
"keywordtype">void
</span> <a class=
"code" href=
"dmxwindow_8c.html#a26">dmxSetShape
</a>(WindowPtr pWindow);
114 00108 <span class=
"preprocessor">#endif
</span>
115 00109 <span class=
"preprocessor"></span>
116 <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>;
118 <a name=
"l00114"></a><a class=
"code" href=
"dmxwindow_8h.html#a0">00114</a> <span class=
"preprocessor">#define DMX_GET_WINDOW_PRIV(_pWin) \
</span>
119 00115 <span class=
"preprocessor"> ((dmxWinPrivPtr)(_pWin)-
>devPrivates[dmxWinPrivateIndex].ptr)
</span>
120 00116 <span class=
"preprocessor"></span>
121 00117 <span class=
"comment">/* All of these macros are only used in dmxwindow.c */
</span>
122 00118 <span class=
"preprocessor">#define DMX_WINDOW_FUNC_PROLOGUE(_pGC) \
</span>
123 00119 <span class=
"preprocessor">do { \
</span>
124 00120 <span class=
"preprocessor"> dmxGCPrivPtr pGCPriv = DMX_GET_GC_PRIV(_pGC); \
</span>
125 00121 <span class=
"preprocessor"> DMX_UNWRAP(funcs, pGCPriv, (_pGC)); \
</span>
126 00122 <span class=
"preprocessor"> if (pGCPriv-
>ops) \
</span>
127 00123 <span class=
"preprocessor"> DMX_UNWRAP(ops, pGCPriv, (_pGC)); \
</span>
128 00124 <span class=
"preprocessor">} while (
0)
</span>
129 00125 <span class=
"preprocessor"></span>
130 00126 <span class=
"preprocessor">#define DMX_WINDOW_FUNC_EPILOGUE(_pGC) \
</span>
131 00127 <span class=
"preprocessor">do { \
</span>
132 00128 <span class=
"preprocessor"> dmxGCPrivPtr pGCPriv = DMX_GET_GC_PRIV(_pGC); \
</span>
133 00129 <span class=
"preprocessor"> DMX_WRAP(funcs,
&dmxGCFuncs, pGCPriv, (_pGC)); \
</span>
134 00130 <span class=
"preprocessor"> if (pGCPriv-
>ops) \
</span>
135 00131 <span class=
"preprocessor"> DMX_WRAP(ops,
&dmxGCOps, pGCPriv, (_pGC)); \
</span>
136 00132 <span class=
"preprocessor">} while (
0)
</span>
137 00133 <span class=
"preprocessor"></span>
138 00134 <span class=
"preprocessor">#define DMX_WINDOW_X1(_pWin) \
</span>
139 00135 <span class=
"preprocessor"> ((_pWin)-
>drawable.x - wBorderWidth(_pWin))
</span>
140 00136 <span class=
"preprocessor"></span><span class=
"preprocessor">#define DMX_WINDOW_Y1(_pWin) \
</span>
141 00137 <span class=
"preprocessor"> ((_pWin)-
>drawable.y - wBorderWidth(_pWin))
</span>
142 00138 <span class=
"preprocessor"></span><span class=
"preprocessor">#define DMX_WINDOW_X2(_pWin) \
</span>
143 00139 <span class=
"preprocessor"> ((_pWin)-
>drawable.x + wBorderWidth(_pWin) + (_pWin)-
>drawable.width)
</span>
144 00140 <span class=
"preprocessor"></span><span class=
"preprocessor">#define DMX_WINDOW_Y2(_pWin) \
</span>
145 00141 <span class=
"preprocessor"> ((_pWin)-
>drawable.y + wBorderWidth(_pWin) + (_pWin)-
>drawable.height)
</span>
146 00142 <span class=
"preprocessor"></span>
147 00143 <span class=
"preprocessor">#define DMX_WINDOW_OFFSCREEN(_pWin) \
</span>
148 00144 <span class=
"preprocessor"> (DMX_WINDOW_X1(_pWin)
>= (_pWin)-
>drawable.pScreen-
>width || \
</span>
149 00145 <span class=
"preprocessor"> DMX_WINDOW_Y1(_pWin)
>= (_pWin)-
>drawable.pScreen-
>height || \
</span>
150 00146 <span class=
"preprocessor"> DMX_WINDOW_X2(_pWin)
<=
0 || \
</span>
151 00147 <span class=
"preprocessor"> DMX_WINDOW_Y2(_pWin)
<=
0)
</span>
152 00148 <span class=
"preprocessor"></span>
153 00149 <span class=
"preprocessor">#endif
</span><span class=
"comment">/* DMXWINDOW_H */
</span>
157 Generated June
29,
2004 for
<a
158 href=
"http://dmx.sourceforge.net">Distributed Multihead X
</a> by
159 <a href=
"http://www.doxygen.org/index.html">doxygen
</a>