#include "util_121.h" #include "intrface_121.h" #include #define RGN_AND 1 /* Creates the intersection of the two regions */ #define RGN_OR 2 /* creates the union of the two regions */ #define RGN_DIFF 3 /* Returns the parts of region1 not in region2 */ #define RGN_XOR 4 /* creates the union (not including overlap) */ #define RGN_COPY 5 /* Creates a copy of the region */ extern void WinGetDC (OSWindowPtr, OS, OSPictContext*, OS*); extern OS WinReleaseDC (OSWindowPtr,OSPictContext,OS); extern int OsMMtoVPixels(double); extern int OsMMtoHPixels(double); void WinInitPicture (int size, int mode, int pr, int pg, int pb, int br, int bg, int bb, int x, int y, CLEAN_STRING fname, int fstyle, int fsize, int ox, int oy, OSPictContext inDraw, OS os, OSPictContext *outDraw, OS *oos); void WinDonePicture(GdkDrawable *, OS, GdkDrawable **, OS*); extern void WinClipRgnPicture(OSRgnHandle,OSPictContext,OS, OSPictContext*,OS*); extern void WinClipPicture (int,int,int,int,OSPictContext,OS, OSPictContext*,OS*); extern void WinSetClipRgnPicture (OSRgnHandle,OSPictContext,OS, OSPictContext*,OS*); extern void WinGetClipRgnPicture (OSPictContext,OS,OSRgnHandle*,OSPictContext*,OS*); /* Operations to create, modify, and destroy polygon shapes. */ extern void WinAllocPolyShape (int,OS,PointsArray*,OS*); extern OS WinSetPolyPoint (int,int,int,PointsArray, OS); extern OS WinFreePolyShape (PointsArray,OS); /* Operations to create, modify and destroy regions. */ extern OSRgnHandle WinCreateEmptyRgn(); extern void WinCreateRectRgn(int,int,int,int,OS,OSRgnHandle*,OS*); extern void WinCreatePolygonRgn(PointsArray,int,int,OS,OSRgnHandle*,OS*); extern void WinSetRgnToRect(int,int,int,int,OSRgnHandle,OS,OSRgnHandle*,OS*); /* extern OSRgnHandle WinCombineRgn (HRGN,HRGN,HRGN,int,OS,HRGN*,OS*); */ extern void WinCombineRgn (OSRgnHandle,OSRgnHandle,OSRgnHandle,int,OS, OSRgnHandle*,OS*); extern OSRgnHandle WinUnionRgn(OSRgnHandle rgn1, OSRgnHandle rgn2); extern OSRgnHandle WinSectRgn(OSRgnHandle rgn1, OSRgnHandle rgn2); extern OSRgnHandle WinDiffRgn(OSRgnHandle rgn1, OSRgnHandle rgn2); extern OSRgnHandle WinXorRgn (OSRgnHandle rgn1, OSRgnHandle rgn2); extern void WinGetRgnBox(OSRgnHandle,OS,int*,int*,int*,int*,BOOL*,BOOL*,OS*); extern BOOL WinIsEmptyRgn(OSRgnHandle rgn); extern void WinDisposeRgn(OSRgnHandle rgn); extern void WinSetPenSize (int,OSPictContext,OS,OSPictContext*,OS*); extern void WinSetPenColor (int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinSetBackColor (int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinSetMode (int,OSPictContext,OS,OSPictContext*,OS*); extern void WinSetPattern (int,OSPictContext,OS,OSPictContext*,OS*); extern void WinDrawPoint (int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinDrawLine (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinUndrawLine(int,int,int,int,OSPictContext); extern void WinDrawCurve (int,int,int,int,int,int,int,int,OSPictContext,OS, OSPictContext*,OS*); extern void WinUndrawCurve (int,int,int,int,float,float,BOOL,OSPictContext); extern void WinDrawChar (char,OSPictContext,OS,OSPictContext*,OS*); extern void WinUndrawChar (int,int,char,OSPictContext); extern void WinDrawString (CLEAN_STRING,OSPictContext,OS,OSPictContext*,OS*); extern void WinUndrawString (int,int,char*,OSPictContext); extern void WinDrawRectangle (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinUndrawRectangle (int,int,int,int,OSPictContext); extern void WinFillRectangle (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinEraseRectangle (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinInvertRectangle (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinMoveRectangleTo (int,int,int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinMoveRectangle (int,int,int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinCopyRectangleTo (int,int,int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinCopyRectangle (int,int,int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinScrollRectangle (int,int,int,int,int,int,OSPictContext,OS,int*,int*,int*,int*,OSPictContext*,OS*); extern void WinDrawOval (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinUndrawOval (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinFillOval (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinEraseOval (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinInvertOval (int,int,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinFillWedge (int,int,int,int,int,int,int,int,OSPictContext, OS,OSPictContext*,OS*); extern void WinEraseWedge (int,int,int,int,int,int,int,int,OSPictContext, OS,OSPictContext*,OS*); extern void WinInvertWedge (int,int,int,int,int,int,int,int,OSPictContext, OS,OSPictContext*,OS*); extern OS WinStartPolygon (int,OS); extern OS WinEndPolygon (OS); extern OS WinAddPolygonPoint (int,int,OS); extern void WinDrawPolygon (OSPictContext,OS,OSPictContext*,OS*); extern void WinUndrawPolygon (OSPictContext); extern void WinFillPolygon (OSPictContext,OS,OSPictContext*,OS*); extern void WinErasePolygon (OSPictContext,OS,OSPictContext*,OS*); extern void WinInvertPolygon (OSPictContext,OS,OSPictContext*,OS*); /* * Routines that temporarily create and destroy a DISPLAY OSPictContext. Use * this OSPictContext only locally. */ extern void WinCreateScreenHDC (OS,OSPictContext*,OS*); extern OS WinDestroyScreenHDC (OSPictContext,OS); extern void WinDrawResizedBitmap (int,int,int,int,int,int,OSBmpHandle, OSPictContext,OS,OSPictContext*,OS*); extern void WinDrawBitmap (int,int,int,int,OSBmpHandle,OSPictContext,OS, OSPictContext*,OS*); extern void WinCreateBitmap (int, char*,OSPictContext,OS,OSBmpHandle*,OS*); extern void WinDisposeBitmap(OSBmpHandle); extern void WinSetFont (CLEAN_STRING,int,int,OSPictContext,OS,OSPictContext*,OS*); extern void WinGetFontInfo (CLEAN_STRING,int,int,int,OSPictContext,OS, int*,int*,int*,int*,OS*); extern void WinGetPicFontInfo (OSPictContext,OS,int*,int*,int*,int*, OSPictContext*,OS*); extern void WinGetPicStringWidth (CLEAN_STRING,OSPictContext,OS,int*,OSPictContext*,OS*); extern void WinGetPicCharWidth (char,OSPictContext,OS,int*,OSPictContext*,OS*); extern void WinGetStringWidth (CLEAN_STRING,CLEAN_STRING,int,int,int, OSPictContext,OS,int*,OS*); extern void WinGetCharWidth (char,CLEAN_STRING,int,int,int,OSPictContext, OS,int*,OS*); /* Get the resolution of a picture */ extern void getResolutionC(OSPictContext,int*,int*); /* * Get scaling factors, which have to be applied to coordinates for clipping * regions in case of emulating the screen resolution for printing * (MM_ISOTROPIC) */ extern void WinGetPictureScaleFactor(OSPictContext,OS,int*,int*,int*,int*, OSPictContext*,OS*); void WinDialogFontDef(char **fname, int *fstyle, int *fsize); void WinDefaultFontDef(char **fname, int *fstyle, int *fsize); void WinSerifFontDef(char **fname, int *fstyle, int *fsize); void WinSansSerifFontDef(char **fname, int *fstyle, int *fsize); void WinSmallFontDef(char **fname, int *fstyle, int *fsize); void WinNonProportionalFontDef(char **fname, int *fstyle, int *fsize); void WinSymbolFontDef(char **fname, int *fstyle, int *fsize); extern void WinLinePen (int x, int y, GdkDrawable *inDraw, OS ios, GdkDrawable **outDraw, OS *oos); extern void WinLinePenTo (int x, int y, GdkDrawable *inDraw, OS ios, GdkDrawable **outDraw, OS *oos); extern int WinGetVertResolution (void); extern int WinGetHorzResolution (void); extern void WinCreateEllipseRgn (int,int,int,int,OS,GdkRegion*,OS*); extern OS WinDeleteObject (GdkRegion*,OS); extern void WinGetPenPos(GdkDrawable*, OS, int*, int*, GdkDrawable**, OS* ); extern void WinMovePenTo (int,int,GdkDrawable*,OS,GdkDrawable**,OS*); extern void WinMovePen (int,int,GdkDrawable*,OS,GdkDrawable**,OS*); extern void WinDrawCPoint (int,int,int,int,int,GdkDrawable*, OS,GdkDrawable**,OS*); extern void WinDrawCLine (int,int,int,int,int,int,int,GdkDrawable*,OS, GdkDrawable**,OS*); extern void WinDrawCCurve (int,int,int,int,int,int,int,int,int,int,int, GdkDrawable*,OS,GdkDrawable**,OS*); extern void WinDrawRoundRectangle (int,int,int,int,int,int,GdkDrawable*, OS,GdkDrawable**,OS*); extern void WinFillRoundRectangle (int,int,int,int,int,int,GdkDrawable*, OS,GdkDrawable**,OS*); extern void WinEraseRoundRectangle (int,int,int,int,int,int,GdkDrawable*, OS,GdkDrawable**,OS*); extern void WinInvertRoundRectangle (int,int,int,int,int,int,GdkDrawable*, OS,GdkDrawable**,OS*); extern void WinDrawCircle (int,int,int,GdkDrawable*,OS,GdkDrawable**,OS*); extern void WinFillCircle (int,int,int,GdkDrawable*,OS,GdkDrawable**,OS*); extern void WinEraseCircle (int,int,int,GdkDrawable*,OS,GdkDrawable**,OS*); extern void WinInvertCircle (int,int,int,GdkDrawable*,OS,GdkDrawable**,OS*); extern void WinDrawWedge (int,int,int,int,int,int,int,int,GdkDrawable*, OS,GdkDrawable**,OS*); extern void WinPrintResizedBitmap (int,int,int,int,int,int,char*,GdkDrawable*, int,GdkDrawable**,int*); static void InternalGetPenPos( GdkDrawable*, int*, int*); static void InternalSetPenPos( GdkDrawable*, int, int);