/*++ Copyright (c) 1990-2003 Microsoft Corporation Module Name: polygon.h Abstract: This module contains all #defines for the polygon.c module. Author: 18-Nov-1993 Thu 05:21:19 created [Environment:] GDI Device Driver - Plotter. [Notes:] Revision History: --*/ #ifndef _PLOTPOLYGON_ #define _PLOTPOLYGON_ // // Define flags for the DoPolygon and DoFillLogic functions // #define FPOLY_WINDING 0x00000001 #define FPOLY_STROKE 0x00000002 #define FPOLY_FILL 0x00000004 #define FPOLY_MASK (FPOLY_WINDING | FPOLY_STROKE | FPOLY_FILL) // // The maximum number of points the HPGL2 language supports for a styled // line // #define MAX_USER_POINTS 20 // // Allow for extra points needed if we send down to plotter, break for // starting style state compensation // #define MAX_STYLE_ENTRIES 18 BOOL DoRect( PPDEV pPDev, RECTL *pRectl, BRUSHOBJ *pBrushFill, BRUSHOBJ *pBrushStroke, POINTL *pptlBrush, ROP4 rop4, LINEATTRS *plineattrs, ULONG ulFlags ); BOOL DoFillByEnumingClipRects( PPDEV pPDev, POINTL *ppointlOffset, CLIPOBJ *pco, POINTL *pPointlBrushOrg, BRUSHOBJ *pBrushFill, ROP4 Rop4, LINEATTRS *plineattrs, ULONG ulFlags ); BOOL PlotCheckForWhiteIfPenPlotter( PPDEV pPDev, BRUSHOBJ *pBrushFill, BRUSHOBJ *pBrushStroke, ROP4 rop4, PULONG pulFlags ); BOOL DoPolygon( PPDEV pPDev, POINTL *ppointlOffset, CLIPOBJ *pClipObj, PATHOBJ *pPathObj, POINTL *pPointlBrushOrg, BRUSHOBJ *pBrushFill, BRUSHOBJ *pBrushStroke, ROP4 rop4, LINEATTRS *plineattrs, ULONG ulFlags ); VOID HandleLineAttributes( PPDEV pPDev, LINEATTRS *plineattrs, PLONG pStyleToUse, LONG lExtraStyle ); VOID DoFillLogic( PPDEV pPDev, POINTL *pPointlBrushOrg, BRUSHOBJ *pBrushFill, BRUSHOBJ *pBrushStroke, ROP4 Rop4, LINEATTRS *plineattrs, SIZEL *pszlRect, ULONG ulFlags ); VOID DoSetupOfStrokeAttributes( PPDEV pPDev, POINTL *pPointlBrushOrg, BRUSHOBJ *pBrushStroke, ROP4 Rop4, LINEATTRS *plineattrs ); LONG DownloadUserDefinedPattern( PPDEV pPDev, PDEVBRUSH pBrush ); #endif _PLOTPOLYGON_