Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1990-2003 Microsoft Corporation
  3. Module Name:
  4. polygon.h
  5. Abstract:
  6. This module contains all #defines for the polygon.c module.
  7. Author:
  8. 18-Nov-1993 Thu 05:21:19 created
  9. [Environment:]
  10. GDI Device Driver - Plotter.
  11. [Notes:]
  12. Revision History:
  13. --*/
  14. #ifndef _PLOTPOLYGON_
  15. #define _PLOTPOLYGON_
  16. //
  17. // Define flags for the DoPolygon and DoFillLogic functions
  18. //
  19. #define FPOLY_WINDING 0x00000001
  20. #define FPOLY_STROKE 0x00000002
  21. #define FPOLY_FILL 0x00000004
  22. #define FPOLY_MASK (FPOLY_WINDING | FPOLY_STROKE | FPOLY_FILL)
  23. //
  24. // The maximum number of points the HPGL2 language supports for a styled
  25. // line
  26. //
  27. #define MAX_USER_POINTS 20
  28. //
  29. // Allow for extra points needed if we send down to plotter, break for
  30. // starting style state compensation
  31. //
  32. #define MAX_STYLE_ENTRIES 18
  33. BOOL
  34. DoRect(
  35. PPDEV pPDev,
  36. RECTL *pRectl,
  37. BRUSHOBJ *pBrushFill,
  38. BRUSHOBJ *pBrushStroke,
  39. POINTL *pptlBrush,
  40. ROP4 rop4,
  41. LINEATTRS *plineattrs,
  42. ULONG ulFlags
  43. );
  44. BOOL
  45. DoFillByEnumingClipRects(
  46. PPDEV pPDev,
  47. POINTL *ppointlOffset,
  48. CLIPOBJ *pco,
  49. POINTL *pPointlBrushOrg,
  50. BRUSHOBJ *pBrushFill,
  51. ROP4 Rop4,
  52. LINEATTRS *plineattrs,
  53. ULONG ulFlags
  54. );
  55. BOOL
  56. PlotCheckForWhiteIfPenPlotter(
  57. PPDEV pPDev,
  58. BRUSHOBJ *pBrushFill,
  59. BRUSHOBJ *pBrushStroke,
  60. ROP4 rop4,
  61. PULONG pulFlags
  62. );
  63. BOOL
  64. DoPolygon(
  65. PPDEV pPDev,
  66. POINTL *ppointlOffset,
  67. CLIPOBJ *pClipObj,
  68. PATHOBJ *pPathObj,
  69. POINTL *pPointlBrushOrg,
  70. BRUSHOBJ *pBrushFill,
  71. BRUSHOBJ *pBrushStroke,
  72. ROP4 rop4,
  73. LINEATTRS *plineattrs,
  74. ULONG ulFlags
  75. );
  76. VOID
  77. HandleLineAttributes(
  78. PPDEV pPDev,
  79. LINEATTRS *plineattrs,
  80. PLONG pStyleToUse,
  81. LONG lExtraStyle
  82. );
  83. VOID
  84. DoFillLogic(
  85. PPDEV pPDev,
  86. POINTL *pPointlBrushOrg,
  87. BRUSHOBJ *pBrushFill,
  88. BRUSHOBJ *pBrushStroke,
  89. ROP4 Rop4,
  90. LINEATTRS *plineattrs,
  91. SIZEL *pszlRect,
  92. ULONG ulFlags
  93. );
  94. VOID
  95. DoSetupOfStrokeAttributes(
  96. PPDEV pPDev,
  97. POINTL *pPointlBrushOrg,
  98. BRUSHOBJ *pBrushStroke,
  99. ROP4 Rop4,
  100. LINEATTRS *plineattrs
  101. );
  102. LONG
  103. DownloadUserDefinedPattern(
  104. PPDEV pPDev,
  105. PDEVBRUSH pBrush
  106. );
  107. #endif _PLOTPOLYGON_