ocssw  1.0
/disk01/web/ocssw/build/src/l2gen/gc.h (r8099/r2592)
Go to the documentation of this file.
00001 
00002 /***********************************************************
00003 Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
00004 and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
00005 
00006                         All Rights Reserved
00007 
00008 Permission to use, copy, modify, and distribute this software and its 
00009 documentation for any purpose and without fee is hereby granted, 
00010 provided that the above copyright notice appear in all copies and that
00011 both that copyright notice and this permission notice appear in 
00012 supporting documentation, and that the names of Digital or MIT not be
00013 used in advertising or publicity pertaining to distribution of the
00014 software without specific, written prior permission.  
00015 
00016 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
00017 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
00018 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
00019 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
00020 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
00021 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
00022 SOFTWARE.
00023 
00024 ******************************************************************/
00025 /* $XConsortium: gc.h,v 1.51 91/07/09 15:58:13 rws Exp $ */
00026 
00027 #ifndef GC_H
00028 #define GC_H 
00029 
00030 /* clientClipType field in GC */
00031 #define CT_NONE         0
00032 #define CT_PIXMAP       1
00033 #define CT_REGION       2
00034 #define CT_UNSORTED     6
00035 #define CT_YSORTED      10
00036 #define CT_YXSORTED     14
00037 #define CT_YXBANDED     18
00038 
00039 #define GCQREASON_VALIDATE  1
00040 #define GCQREASON_CHANGE    2
00041 #define GCQREASON_COPY_SRC  3
00042 #define GCQREASON_COPY_DST  4
00043 #define GCQREASON_DESTROY   5
00044 
00045 #define GC_CHANGE_SERIAL_BIT        (((uint32_t)1)<<31)
00046 #define GC_CALL_VALIDATE_BIT        (1L<<30)
00047 #define GCExtensionInterest   (1L<<29)
00048 
00049 #define DRAWABLE_SERIAL_BITS        (~(GC_CHANGE_SERIAL_BIT))
00050 
00051 #define MAX_SERIAL_NUM     (1L<<28)
00052 #define NEXT_SERIAL_NUMBER ((++globalSerialNumber) > MAX_SERIAL_NUM ? \
00053         (globalSerialNumber  = 1): globalSerialNumber)
00054 
00055 typedef struct _GCInterest *GCInterestPtr;
00056 typedef struct _GC    *GCPtr;
00057 extern void  ValidateGC();
00058 extern int ChangeGC();
00059 extern GCPtr CreateGC();
00060 extern int CopyGC();
00061 extern int FreeGC();
00062 extern void SetGCMask();
00063 extern GCPtr GetScratchGC();
00064 extern void  FreeScratchGC();
00065 #endif /* GC_H */