<!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>dmxgc.h</h1><a href="dmxgc_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 DMXGC_H</span> 00039 <span class="preprocessor"></span><span class="preprocessor">#define DMXGC_H</span> 00040 <span class="preprocessor"></span> 00041 <span class="preprocessor">#include "gcstruct.h"</span> 00042 <a name="l00044"></a><a class="code" href="struct__dmxGCPriv.html">00044</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__dmxGCPriv.html">_dmxGCPriv</a> { 00045 GCOps *ops; 00046 GCFuncs *funcs; 00047 XlibGC gc; 00048 Bool msc; 00049 } <a class="code" href="struct__dmxGCPriv.html">dmxGCPrivRec</a>, *<a class="code" href="struct__dmxGCPriv.html">dmxGCPrivPtr</a>; 00050 00051 00052 <span class="keyword">extern</span> Bool <a class="code" href="dmxgc_8c.html#a2">dmxInitGC</a>(ScreenPtr pScreen); 00053 00054 <span class="keyword">extern</span> Bool <a class="code" href="dmxgc_8c.html#a4">dmxCreateGC</a>(GCPtr pGC); 00055 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxgc_8c.html#a5">dmxValidateGC</a>(GCPtr pGC, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> changes, 00056 DrawablePtr pDrawable); 00057 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxgc_8c.html#a6">dmxChangeGC</a>(GCPtr pGC, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask); 00058 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxgc_8c.html#a7">dmxCopyGC</a>(GCPtr pGCSrc, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> changes, GCPtr pGCDst); 00059 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxgc_8c.html#a9">dmxDestroyGC</a>(GCPtr pGC); 00060 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxgc_8c.html#a10">dmxChangeClip</a>(GCPtr pGC, <span class="keywordtype">int</span> type, pointer pvalue, <span class="keywordtype">int</span> nrects); 00061 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxgc_8c.html#a11">dmxDestroyClip</a>(GCPtr pGC); 00062 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxgc_8c.html#a12">dmxCopyClip</a>(GCPtr pGCDst, GCPtr pGCSrc); 00063 00064 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="dmxgc_8c.html#a3">dmxBECreateGC</a>(ScreenPtr pScreen, GCPtr pGC); 00065 <span class="keyword">extern</span> Bool <a class="code" href="dmxgc_8c.html#a8">dmxBEFreeGC</a>(GCPtr pGC); 00066 <a name="l00068"></a><a class="code" href="dmxgc_8h.html#a5">00068</a> <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dmxgc_8h.html#a5">dmxGCPrivateIndex</a>; 00069 <a name="l00071"></a><a class="code" href="dmxgc_8h.html#a0">00071</a> <span class="preprocessor">#define DMX_GET_GC_PRIV(_pGC) \</span> 00072 <span class="preprocessor"> (dmxGCPrivPtr)(_pGC)->devPrivates[dmxGCPrivateIndex].ptr</span> 00073 <span class="preprocessor"></span> 00074 <span class="preprocessor">#define DMX_GC_FUNC_PROLOGUE(_pGC) \</span> 00075 <span class="preprocessor">do { \</span> 00076 <span class="preprocessor"> dmxGCPrivPtr _pGCPriv = DMX_GET_GC_PRIV(_pGC); \</span> 00077 <span class="preprocessor"> DMX_UNWRAP(funcs, _pGCPriv, (_pGC)); \</span> 00078 <span class="preprocessor"> if (_pGCPriv->ops) \</span> 00079 <span class="preprocessor"> DMX_UNWRAP(ops, _pGCPriv, (_pGC)); \</span> 00080 <span class="preprocessor">} while (0)</span> 00081 <span class="preprocessor"></span> 00082 <span class="preprocessor">#define DMX_GC_FUNC_EPILOGUE(_pGC) \</span> 00083 <span class="preprocessor">do { \</span> 00084 <span class="preprocessor"> dmxGCPrivPtr _pGCPriv = DMX_GET_GC_PRIV(_pGC); \</span> 00085 <span class="preprocessor"> DMX_WRAP(funcs, &dmxGCFuncs, _pGCPriv, (_pGC)); \</span> 00086 <span class="preprocessor"> if (_pGCPriv->ops) \</span> 00087 <span class="preprocessor"> DMX_WRAP(ops, &dmxGCOps, _pGCPriv, (_pGC)); \</span> 00088 <span class="preprocessor">} while (0)</span> 00089 <span class="preprocessor"></span> 00090 <span class="preprocessor">#endif </span><span class="comment">/* DMXGC_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>