Article View: gnu.gcc.bug
Article #2046Re: 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
3264 lines
36317 bytes
36317 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: milines.part.i
# Wrapped by mcneill@eplrx7 on Mon Dec 5 11:42:32 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'milines.part.i' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'milines.part.i'\"
else
echo shar: Extracting \"'milines.part.i'\" \(28474 characters\)
sed "s/^X//" >'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
Technical Details
Message-ID:
<8812051644.AA08479@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.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