Article View: gnu.gcc.bug
Article #2045Re: GCC 1.31 Sun4, Sys4-3.2 & X.V11R3
From: Keith McNeill
Date: Mon, 05 Dec 1988 16:44
Date: Mon, 05 Dec 1988 16:44
3288 lines
35628 bytes
35628 bytes
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of shell archive."
# Contents: miarc.part.i
# Wrapped by mcneill@eplrx7 on Mon Dec 5 11:42:31 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'miarc.part.i' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'miarc.part.i'\"
else
echo shar: Extracting \"'miarc.part.i'\" \(27753 characters\)
sed "s/^X//" >'miarc.part.i' <<'END_OF_FILE'
X# 1 "miarc.c"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../.././X11/X.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef unsigned long XID;
X
Xtypedef XID Window;
Xtypedef XID Drawable;
Xtypedef XID Font;
Xtypedef XID Pixmap;
Xtypedef XID Cursor;
Xtypedef XID Colormap;
Xtypedef XID GContext;
Xtypedef XID KeySym;
X
Xtypedef unsigned long Mask;
X
Xtypedef unsigned long Atom;
X
Xtypedef unsigned long VisualID;
X
Xtypedef unsigned long Time;
X
Xtypedef unsigned char KeyCode;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 311 "../../.././X11/X.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 27 "miarc.c"
X
X# 1 "../../.././X11/Xprotostr.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../.././X11/Xmd.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef long INT32;
Xtypedef short INT16;
Xtypedef char INT8;
X
Xtypedef unsigned long CARD32;
Xtypedef unsigned short CARD16;
Xtypedef unsigned char CARD8;
X
Xtypedef unsigned long BITS32;
Xtypedef unsigned short BITS16;
Xtypedef unsigned char BYTE;
X
Xtypedef unsigned char BOOL;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 28 "../../.././X11/Xprotostr.h"
X
X
X
X
Xtypedef struct _xSegment {
X INT16 x1 , y1 , x2 , y2 ;
X} xSegment;
X
X
X
Xtypedef struct _xPoint {
X INT16 x , y ;
X} xPoint;
X
Xtypedef struct _xRectangle {
X INT16 x , y ;
X CARD16 width , height ;
X} xRectangle;
X
X
X
Xtypedef struct _xArc {
X INT16 x , y ;
X CARD16 width , height ;
X INT16 angle1 , angle2 ;
X} xArc;
X
X
X# 28 "miarc.c"
X
X# 1 "../../include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xextern unsigned long globalSerialNumber;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef unsigned char *pointer;
Xtypedef int Bool;
Xtypedef unsigned long PIXEL;
Xtypedef unsigned long ATOM;
X
X
X
X
X
X
X# 1 "../../include/os.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 117 "../../include/misc.h"
X
X# 29 "../../include/os.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef pointer FID;
Xtypedef struct _FontPathRec *FontPathPtr;
Xtypedef struct _NewClientRec *NewClientPtr;
X
X
X
X
X
X
X
X
X
X
X# 69 "../../include/os.h"
X
X
X
X
X
X
X
X
X
Xchar *alloca();
X
X
X
X
X
X# 92 "../../include/os.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xchar *ReadRequestFromClient();
Xchar *strcat();
Xchar *strncat();
Xchar *strcpy();
Xchar *strncpy();
XBool CloseDownConnection();
XFontPathPtr GetFontPath();
XFontPathPtr ExpandFontNamePattern();
XFID FiOpenForRead();
Xvoid CreateWellKnownSockets();
Xvoid SetDefaultFontPath();
Xvoid FreeFontRecord();
Xvoid SetFontPath();
Xvoid ErrorF();
Xvoid Error();
Xvoid FatalError();
Xvoid ProcessCommandLine();
Xvoid Xfree();
Xvoid FlushAllOutput();
Xvoid FlushIfCriticalOutputPending();
Xunsigned long *Xalloc();
Xunsigned long *Xrealloc();
Xlong GetTimeInMillis();
X
X
X# 58 "../../include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _DDXPoint *DDXPointPtr;
Xtypedef struct _Box *BoxPtr;
X
X
X# 29 "miarc.c"
X
X# 1 "../../include/gcstruct.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/gc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _GCInterest *GCInterestPtr;
Xtypedef struct _GC *GCPtr;
Xextern void ValidateGC();
Xextern int ChangeGC();
Xextern GCPtr CreateGC();
Xextern int CopyGC();
Xextern int FreeGC();
Xextern void SetGCMask();
Xextern GCPtr GetScratchGC();
Xextern void FreeScratchGC();
X
X# 29 "../../include/gcstruct.h"
X
X
X# 1 "../../include/miscstruct.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 117 "../../include/misc.h"
X
X# 28 "../../include/miscstruct.h"
X
X
Xextern unsigned long globalSerialNumber;
Xtypedef struct _DDXPoint {
X short x, y;
X} DDXPointRec;
X
Xtypedef struct _Box {
X short x1, y1, x2, y2;
X} BoxRec;
X
X# 31 "../../include/gcstruct.h"
X
X# 1 "../../include/region.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _Region *RegionPtr;
X
Xextern int SingleRectRegionEqual();
X
X
X
X
X
X
X# 32 "../../include/gcstruct.h"
X
X# 1 "../../include/pixmap.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _DrawInfo *DrawablePtr;
Xtypedef struct _Pixmap *PixmapPtr;
X
X# 33 "../../include/gcstruct.h"
X
X# 1 "../../include/screenint.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _PixmapFormat *PixmapFormatPtr;
Xtypedef struct _Visual *VisualPtr;
Xtypedef struct _Depth *DepthPtr;
Xtypedef struct _Screen *ScreenPtr;
X
X
X# 34 "../../include/gcstruct.h"
X
X# 1 "../../include/dixfont.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _DIXFontProp *DIXFontPropPtr;
Xtypedef struct _Font *FontPtr;
X
X
X
X
Xtypedef enum {Linear8Bit, TwoD8Bit, Linear16Bit, TwoD16Bit} FontEncoding;
Xtypedef struct _FontData *FontDataPtr;
X
Xextern FontPtr OpenFont();
X
X# 35 "../../include/gcstruct.h"
X
X
Xtypedef struct _GCInterest {
X struct _GCInterest *pNextGCInterest;
X struct _GCInterest *pLastGCInterest;
X int length;
X ATOM owner;
X unsigned long ValInterestMask;
X void (* ValidateGC) ();
X unsigned long ChangeInterestMask;
X int (* ChangeGC) ();
X void (* CopyGCSource) ();
X void (* CopyGCDest) ();
X void (* DestroyGC) ();
X pointer extPriv;
X} GCInterestRec;
X
Xtypedef struct _GC{
X ScreenPtr pScreen;
X pointer devPriv;
X pointer devBackingStore;
X int depth;
X unsigned long serialNumber;
X GCInterestPtr pNextGCInterest;
X GCInterestPtr pLastGCInterest;
X int alu;
X unsigned long planemask;
X unsigned long fgPixel, bgPixel;
X int lineWidth;
X int lineStyle;
X int capStyle;
X int joinStyle;
X int fillStyle;
X int fillRule;
X int arcMode;
X PixmapPtr tile;
X PixmapPtr stipple;
X DDXPointRec patOrg;
X FontPtr font;
X int subWindowMode;
X Bool graphicsExposures;
X DDXPointRec clipOrg;
X pointer clientClip;
X int clientClipType;
X int dashOffset;
X int numInDashList;
X unsigned char *dash;
X
X unsigned long stateChanges;
X DDXPointRec lastWinOrg;
X int miTranslate:1;
X
X void (* FillSpans)();
X void (* SetSpans)();
X
X void (* PutImage)();
X RegionPtr (* CopyArea)();
X RegionPtr (* CopyPlane)();
X void (* PolyPoint)();
X void (* Polylines)();
X void (* PolySegment)();
X void (* PolyRectangle)();
X void (* PolyArc)();
X void (* FillPolygon)();
X void (* PolyFillRect)();
X void (* PolyFillArc)();
X int (* PolyText8)();
X int (* PolyText16)();
X void (* ImageText8)();
X void (* ImageText16)();
X void (* ImageGlyphBlt)();
X void (* PolyGlyphBlt)();
X void (* PushPixels)();
X void (* LineHelper)();
X void (* ChangeClip) ();
X void (* DestroyClip) ();
X void (* CopyClip)();
X} GC;
X
X
X# 30 "miarc.c"
X
X# 1 "../../include/scrnintstr.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/screenint.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 33 "../../include/screenint.h"
X
X# 28 "../../include/scrnintstr.h"
X
X# 1 "../../include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 117 "../../include/misc.h"
X
X# 29 "../../include/scrnintstr.h"
X
X# 1 "../../include/region.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 41 "../../include/region.h"
X
X
X
X
X
X# 30 "../../include/scrnintstr.h"
X
X# 1 "../../include/pixmap.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 45 "../../include/pixmap.h"
X
X# 31 "../../include/scrnintstr.h"
X
X# 1 "../../include/gc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 65 "../../include/gc.h"
X
X# 32 "../../include/scrnintstr.h"
X
X# 1 "../../include/colormap.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 55 "../../include/colormap.h"
X
X
X
X
X
X
X
X
X
Xtypedef unsigned long Pixel;
Xtypedef struct _CMEntry *EntryPtr;
Xtypedef struct _ColormapRec *ColormapPtr;
X
Xextern int CreateColormap();
Xextern Pixel FindColor();
Xextern int FreeColormap();
Xextern int TellNoMap();
Xextern int TellLostMap();
Xextern int TellGainedMap();
Xextern int IsMapInstalled();
Xextern void UninstallColormap();
X
X
X# 33 "../../include/scrnintstr.h"
X
X
X
Xtypedef struct _PixmapFormat {
X unsigned char depth;
X unsigned char bitsPerPixel;
X unsigned char scanlinePad;
X } PixmapFormatRec;
X
Xtypedef struct _Visual {
X unsigned long vid;
X short screen;
X short class;
X unsigned long redMask, greenMask, blueMask;
X int offsetRed, offsetGreen, offsetBlue;
X short bitsPerRGBValue;
X short ColormapEntries;
X short nplanes;
X
X
X } VisualRec;
X
Xtypedef struct _Depth {
X int depth;
X int numVids;
X unsigned long *vids;
X } DepthRec;
X
Xtypedef struct _Screen {
X int myNum;
X ATOM id;
X short width, height;
X short mmWidth, mmHeight;
X short numDepths;
X DepthPtr allowedDepths;
X short rootDepth;
X unsigned long rootVisual;
X unsigned long defColormap;
X short minInstalledCmaps, maxInstalledCmaps;
X char backingStoreSupport, saveUnderSupport;
X unsigned long whitePixel, blackPixel;
X unsigned long rgf;
X GCPtr GCperDepth[8+1];
X
X
X
X
X
X
X
X PixmapPtr PixmapPerDepth[1];
X pointer devPrivate;
X short numVisuals;
X VisualPtr visuals;
X
X
X
X Bool (* CloseScreen)();
X void (* QueryBestSize)();
X Bool (* SaveScreen)();
X void (* GetImage)();
X
X unsigned int *(* GetSpans)();
X
X void (* PointerNonInterestBox)();
X
X
X
X Bool (* CreateWindow)();
X Bool (* DestroyWindow)();
X Bool (* PositionWindow)();
X Bool (* ChangeWindowAttributes)();
X Bool (* RealizeWindow)();
X Bool (* UnrealizeWindow)();
X int (* ValidateTree)();
X void (* WindowExposures)();
X
X
X
X PixmapPtr (* CreatePixmap)();
X Bool (* DestroyPixmap)();
X
X
X
X Bool (* RealizeFont)();
X Bool (* UnrealizeFont)();
X
X
X void (* ConstrainCursor)();
X void (* CursorLimits)();
X Bool (* DisplayCursor)();
X Bool (* RealizeCursor)();
X Bool (* UnrealizeCursor)();
X void (* RecolorCursor)();
X Bool (* SetCursorPosition)();
X
X
X
X Bool (* CreateGC)();
X
X
X
X void (* CreateColormap)();
X void (* DestroyColormap)();
X void (* InstallColormap)();
X void (* UninstallColormap)();
X int (* ListInstalledColormaps) ();
X void (* StoreColors)();
X void (* ResolveColor)();
X
X
X
X RegionPtr (* RegionCreate)();
X void (* RegionCopy)();
X void (* RegionDestroy)();
X int (* Intersect)();
X int (* Union)();
X int (* Subtract)();
X int (* Inverse)();
X void (* RegionReset)();
X void (* TranslateRegion)();
X int (* RectIn)();
X Bool (* PointInRegion)();
X Bool (* RegionNotEmpty)();
X void (* RegionEmpty)();
X BoxPtr (*RegionExtents)();
X void (* SendGraphicsExpose)();
X
X
X void (* BlockHandler)();
X void (* WakeupHandler)();
X pointer blockData;
X pointer wakeupData;
X} ScreenRec;
X
Xtypedef struct _ScreenInfo {
X int imageByteOrder;
X int bitmapScanlineUnit;
X int bitmapScanlinePad;
X int bitmapBitOrder;
X int numPixmapFormats;
X PixmapFormatRec
X formats[8];
X int arraySize;
X int numScreens;
X ScreenPtr screen;
X} ScreenInfo;
X
Xextern ScreenInfo screenInfo;
X
X# 31 "miarc.c"
X
X# 1 "../../include/pixmapstr.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/pixmap.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 45 "../../include/pixmap.h"
X
X# 28 "../../include/pixmapstr.h"
X
X# 1 "../../include/screenint.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 33 "../../include/screenint.h"
X
X# 29 "../../include/pixmapstr.h"
X
X# 1 "../../include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 117 "../../include/misc.h"
X
X# 30 "../../include/pixmapstr.h"
X
X
X
Xtypedef struct _DrawInfo {
X short type;
X ScreenPtr pScreen;
X int depth;
X unsigned long serialNumber;
X} DrawableRec;
X
X
X
X
Xtypedef struct _Pixmap {
X DrawableRec drawable;
X int width, height;
X int refcnt;
X int devKind;
X pointer devPrivate;
X } PixmapRec;
X
X# 32 "miarc.c"
X
X# 1 "../../include/windowstr.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/window.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _BackingStore *BackingStorePtr;
Xtypedef struct _Window *WindowPtr;
X
X
X# 29 "../../include/windowstr.h"
X
X# 1 "../../include/pixmapstr.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 50 "../../include/pixmapstr.h"
X
X# 30 "../../include/windowstr.h"
X
X# 1 "../../include/region.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 41 "../../include/region.h"
X
X
X
X
X
X# 31 "../../include/windowstr.h"
X
X# 1 "../../include/cursor.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _Cursor *CursorPtr;
Xtypedef struct _CursorMetric *CursorMetricPtr;
X
Xextern CursorPtr rootCursor;
X
X# 32 "../../include/windowstr.h"
X
X# 1 "../../include/property.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _Property *PropertyPtr;
X
X# 33 "../../include/windowstr.h"
X
X# 1 "../../include/resource.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 117 "../../include/misc.h"
X
X# 27 "../../include/resource.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xunsigned short CreateNewResourceType();
Xshort CreateNewResourceClass();
Xunsigned long FakeClientID();
Xvoid AddResource();
Xvoid FreeResource();
Xvoid FreeClientResources();
Xpointer LookupID();
X
X
X# 34 "../../include/windowstr.h"
X
X# 1 "../../include/dix.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/gc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 65 "../../include/gc.h"
X
X# 29 "../../include/dix.h"
X
X# 1 "../../include/window.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 53 "../../include/window.h"
X
X# 30 "../../include/dix.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _TimeStamp *TimeStampPtr;
Xtypedef struct _Client *ClientPtr;
Xextern ClientPtr requestingClient;
Xextern ClientPtr *clients;
Xextern ClientPtr serverClient;
Xextern int currentMaxClients;
X
Xextern int ProcAllowEvents();
Xextern int ProcBell();
Xextern int ProcChangeActivePointerGrab();
Xextern int ProcChangeKeyboardControl();
Xextern int ProcChangePointerControl();
Xextern int ProcGetKeyboardMapping();
Xextern int ProcGetPointerMapping();
Xextern int ProcGetInputFocus();
Xextern int ProcGetKeyboardControl();
Xextern int ProcGetMotionEvents();
Xextern int ProcGetPointerControl();
Xextern int ProcGrabButton();
Xextern int ProcGrabKey();
Xextern int ProcGrabKeyboard();
Xextern int ProcGrabPointer();
Xextern int ProcQueryKeymap();
Xextern int ProcQueryPointer();
Xextern int ProcSetInputFocus();
Xextern int ProcSetKeyboardMapping();
Xextern int ProcSetPointerMapping();
Xextern int ProcSendEvent();
Xextern int ProcUngrabButton();
Xextern int ProcUngrabKey();
Xextern int ProcUngrabKeyboard();
Xextern int ProcUngrabPointer();
Xextern int ProcWarpPointer();
Xextern int ProcRecolorCursor();
X
Xextern WindowPtr LookupWindow();
Xextern pointer LookupDrawable();
X
Xextern void NoopDDA();
X
X
X# 35 "../../include/windowstr.h"
X
X# 1 "../../include/miscstruct.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 38 "../../include/miscstruct.h"
X
X# 36 "../../include/windowstr.h"
X
X# 1 "../../.././X11/Xprotostr.h"
X
X# 55 "../../.././X11/Xprotostr.h"
X
X# 37 "../../include/windowstr.h"
X
X
X
X
X
Xtypedef struct _BackingStore {
X RegionPtr obscured;
X DDXPointRec oldAbsCorner;
X void (* SaveDoomedAreas)();
X RegionPtr (* RestoreAreas)();
X void (* ExposeCopy)();
X void (* TranslateBackingStore)();
X
X void (* ClearToBackground)();
X void (* DrawGuarantee)();
X} BackingStoreRec;
X
X
X
X
X
X
Xtypedef struct _Window {
X
X DrawableRec drawable;
X
X VisualID visual;
X
X struct _Window *parent;
X struct _Window *nextSib;
X struct _Window *prevSib;
X struct _Window *firstChild;
X struct _Window *lastChild;
X
X CursorPtr cursor;
X
X ClientPtr client;
X Window wid;
X
X RegionPtr clipList;
X RegionPtr winSize;
X
X RegionPtr borderClip;
X RegionPtr borderSize;
X RegionPtr exposed;
X
X
X
X
X RegionPtr borderExposed;
X xRectangle clientWinSize;
X
X DDXPointRec absCorner;
X DDXPointRec oldAbsCorner;
X int class;
X Mask eventMask;
X Mask dontPropagateMask;
X Mask allEventMasks;
X Mask deliverableEvents;
X pointer otherClients;
X pointer passiveGrabs;
X
X PropertyPtr userProps;
X
X XID nolongerused;
X PixmapPtr backgroundTile;
X unsigned long backgroundPixel;
X PixmapPtr borderTile;
X unsigned long borderPixel;
X int borderWidth;
X void (* PaintWindowBackground)();
X void (* PaintWindowBorder)();
X void (* CopyWindow)();
X void (* ClearToBackground)();
X
X unsigned long backingBitPlanes;
X unsigned long backingPixel;
X int backingStore;
X BackingStorePtr backStorage;
X
X char bitGravity;
X char winGravity;
X Colormap colormap;
X
X
X
X Bool saveUnder:1;
X unsigned visibility:2;
X unsigned mapped:1;
X unsigned realized:1;
X unsigned viewable:1;
X unsigned overrideRedirect:1;
X unsigned marked:1;
X
X pointer devBackingStore;
X pointer devPrivate;
X} WindowRec;
X
Xextern int DeleteWindow();
Xextern int ChangeWindowAttributes();
Xextern int WalkTree();
Xextern CreateRootWindow();
Xextern WindowPtr CreateWindow();
Xextern int DeleteWindow();
Xextern int DestroySubwindows();
Xextern int ChangeWindowAttributes();
Xextern int GetWindowAttributes();
Xextern int ConfigureWindow();
Xextern int ReparentWindow();
Xextern int MapWindow();
Xextern int MapSubwindow();
Xextern int UnmapWindow();
Xextern int UnmapSubwindow();
Xextern RegionPtr NotClippedByChildren();
X
X
X
X# 33 "miarc.c"
X
X# 1 "mifpoly.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _SppPoint {
X double x, y;
X} SppPointRec, *SppPointPtr;
X
Xtypedef struct _SppArc {
X double x, y, width, height;
X double angle1, angle2;
X} SppArcRec, *SppArcPtr;
X
Xextern SppPointRec miExtendSegment();
X# 34 "miarc.c"
X
X# 1 "../../include/mi.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../../include/region.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 41 "../../include/region.h"
X
X
X
X
X
X# 27 "../../include/mi.h"
X
X
Xtypedef struct _miDash *miDashPtr;
X
X
X
Xextern void miPutImage();
Xextern void miGetImage();
Xextern RegionPtr miCopyArea();
Xextern RegionPtr miCopyPlane();
Xextern void miClearToBackground();
Xextern int miValidateTree();
Xextern void miPolySegment();
Xextern void miPolyRectangle();
Xextern void miFillPolygon();
Xextern int miPolyText8();
Xextern int miPolyText16();
Xextern void miImageText8();
Xextern void miImageText16();
Xextern int miFillConvexPoly();
Xextern int miFillGeneralPoly();
Xextern void miNotMiter();
Xextern void miMiter();
Xextern void miWideLine();
Xextern void miWideDash();
Xextern void miPolyArc();
Xextern void miPolyFillRect();
Xextern void miPolyFillArc();
Xextern void miPolyGlyphBlt();
Xextern void miImageGlyphBlt();
Xextern void miZeroLine();
Xextern void miPaintWindow();
Xextern miDashPtr miDashLine();
Xextern void miPushPixels();
Xextern void miGetPts(), miRoundCap(), miOneSegWide();
Xextern int miPtToAngle();
Xextern RegionPtr miRegionCreate();
Xextern void miRegionCopy();
Xextern void miRegionDestroy();
Xextern int miIntersect();
Xextern int miInverse();
Xextern int miUnion();
Xextern int miSubtract();
Xextern void miRegionReset();
Xextern void miTranslateRegion();
Xextern int miRectIn();
Xextern RegionPtr miRectsToRegion();
Xextern Bool miPointInRegion();
Xextern Bool miRegionNotEmpty();
Xextern void miRegionEmpty();
Xextern int miNumberRectsInRegion();
Xextern void miWindowExposures();
Xextern BoxPtr miRegionExtents();
Xextern void miSendGraphicsExpose();
Xextern RegionPtr miHandleExposures();
X
X
X# 35 "miarc.c"
X
X
Xextern double sqrt(), cos(), sin(), atan();
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _miArcJoin {
X int arcIndex0, arcIndex1;
X int phase0, phase1;
X int end0, end1;
X} miArcJoinRec, *miArcJoinPtr;
X
Xtypedef struct _miArcCap {
X int arcIndex;
X int end;
X} miArcCapRec, *miArcCapPtr;
X
Xtypedef struct _miArcFace {
X SppPointRec clock;
X SppPointRec center;
X SppPointRec counterClock;
X} miArcFaceRec, *miArcFacePtr;
X
X
X
X
X
X
Xtypedef struct _miArcData {
X xArc arc;
X int render;
X int join;
X int cap;
X miArcFaceRec bounds[2];
X double x0, y0, x1, y1;
X} miArcDataRec, *miArcDataPtr;
X
Xtypedef struct _miPolyArc {
X int narcs;
X miArcDataPtr arcs;
X int ncaps;
X miArcCapPtr caps;
X int njoins;
X miArcJoinPtr joins;
X} miPolyArcRec, *miPolyArcPtr;
X
Xstatic miPolyArcPtr miComputeArcs ();
X
X
X
X
X
X
X
X
X
Xstatic CARD32 gcvals[6];
X
X
X
X
X
Xstruct arcData {
X double x0, y0, x1, y1;
X int selfJoin;
X};
X
X
Xstatic miPolyArcPtr
XmiComputeArcs (parcs, narcs, isDashed, isDoubleDash, pDash, nDashes, dashOffset)
X xArc *parcs;
X int narcs;
X int isDashed, isDoubleDash;
X unsigned char *pDash;
X int nDashes, dashOffset;
X{
X miPolyArcPtr arcs;
X int start, i, j, k, nexti, nextk;
X int joinSize[2];
X int capSize[2];
X int arcSize[2];
X int angle2;
X double x0, y0, x1, y1, a0, a1, xc, yc;
X struct arcData *data;
X miArcDataPtr arc;
X xArc xarc;
X int iphase, prevphase, joinphase;
X int arcsJoin;
X
X int iDash, dashRemaining;
X int iDashStart, dashRemainingStart, iphaseStart;
X int startAngle, spanAngle, endAngle, backwards;
X int prevDashAngle, dashAngle;
X static int computeAngleFromPath ();
X
X arcs = (miPolyArcPtr) Xalloc (sizeof (*arcs) * (isDoubleDash ? 2 : 1));
X data = (struct arcData *) alloca((int)(narcs * sizeof (struct arcData)));
X
X for (i = 0; i < narcs; i++) {
X a0 = (((double) (parcs[i].angle1)) / 64.0 * 3.14159265358979323846/180.0);
X angle2 = parcs[i].angle2;
X if (angle2 > (64 * 360))
X angle2 = (64 * 360);
X else if (angle2 < -(64 * 360))
X angle2 = -(64 * 360);
X data[i].selfJoin = angle2 == (64 * 360) || angle2 == -(64 * 360);
X a1 = (((double) (parcs[i].angle1 + angle2)) / 64.0 * 3.14159265358979323846/180.0);
X data[i].x0 = parcs[i].x + (double) parcs[i].width / 2 * (1 + cos (a0));
X data[i].y0 = parcs[i].y + (double) parcs[i].height / 2 * (1 - sin (a0));
X data[i].x1 = parcs[i].x + (double) parcs[i].width / 2 * (1 + cos (a1));
X data[i].y1 = parcs[i].y + (double) parcs[i].height / 2 * (1 - sin (a1));
X }
X
X for (iphase = 0; iphase < (isDoubleDash ? 2 : 1); iphase++) {
X arcs[iphase].njoins = 0;
X arcs[iphase].joins = 0;
X joinSize[iphase] = 0;
X
X arcs[iphase].ncaps = 0;
X arcs[iphase].caps = 0;
X capSize[iphase] = 0;
X
X arcs[iphase].narcs = 0;
X arcs[iphase].arcs = 0;
X arcSize[iphase] = 0;
X }
X
X iphase = 0;
X if (isDashed) {
X iDash = 0;
X dashRemaining = pDash[0];
X while (dashOffset > 0) {
X if (dashOffset >= dashRemaining) {
X dashOffset -= dashRemaining;
X iphase = iphase ? 0 : 1;
X iDash++;
X dashRemaining = pDash[iDash];
X } else {
X dashRemaining -= dashOffset;
X dashOffset = 0;
X }
X }
X iDashStart = iDash;
X dashRemainingStart = dashRemaining;
X }
X iphaseStart = iphase;
X
X for (i = narcs - 1; i >= 0; i--) {
X j = i + 1;
X if (j == narcs)
X j = 0;
X if (!data[i].selfJoin &&
X (((((data[i].x1) - ( data[j].x0)) > 0.0 ? ((data[i].x1) - ( data[j].x0)) : -((data[i].x1) - ( data[j].x0))) > 0.000001) ||
X ((((data[i].y1) - ( data[j].y0)) > 0.0 ? ((data[i].y1) - ( data[j].y0)) : -((data[i].y1) - ( data[j].y0))) > 0.000001)))
X {
X if (iphase == 0 || isDoubleDash)
X addCap (&arcs[iphase].caps, &arcs[iphase].ncaps,
X &capSize[iphase], 0, 0);
X break;
X }
X }
X start = i + 1;
X if (start == narcs)
X start = 0;
X i = start;
X for (;;) {
X j = i + 1;
X if (j == narcs)
X j = 0;
X nexti = i+1;
X if (nexti == narcs)
X nexti = 0;
X if (isDashed) {
X startAngle = parcs[i].angle1;
X spanAngle = parcs[i].angle2;
X if (spanAngle > (64 * 360))
X spanAngle = (64 * 360);
X else if (spanAngle < -(64 * 360))
X spanAngle = -(64 * 360);
X if (startAngle < 0)
X startAngle = (64 * 360) - (-startAngle) % (64 * 360);
X if (startAngle >= (64 * 360))
X startAngle = startAngle % (64 * 360);
X endAngle = startAngle + spanAngle;
X backwards = spanAngle < 0;
X prevDashAngle = startAngle;
X while (prevDashAngle != endAngle) {
X dashAngle = computeAngleFromPath
X (prevDashAngle, endAngle,
X parcs[i].width, parcs[i].height,
X &dashRemaining, backwards);
X if (iphase == 0 || isDoubleDash) {
X xarc = parcs[i];
X xarc.angle1 = prevDashAngle;
X if (backwards) {
X spanAngle = dashAngle - prevDashAngle;
X if (dashAngle > prevDashAngle)
X spanAngle = - 360 * 64 + spanAngle;
X } else {
X spanAngle = dashAngle - prevDashAngle;
X if (dashAngle < prevDashAngle)
X spanAngle = 360 * 64 + spanAngle;
X }
X xarc.angle2 = spanAngle;
X arc = addArc (&arcs[iphase].arcs, &arcs[iphase].narcs,
X &arcSize[iphase], xarc);
X if (!isDoubleDash) {
X if (prevDashAngle != startAngle) {
X addCap (&arcs[iphase].caps,
X &arcs[iphase].ncaps,
X &capSize[iphase], 0,
X arc - arcs[iphase].arcs);
X
X }
X if (dashAngle != endAngle) {
X addCap (&arcs[iphase].caps,
X &arcs[iphase].ncaps,
X &capSize[iphase], 1,
X arc - arcs[iphase].arcs);
X }
X }
X arc->cap = arcs[iphase].ncaps;
X arc->join = arcs[iphase].njoins;
X arc->render = 0;
X }
X prevphase = iphase;
X if (dashRemaining <= 0) {
X ++iDash;
X if (iDash == nDashes)
X iDash = 0;
X iphase = iphase ? 0:1;
X dashRemaining = pDash[iDash];
X }
X prevDashAngle = dashAngle;
X }
X } else {
X arc = addArc (&arcs[iphase].arcs, &arcs[iphase].narcs,
X &arcSize[iphase], parcs[i]);
X arc->join = arcs[iphase].njoins;
X arc->cap = arcs[iphase].ncaps;
X prevphase = iphase;
X }
X if (prevphase == 0 || isDoubleDash)
X k = arcs[prevphase].narcs - 1;
X if (iphase == 0 || isDoubleDash)
X nextk = arcs[iphase].narcs;
X if (nexti == start) {
X nextk = 0;
X if (isDashed) {
X iDash = iDashStart;
X iphase = iphaseStart;
X dashRemaining = dashRemainingStart;
X }
X }
X arcsJoin = narcs > 1 &&
X ((((data[i].x1) - ( data[j].x0)) > 0.0 ? ((data[i].x1) - ( data[j].x0)) : -((data[i].x1) - ( data[j].x0))) <= 0.000001) &&
X ((((data[i].y1) - ( data[j].y0)) > 0.0 ? ((data[i].y1) - ( data[j].y0)) : -((data[i].y1) - ( data[j].y0))) <= 0.000001);
X if (arcsJoin)
X arc->render = 0;
X else
X arc->render = 1;
X if (arcsJoin &&
X (prevphase == 0 || isDoubleDash) &&
X (iphase == 0 || isDoubleDash))
X {
X joinphase = iphase;
X if (isDoubleDash) {
X if (nexti == start)
X joinphase = iphaseStart;
X
X
X
X
X
X
X
X if (joinphase != prevphase)
X joinphase = 0;
X }
X if (joinphase == 0 || isDoubleDash) {
X addJoin (&arcs[joinphase].joins,
X &arcs[joinphase].njoins,
X &joinSize[joinphase],
X 1, k, prevphase,
X 0, nextk, iphase);
X arc->join = arcs[prevphase].njoins;
X }
X } else {
X if ((prevphase == 0 || isDoubleDash) &&
X !data[i].selfJoin)
X {
X addCap (&arcs[prevphase].caps, &arcs[prevphase].ncaps,
X &capSize[prevphase], 1, k);
X arc->cap = arcs[prevphase].ncaps;
X }
X if (isDashed && !arcsJoin) {
X iDash = iDashStart;
X iphase = iphaseStart;
X dashRemaining = dashRemainingStart;
X }
X nextk = arcs[iphase].narcs;
X if (nexti == start) {
X nextk = 0;
X iDash = iDashStart;
X iphase = iphaseStart;
X dashRemaining = dashRemainingStart;
X }
X
X
X
X
X
X
X
X
X
X if ((iphase == 0 || isDoubleDash) &&
X (nexti != start || arcsJoin && isDashed) &&
X !data[j].selfJoin)
X addCap (&arcs[iphase].caps, &arcs[iphase].ncaps,
X &capSize[iphase], 0, nextk);
X }
X i = nexti;
X if (i == start)
X break;
X }
X
X
X
X for (iphase = 0; iphase < (isDoubleDash ? 2 : 1); iphase++)
X if (arcs[iphase].narcs > 0) {
X arcs[iphase].arcs[arcs[iphase].narcs-1].render = 1;
X arcs[iphase].arcs[arcs[iphase].narcs-1].join =
X arcs[iphase].njoins;
X arcs[iphase].arcs[arcs[iphase].narcs-1].cap =
X arcs[iphase].ncaps;
X }
X return arcs;
X}
X
END_OF_FILE
if test 27753 -ne `wc -c <'miarc.part.i'`; then
echo shar: \"'miarc.part.i'\" unpacked with wrong size!
fi
# end of 'miarc.part.i'
fi
echo shar: End of shell archive.
exit 0
Technical Details
Message-ID:
<8812051644.AA08474@chip_and_dips.com>Path:
arc1-ca.pugleaf.net!utzoo!telly!ddsw1!mcdchg!rutgers!tut.cis.ohio-state.edu!UUNET.UU.NET!eplrx7!mcneillShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!telly!ddsw1!mcdchg!rutgers!tut.cis.ohio-state.edu!UUNET.UU.NET!eplrx7!mcneill From: eplrx7!mcneill@UUNET.UU.NET (Keith McNeill) Newsgroups: gnu.gcc.bug Subject: Re: GCC 1.31 Sun4, Sys4-3.2 & X.V11R3 Message-ID: <8812051644.AA08474@chip_and_dips.com> Date: 5 Dec 88 16:44:52 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 3288