1706f2543Smrg/*
2706f2543Smrg
3706f2543SmrgCopyright 1993 by Davor Matic
4706f2543Smrg
5706f2543SmrgPermission to use, copy, modify, distribute, and sell this software
6706f2543Smrgand its documentation for any purpose is hereby granted without fee,
7706f2543Smrgprovided that the above copyright notice appear in all copies and that
8706f2543Smrgboth that copyright notice and this permission notice appear in
9706f2543Smrgsupporting documentation.  Davor Matic makes no representations about
10706f2543Smrgthe suitability of this software for any purpose.  It is provided "as
11706f2543Smrgis" without express or implied warranty.
12706f2543Smrg
13706f2543Smrg*/
14706f2543Smrg
15706f2543Smrg#ifndef XNESTGC_H
16706f2543Smrg#define XNESTGC_H
17706f2543Smrg
18706f2543Smrg/* This file uses the GC definition form Xlib.h as XlibGC. */
19706f2543Smrg
20706f2543Smrgtypedef struct {
21706f2543Smrg  XlibGC gc;
22706f2543Smrg  int nClipRects;
23706f2543Smrg} xnestPrivGC;
24706f2543Smrg
25706f2543Smrgextern DevPrivateKeyRec xnestGCPrivateKeyRec;
26706f2543Smrg#define xnestGCPrivateKey (&xnestGCPrivateKeyRec)
27706f2543Smrg
28706f2543Smrg#define xnestGCPriv(pGC) ((xnestPrivGC *) \
29706f2543Smrg    dixLookupPrivate(&(pGC)->devPrivates, xnestGCPrivateKey))
30706f2543Smrg
31706f2543Smrg#define xnestGC(pGC) (xnestGCPriv(pGC)->gc)
32706f2543Smrg
33706f2543SmrgBool xnestCreateGC(GCPtr pGC);
34706f2543Smrgvoid xnestValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable);
35706f2543Smrgvoid xnestChangeGC(GCPtr pGC, unsigned long mask);
36706f2543Smrgvoid xnestCopyGC(GCPtr pGCSrc, unsigned long mask, GCPtr pGCDst);
37706f2543Smrgvoid xnestDestroyGC(GCPtr pGC);
38706f2543Smrgvoid xnestChangeClip(GCPtr pGC, int type, pointer pValue, int nRects);
39706f2543Smrgvoid xnestDestroyClip(GCPtr pGC);
40706f2543Smrgvoid xnestDestroyClipHelper(GCPtr pGC);
41706f2543Smrgvoid xnestCopyClip(GCPtr pGCDst, GCPtr pGCSrc);
42706f2543Smrg
43706f2543Smrg#endif /* XNESTGC_H */
44