Path: 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.AA08479@chip_and_dips.com> Date: 5 Dec 88 16:44:58 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 3264 #! /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 'milines.part.i' <<'END_OF_FILE' X# 1 "milines.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 X X X X X X X X# 1 "/usr/include/stdio.h" X X X X X Xextern struct _iobuf { X int _cnt; X unsigned char *_ptr; X unsigned char *_base; X int _bufsiz; X short _flag; X char _file; X} _iob[]; X X X X X X X X X 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 struct _iobuf *fopen(); Xextern struct _iobuf *fdopen(); Xextern struct _iobuf *freopen(); Xextern struct _iobuf *popen(); Xextern struct _iobuf *tmpfile(); Xextern long ftell(); Xextern char *fgets(); Xextern char *gets(); X X X Xextern char *ctermid(); Xextern char *cuserid(); Xextern char *tempnam(); Xextern char *tmpnam(); X X X X X X X# 35 "milines.c" X Xextern double hypot(); 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# 37 "milines.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 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# 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 X X Xtypedef struct _PixmapFormat *PixmapFormatPtr; Xtypedef struct _Visual *VisualPtr; Xtypedef struct _Depth *DepthPtr; Xtypedef struct _Screen *ScreenPtr; X 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 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# 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# 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 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# 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 X X X 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/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 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# 36 "../../include/windowstr.h" 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# 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# 38 "milines.c" X X# 1 "../../.././X11/Xprotostr.h" X X# 55 "../../.././X11/Xprotostr.h" X X# 39 "milines.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# 65 "../../include/gc.h" 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# 38 "../../include/miscstruct.h" 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# 41 "../../include/region.h" 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# 45 "../../include/pixmap.h" 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# 33 "../../include/screenint.h" 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# 40 "milines.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# 41 "milines.c" 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# 42 "milines.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# 50 "../../include/pixmapstr.h" X X# 43 "milines.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# 44 "milines.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# 45 "milines.c" X X X X X X X X X X Xstatic int gcvals[] = { 0x3 , 1, 0, 0, 0, 0}; X Xstatic SppPointRec IntersectLines(); Xstatic int PtToAngle(); X X X Xvoid XmiMiter (pDraw, pGC, caps, npt, pPts, xOrg, yOrg) X DrawablePtr pDraw; X GCPtr pGC; X int caps; X int npt; X SppPointPtr pPts; X int xOrg, yOrg; X{ X int width = (pGC->lineWidth ? pGC->lineWidth : 1); X SppPointRec PolyPoints[4], FirstEdge[3], Wedge[4]; X SppPointRec p1, p2, p3, p4, p5, p6, p7, p8; X int edges_match, i, X capStyle = pGC->capStyle; X X X X X if(npt <= 2) X { X miOneSegWide(pDraw, pGC, npt, pPts, caps, xOrg, yOrg); X return; X } X miGetPts(pPts[0], pPts[1], &p1, &p2, &p3, &p4, width); X X X X X if ((((((pPts[0].x) - ( pPts[npt-1].x)) > 0.0 ? ((pPts[0].x) - ( pPts[npt-1].x)) : -((pPts[0].x) - ( pPts[npt-1].x))) <= 0.000001) && ((((pPts[0].y) - ( pPts[npt-1].y)) > 0.0 ? ((pPts[0].y) - ( pPts[npt-1].y)) : -((pPts[0].y) - ( pPts[npt-1].y))) < = 0.000001))) X { X X X X edges_match = 1; X miGetPts(pPts[npt-2], pPts[npt-1], &p5, &p6, &p7, &p8, width); X X PolyPoints[2] = IntersectLines(p3, p4, p7, p8); X PolyPoints[3] = IntersectLines(p6, p5, p1, p2); X X if ((((PolyPoints[2]).x-( PolyPoints[3]).x)*((PolyPoints[2]).x-( PolyPoints[3]).x)+((PolyPoints[2]).y-( PolyPoints[3]).y)*((PolyPoints[2]).y-( PolyPoints[3]).y)) > X 108.856472512142 * width * width) X { X if ((((p5).x-( pPts[0]).x)*((p5).x-( pPts[0]).x)+((p5).y-( pPts[0]).y)*((p5).y-( pPts[0]).y)) - (((PolyPoints[3]).x-( pPts[0]).x)*((PolyPoints[3]).x-( pPts[0]).x)+((PolyPoints[3]).y-( pPts[0]).y)*((PolyPoints[3]).y-( pPts[0]).y)) X < 0.000001) X { X FirstEdge[2] = pPts[0]; X if ((((( pPts[0]).x - ( pPts[npt-2]).x) * (( pPts[1] ).y - ( pPts[0]).y) - (( pPts[1] ).x - ( pPts[0]).x) * (( pPts[0]).y - ( pPts[npt-2]).y)) > 0)) X { X FirstEdge[0] = p4; X FirstEdge[1] = p7; X miFillSppPoly(pDraw, pGC, 3, FirstEdge, -xOrg, -yOrg, 0.0, 0.0); X FirstEdge[0] = p6; X } else { X FirstEdge[0] = p6; X FirstEdge[1] = p1; X miFillSppPoly(pDraw, pGC, 3, FirstEdge, -xOrg, -yOrg, 0.0, 0.0); X FirstEdge[1] = p7; X } X PolyPoints[2] = p4; X PolyPoints[3] = p1; X } else { X if ((((( pPts[0]).x - ( pPts[npt-2]).x) * (( pPts[1] ).y - ( pPts[0]).y) - (( pPts[1] ).x - ( pPts[0]).x) * (( pPts[0]).y - ( pPts[npt-2]).y)) > 0)) X { X FirstEdge[0] = PolyPoints[3]; X FirstEdge[1] = p7; X FirstEdge[2] = p4; X PolyPoints[2] = p4; X } else { X FirstEdge[0] = p6; X FirstEdge[1] = PolyPoints[2]; X FirstEdge[2] = p1; X PolyPoints[3] = p1; X } X miFillSppPoly(pDraw, pGC, 3, FirstEdge, -xOrg, -yOrg, 0.0, 0.0); X } X } else { X if ((((p5).x-( pPts[0]).x)*((p5).x-( pPts[0]).x)+((p5).y-( pPts[0]).y)*((p5).y-( pPts[0]).y)) - (((PolyPoints[3]).x-( pPts[0]).x)*((PolyPoints[3]).x-( pPts[0]).x)+((PolyPoints[3]).y-( pPts[0]).y)*((PolyPoints[3]).y-( pPts[0]).y)) X < 0.000001) X { X if ((((((PolyPoints[3].x) - ( p5.x)) > 0.0 ? ((PolyPoints[3].x) - ( p5.x)) : -((PolyPoints[3].x) - ( p5.x))) <= 0.000001) && ((((PolyPoints[3].y) - ( p5.y)) > 0.0 ? ((PolyPoints[3].y) - ( p5.y)) : -((PolyPoints[3].y) - ( p5.y))) <= 0.000001))) X { X FirstEdge[0] = p6; X FirstEdge[1] = p7; X PolyPoints[3] = p1; X } else { X if ((((( pPts[0]).x - ( pPts[npt-2]).x) * (( pPts[1] ).y - ( pPts[0]).y) - (( pPts[1] ).x - ( pPts[0]).x) * (( pPts[0]).y - ( pPts[npt-2]).y)) > 0)) X { X Wedge[0] = p4; X Wedge[2] = p7; X Wedge[3] = PolyPoints[2]; X } else { X Wedge[0] = p6; X Wedge[2] = p1; X Wedge[3] = PolyPoints[3]; X } X Wedge[1] = pPts[0]; X miFillSppPoly(pDraw, pGC, 4, Wedge, -xOrg, -yOrg, 0.0, 0.0); X FirstEdge[1] = p7; X FirstEdge[0] = p6; X PolyPoints[3] = p1; X PolyPoints[2] = p4; X } X } else { X FirstEdge[0] = PolyPoints[3]; X FirstEdge[1] = PolyPoints[2]; X } X } X } X else X { X edges_match = 0; X if (caps && capStyle == 3) X { X pPts[0] = miExtendSegment(pPts[0], pPts[1], width/2); X miGetPts(pPts[0], pPts[1], &p1, &p2, &p3, &p4, width); X pPts[npt-1] = miExtendSegment(pPts[npt-1], pPts[npt-2], width/2); X } X else if (caps && capStyle == 2) X { X miRoundCap(pDraw, pGC, pPts[0], pPts[1], p4, p1, 1, X xOrg, yOrg, 0.0, 0.0); X miGetPts(pPts[npt-1], pPts[npt-2], &p5, &p6, &p7, &p8, width); X miRoundCap(pDraw, pGC, pPts[npt-1], pPts[npt-2], p8, p5, 1, X xOrg, yOrg, 0.0, 0.0); X } X PolyPoints[3] = p1; X PolyPoints[2] = p4; X } X X for (i = 1; i < (npt - 1); i++) X { X X X X X X X miGetPts(pPts[i], pPts[i+1], &p5, &p6, &p7, &p8, width); X X PolyPoints[0] = PolyPoints[3]; X PolyPoints[1] = PolyPoints[2]; X PolyPoints[2] = IntersectLines(p4, p3, p7, p8); X PolyPoints[3] = IntersectLines(p2, p1, p5, p6); X X if ((((PolyPoints[2]).x-( PolyPoints[3]).x)*((PolyPoints[2]).x-( PolyPoints[3]).x)+((PolyPoints[2]).y-( PolyPoints[3]).y)*((PolyPoints[2]).y-( PolyPoints[3]).y)) > X 108.856472512142 * width * width) X { X if ((((p1).x-( pPts[i]).x)*((p1).x-( pPts[i]).x)+((p1).y-( pPts[i]).y)*((p1).y-( pPts[i]).y)) - (((PolyPoints[3]).x-( pPts[i]).x)*((PolyPoints[3]).x-( pPts[i]).x)+((PolyPoints[3]).y-( pPts[i]).y)*((PolyPoints[3]).y-( pPts[i]).y)) X < 0.000001) X { X PolyPoints[2] = p3; X PolyPoints[3] = p2; X miFillSppPoly(pDraw, pGC, 4, PolyPoints, -xOrg, -yOrg, 0.0, 0.0); X if ((((( pPts[i]).x - ( pPts[i-1]).x) * (( pPts[i+1] ).y - ( pPts[i]).y) - (( pPts[i+1] ).x - ( pPts[i]).x) * (( pPts[i]).y - ( pPts[i-1]).y)) > 0)) X { X PolyPoints[1] = p8; X PolyPoints[3] = pPts[i]; X miFillSppPoly(pDraw, pGC, 3, &PolyPoints[1], -xOrg, -yOrg, 0.0, 0.0); X } else { X PolyPoints[1] = p5; X PolyPoints[2] = pPts[i]; X miFillSppPoly(pDraw, pGC, 3, &PolyPoints[1], -xOrg, -yOrg, 0.0, 0.0); X } X PolyPoints[2] = p8; X PolyPoints[3] = p5; X } else { X if ((((( pPts[i]).x - ( pPts[i-1]).x) * (( pPts[i+1] ).y - ( pPts[i]).y) - (( pPts[i+1] ).x - ( pPts[i]).x) * (( pPts[i]).y - ( pPts[i-1]).y)) > 0)) X { X PolyPoints[2] = p3; X miFillSppPoly(pDraw, pGC, 4, PolyPoints, -xOrg, -yOrg, 0.0, 0.0); X PolyPoints[1] = p8; X miFillSppPoly(pDraw, pGC, 3, &PolyPoints[1], -xOrg, -yOrg, 0.0, 0.0); X PolyPoints[2] = p8; X } else { X PolyPoints[3] = p2; X miFillSppPoly(pDraw, pGC, 4, PolyPoints, -xOrg, -yOrg, 0.0, 0.0); X PolyPoints[1] = p5; X miFillSppPoly(pDraw, pGC, 3, &PolyPoints[1], -xOrg, -yOrg, 0.0, 0.0); X PolyPoints[3] = p5; X } X } X } else { X if ((((p1).x-( pPts[i]).x)*((p1).x-( pPts[i]).x)+((p1).y-( pPts[i]).y)*((p1).y-( pPts[i]).y)) - (((PolyPoints[3]).x-( pPts[i]).x)*((PolyPoints[3]).x-( pPts[i]).x)+((PolyPoints[3]).y-( pPts[i]).y)*((PolyPoints[3]).y-( pPts[i]).y)) X < 0.000001) X { X if ((((((PolyPoints[3].x) - ( p1.x)) > 0.0 ? ((PolyPoints[3].x) - ( p1.x)) : -((PolyPoints[3].x) - ( p1.x))) <= 0.000001) && ((((PolyPoints[3].y) - ( p1.y)) > 0.0 ? ((PolyPoints[3].y) - ( p1.y)) : -((PolyPoints[3].y) - ( p1.y))) <= 0.000001))) X { X PolyPoints[3] = p2; X miFillSppPoly(pDraw, pGC, 4, PolyPoints, -xOrg, -yOrg, 0.0, 0.0); X PolyPoints[3] = p5; X PolyPoints[2] = p8; X } else { X if ((((( pPts[i]).x - ( pPts[i-1]).x) * (( pPts[i+1] ).y - ( pPts[i]).y) - (( pPts[i+1] ).x - ( pPts[i]).x) * (( pPts[i]).y - ( pPts[i-1]).y)) > 0)) X { X Wedge[0] = p8; X Wedge[2] = p3; X Wedge[3] = PolyPoints[2]; X } else { X Wedge[0] = p2; X Wedge[2] = p5; X Wedge[3] = PolyPoints[3]; X } X Wedge[1] = pPts[i]; X miFillSppPoly(pDraw, pGC, 4, Wedge, -xOrg, -yOrg, 0.0, 0.0); X PolyPoints[2] = p3; X PolyPoints[3] = p2; X miFillSppPoly(pDraw, pGC, 4, PolyPoints, -xOrg, -yOrg, 0.0, 0.0); X PolyPoints[3] = p5; X PolyPoints[2] = p8; X } X } else X miFillSppPoly(pDraw, pGC, 4, PolyPoints, -xOrg, -yOrg, 0.0, 0.0); X } X X p1 = p5; p2 = p6; p3 = p7; p4 = p8; X X } X X PolyPoints[0] = PolyPoints[3]; X PolyPoints[1] = PolyPoints[2]; X X if (edges_match) X { X PolyPoints[2] = FirstEdge[1]; X PolyPoints[3] = FirstEdge[0]; X X } X else X { X miGetPts(pPts[npt-2], pPts[npt-1], &p5, &p6, &p7, &p8, width); X PolyPoints[2] = p7; X PolyPoints[3] = p6; X } X miFillSppPoly(pDraw, pGC, 4, PolyPoints, -xOrg, -yOrg, 0.0, 0.0); X} X END_OF_FILE if test 28474 -ne `wc -c <'milines.part.i'`; then echo shar: \"'milines.part.i'\" unpacked with wrong size! fi # end of 'milines.part.i' fi echo shar: End of shell archive. exit 0