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.

198 lines
4.5 KiB

  1. /*++
  2. Copyright (c) 1996 - 1999 Microsoft Corporation
  3. Module Name:
  4. rasterif.h
  5. Abstract:
  6. Interface between Control module and Render module
  7. Environment:
  8. Windows NT Unidrv driver
  9. Revision History:
  10. 10/14/96 -amandan-
  11. Created
  12. 01-17-97 -alvins-
  13. Added definition for bIsRegionWhite
  14. mm-dd-yy -author-
  15. description
  16. --*/
  17. #ifndef _RASTERIF_H_
  18. #define _RASTERIF_H_
  19. BOOL
  20. RMInit (
  21. PDEV *pPDev,
  22. DEVINFO *pDevInfo,
  23. GDIINFO *pGDIInfo
  24. );
  25. typedef struct _RMPROCS {
  26. BOOL
  27. (*RMStartDoc) (
  28. SURFOBJ *pso,
  29. PWSTR pDocName,
  30. DWORD jobId
  31. );
  32. BOOL
  33. (*RMStartPage) (
  34. SURFOBJ *pso
  35. );
  36. BOOL
  37. (*RMSendPage)(
  38. SURFOBJ *pso
  39. );
  40. BOOL
  41. (*RMEndDoc)(
  42. SURFOBJ *pso,
  43. FLONG flags
  44. );
  45. BOOL
  46. (*RMNextBand)(
  47. SURFOBJ *pso,
  48. POINTL *pptl
  49. );
  50. BOOL
  51. (*RMStartBanding)(
  52. SURFOBJ *pso,
  53. POINTL *pptl
  54. );
  55. BOOL
  56. (*RMResetPDEV)(
  57. PDEV *pPDevOld,
  58. PDEV *pPDevNew
  59. );
  60. BOOL
  61. (*RMEnableSurface)(
  62. PDEV *pPDev
  63. );
  64. VOID
  65. (*RMDisableSurface)(
  66. PDEV *pPDev
  67. );
  68. VOID
  69. (*RMDisablePDEV)(
  70. PDEV *pPDev
  71. );
  72. BOOL
  73. (*RMCopyBits)(
  74. SURFOBJ *psoDst,
  75. SURFOBJ *psoSrc,
  76. CLIPOBJ *pco,
  77. XLATEOBJ *pxlo,
  78. RECTL *prclDst,
  79. POINTL *pptlSrc
  80. );
  81. BOOL
  82. (*RMBitBlt)(
  83. SURFOBJ *psoTrg,
  84. SURFOBJ *psoSrc,
  85. SURFOBJ *psoMask,
  86. CLIPOBJ *pco,
  87. XLATEOBJ *pxlo,
  88. RECTL *prclTrg,
  89. POINTL *pptlSrc,
  90. POINTL *pptlMask,
  91. BRUSHOBJ *pbo,
  92. POINTL *pptlBrush,
  93. ROP4 rop4
  94. );
  95. BOOL
  96. (*RMStretchBlt)(
  97. SURFOBJ *psoDst,
  98. SURFOBJ *psoSrc,
  99. SURFOBJ *psoMask,
  100. CLIPOBJ *pco,
  101. XLATEOBJ *pxlo,
  102. COLORADJUSTMENT *pca,
  103. POINTL *pptlHTOrg,
  104. RECTL *prclDst,
  105. RECTL *prclSrc,
  106. POINTL *pptlMask,
  107. ULONG iMode
  108. );
  109. ULONG
  110. (*RMDitherColor)(
  111. PDEV *pPDev,
  112. ULONG iMode,
  113. ULONG rgbColor,
  114. ULONG *pulDither
  115. );
  116. BOOL
  117. (*RMStretchBltROP)(
  118. SURFOBJ *psoDst,
  119. SURFOBJ *psoSrc,
  120. SURFOBJ *psoMask,
  121. CLIPOBJ *pco,
  122. XLATEOBJ *pxlo,
  123. COLORADJUSTMENT *pca,
  124. POINTL *pptlHTOrg,
  125. RECTL *prclDst,
  126. RECTL *prclSrc,
  127. POINTL *pptlMask,
  128. ULONG iMode,
  129. BRUSHOBJ *pbo,
  130. DWORD rop4
  131. );
  132. BOOL
  133. (*RMPaint)(
  134. SURFOBJ *pso,
  135. CLIPOBJ *pco,
  136. BRUSHOBJ *pbo,
  137. POINTL *pptlBrushOrg,
  138. MIX mix
  139. );
  140. BOOL
  141. (*RMPlgBlt)(
  142. SURFOBJ *psoDst,
  143. SURFOBJ *psoSrc,
  144. SURFOBJ *psoMask,
  145. CLIPOBJ *pco,
  146. XLATEOBJ *pxlo,
  147. COLORADJUSTMENT *pca,
  148. POINTL *pptlHTOrg,
  149. POINTFIX *pptfx,
  150. RECTL *prclSrc,
  151. POINTL *pptlMask,
  152. ULONG iMode
  153. );
  154. }RMPROCS, * PRMPROCS;
  155. BOOL
  156. RMInitDevicePal(
  157. PDEV *pPDev,
  158. PAL_DATA *pPal
  159. );
  160. #endif // !_RASTERIF_H_