/***********************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its 
documentation for any purpose and without fee is hereby granted, 
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in 
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.  

DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.

******************************************************************/
#ifndef MI←H
#define MI←H
#include "region.h"

typedef struct ←miDash *miDashPtr;
#define EVEN←DASH	0
#define ODD←DASH	~0

extern void  miPutImage();
extern void  miGetImage();
extern void  miCopyArea();
extern void  miCopyPlane();
extern void  miClearToBackground();
extern int   miValidateTree();
extern void  miPolySegment();
extern void  miPolyRectangle();
extern void  miFillPolygon();
extern int   miPolyText8();
extern int   miPolyText16();
extern void  miImageText8();
extern void  miImageText16();
extern void   miFillConvexPoly();
extern int   miFillGeneralPoly();
extern void  miPolyGlyphBlt();
extern void  miImageGlyphBlt();
extern void  miZeroLine();
extern void  miPaintWindow();
extern miDashPtr   miDashLine();
extern void  miPushPixels();
extern void  GetPts(), RoundCap(), miOneSegWide();
extern int   PtToAngle();
extern double GetDeltaTheta();

extern    RegionPtr miRegionCreate();
extern    void miRegionCopy();
extern    void miRegionDestroy();
extern    int miIntersect();
extern    int miInverse();
extern    int miUnion();
extern    int miSubtract();
extern    void miRegionReset();
extern    void miTranslateRegion();
extern    int miRectIn();
extern    Bool miPointInRegion();
extern    Bool miRegionNotEmpty();
extern    void miRegionEmpty();
extern    int miNumberRectsInRegion();
extern    void miWindowExposures();    
extern    BoxPtr miRegionExtents();
extern	  void FreeStorage();
extern	  void computeWAET();
extern    void loadAET();
extern    void miFillSppPoly();
extern    void miHandleExposures();
extern    void miMiter();
extern    void miNotMiter();
extern    RegionPtr miRectsToRegion();
extern	void CreateETandAET();



#endif /* MI←H */