|
|
1.1 ! root 1: /* $Header: gcstruct.h,v 1.1 87/09/11 07:49:45 toddb Exp $ */ ! 2: /*********************************************************** ! 3: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, ! 4: and the Massachusetts Institute of Technology, Cambridge, Massachusetts. ! 5: ! 6: All Rights Reserved ! 7: ! 8: Permission to use, copy, modify, and distribute this software and its ! 9: documentation for any purpose and without fee is hereby granted, ! 10: provided that the above copyright notice appear in all copies and that ! 11: both that copyright notice and this permission notice appear in ! 12: supporting documentation, and that the names of Digital or MIT not be ! 13: used in advertising or publicity pertaining to distribution of the ! 14: software without specific, written prior permission. ! 15: ! 16: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ! 17: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ! 18: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ! 19: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, ! 20: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ! 21: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ! 22: SOFTWARE. ! 23: ! 24: ******************************************************************/ ! 25: ! 26: #ifndef GCSTRUCT_H ! 27: #define GCSTRUCT_H ! 28: ! 29: #include "gc.h" ! 30: ! 31: #include "miscstruct.h" ! 32: #include "region.h" ! 33: #include "pixmap.h" ! 34: #include "screenint.h" ! 35: #include "dixfont.h" ! 36: ! 37: typedef struct _GCInterest { ! 38: struct _GCInterest *pNextGCInterest; ! 39: struct _GCInterest *pLastGCInterest; ! 40: int length; ! 41: ATOM owner; /* extension id of owning extension */ ! 42: unsigned long ValInterestMask; ! 43: void (* ValidateGC) (); ! 44: unsigned long ChangeInterestMask; ! 45: int (* ChangeGC) (); ! 46: void (* CopyGCSource) (); ! 47: void (* CopyGCDest) (); ! 48: void (* DestroyGC) (); ! 49: pointer extPriv; /* pointer extension private data */ ! 50: } GCInterestRec; ! 51: ! 52: typedef struct _GC{ ! 53: ScreenPtr pScreen; ! 54: pointer devPriv; /* private to the device */ ! 55: int depth; ! 56: unsigned long serialNumber; ! 57: GCInterestPtr pNextGCInterest; ! 58: GCInterestPtr pLastGCInterest; ! 59: int alu; ! 60: unsigned long planemask; ! 61: unsigned long fgPixel, bgPixel; ! 62: int lineWidth; ! 63: int lineStyle; ! 64: int capStyle; ! 65: int joinStyle; ! 66: int fillStyle; ! 67: int fillRule; ! 68: int arcMode; ! 69: PixmapPtr tile; ! 70: PixmapPtr stipple; ! 71: DDXPointRec patOrg; /* origin for (tile, stipple) */ ! 72: FontPtr font; ! 73: int subWindowMode; ! 74: Bool graphicsExposures; ! 75: DDXPointRec clipOrg; ! 76: pointer clientClip; ! 77: int clientClipType; /* pixmap, region, or none */ ! 78: int dashOffset; ! 79: int numInDashList; /* num elements in dash linst */ ! 80: unsigned char *dash; /* dash pattern */ ! 81: ! 82: unsigned long stateChanges; /* masked with GC_* */ ! 83: DDXPointRec lastWinOrg; /* origin of last window */ ! 84: int miTranslate:1; /* should mi things translate? */ ! 85: ! 86: void (* FillSpans)(); ! 87: void (* SetSpans)(); ! 88: ! 89: void (* PutImage)(); ! 90: void (* CopyArea)(); ! 91: void (* CopyPlane)(); ! 92: void (* PolyPoint)(); ! 93: void (* Polylines)(); ! 94: void (* PolySegment)(); ! 95: void (* PolyRectangle)(); ! 96: void (* PolyArc)(); ! 97: void (* FillPolygon)(); ! 98: void (* PolyFillRect)(); ! 99: void (* PolyFillArc)(); ! 100: int (* PolyText8)(); ! 101: int (* PolyText16)(); ! 102: void (* ImageText8)(); ! 103: void (* ImageText16)(); ! 104: void (* ImageGlyphBlt)(); ! 105: void (* PolyGlyphBlt)(); ! 106: void (* PushPixels)(); ! 107: void (* LineHelper)(); ! 108: void (* ChangeClip) (); ! 109: void (* DestroyClip) (); ! 110: void (* CopyClip)(); ! 111: } GC; ! 112: ! 113: extern GC *CreateGC(); ! 114: extern GC BltGCs[]; ! 115: extern void FreeGC(); ! 116: ! 117: #endif /* GCSTRUCT_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.