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.

738 lines
27 KiB

  1. /*++
  2. Copyright (c) 1990-1991 Microsoft Corporation
  3. Module Name:
  4. htsetbmp.h
  5. Abstract:
  6. This module contains all local definitions for the htsetbmp.c
  7. Author:
  8. 28-Mar-1992 Sat 20:59:29 updated -by- Daniel Chou (danielc)
  9. Add Support for VGA16, and also make output only 1 destinaiton pointer
  10. for 3 planer.
  11. 03-Apr-1991 Wed 10:32:00 created -by- Daniel Chou (danielc)
  12. [Environment:]
  13. Printer Driver.
  14. [Notes:]
  15. Revision History:
  16. --*/
  17. #ifndef _HTSETBMP_
  18. #define _HTSETBMP_
  19. //
  20. //**************************************************************************
  21. // Anti-Aliasing macros that getting the primary color table
  22. //**************************************************************************
  23. #define _DEF_LUTAAHDR \
  24. DWORD ExtBGR[LUTAA_HDR_COUNT]
  25. #define DEF_COPY_LUTAAHDR \
  26. _DEF_LUTAAHDR; \
  27. GET_LUTAAHDR(ExtBGR, pIdxBGR)
  28. #define PPAT_NEXT(pCur, pEnd, cbWrap) \
  29. { \
  30. if (((LPBYTE)(pCur) += SIZE_PER_PAT) >= (LPBYTE)(pEnd)) { \
  31. \
  32. (LPBYTE)(pCur) += (cbWrap); \
  33. } \
  34. }
  35. #define PPAT_NEXT_CONTINUE(pCur, pEnd, cbAdd, cbWrap) \
  36. { \
  37. if (((LPBYTE)(pCur) += (cbAdd)) < (LPBYTE)(pEnd)) { \
  38. \
  39. continue; \
  40. } \
  41. \
  42. (LPBYTE)(pCur) += (cbWrap); \
  43. }
  44. //
  45. // Access to BGRF's MACROs
  46. //
  47. #define _GET_B_CLR(pClr) (pIdxBGR[ (UINT)(pClr)->b])
  48. #define _GET_G_CLR(pClr) (pIdxBGR[256 + (UINT)(pClr)->g])
  49. #define _GET_R_CLR(pClr) (pIdxBGR[512 + (UINT)(pClr)->r])
  50. #define GET_GRAY_PRIM(pClr) (DWORD)(_GET_B_CLR(pClr) + \
  51. _GET_G_CLR(pClr) + \
  52. _GET_R_CLR(pClr))
  53. #define GET_GRAY_IDX(pClr,pPat,i) (GET_GRAY_PRIM(pClr)-GETMONOPAT(pPat, i))
  54. #define _GET_B_IDX(pClr,pPat,i) (_GET_B_CLR(pClr) - GETPAT(pPat, 0, i))
  55. #define _GET_G_IDX(pClr,pPat,i) (_GET_G_CLR(pClr) - GETPAT(pPat, 2, i))
  56. #define _GET_R_IDX(pClr,pPat,i) (_GET_R_CLR(pClr) - GETPAT(pPat, 4, i))
  57. //
  58. //**************************************************************************
  59. // 1BPP Macros
  60. //**************************************************************************
  61. #define GRAY_GRAY_PRIM(pClr) (DWORD)(((pClr)->Gray ^ 0xFFFF) >> 4)
  62. #define GRAY_GRAY_IDX(pClr,pPat,i) (GRAY_GRAY_PRIM(pClr)-GETMONOPAT(pPat, i))
  63. #define GRAY_1BPP_COPY(pPat, dwMask) (GRAY_GRAY_IDX(pbgrf, pPat, 0) & (dwMask))
  64. #define _GRAY_1BPP_BIT(pPat, Idx, M) (GRAY_GRAY_IDX(pbgrf+Idx, pPat, Idx) & (M))
  65. #define GRAY_1BPP_COPY_BYTE(pPat) \
  66. (BYTE)((_GRAY_1BPP_BIT(pPat, 0, 0x800000) | \
  67. _GRAY_1BPP_BIT(pPat, 1, 0x400000) | \
  68. _GRAY_1BPP_BIT(pPat, 2, 0x200000) | \
  69. _GRAY_1BPP_BIT(pPat, 3, 0x100000) | \
  70. _GRAY_1BPP_BIT(pPat, 4, 0x080000) | \
  71. _GRAY_1BPP_BIT(pPat, 5, 0x040000) | \
  72. _GRAY_1BPP_BIT(pPat, 6, 0x020000) | \
  73. _GRAY_1BPP_BIT(pPat, 7, 0x010000)) >> 16)
  74. #define GET_1BPP_MASK_BYTE(pbgrf) (BYTE)(((pbgrf + 0)->f & 0x80) | \
  75. ((pbgrf + 1)->f & 0x40) | \
  76. ((pbgrf + 2)->f & 0x20) | \
  77. ((pbgrf + 3)->f & 0x10) | \
  78. ((pbgrf + 4)->f & 0x08) | \
  79. ((pbgrf + 5)->f & 0x04) | \
  80. ((pbgrf + 6)->f & 0x02) | \
  81. ((pbgrf + 7)->f & 0x01))
  82. //
  83. //**************************************************************************
  84. // 4BPP Macros
  85. //**************************************************************************
  86. #define _GET_4BPP_CLR_COPY_NIBBLE(pPat, b, g, r, mb, mg, mr, XM) \
  87. ((BYTE)((((b-GETPAT(pPat, 0, 0)) & ExtBGR[mb]) | \
  88. ((g-GETPAT(pPat, 2, 0)) & ExtBGR[mg]) | \
  89. ((r-GETPAT(pPat, 4, 0)) & ExtBGR[mr])) >> 16) ^ (XM))
  90. #define _GET_4BPP_CLR_COPY_BYTE(pPat, b1, g1, r1, b2, g2, r2, XM) \
  91. ((BYTE)((((b1-GETPAT(pPat, 0, 0)) & ExtBGR[0]) | \
  92. ((g1-GETPAT(pPat, 2, 0)) & ExtBGR[1]) | \
  93. ((r1-GETPAT(pPat, 4, 0)) & ExtBGR[2]) | \
  94. ((b2-GETPAT(pPat, 0, 1)) & ExtBGR[3]) | \
  95. ((g2-GETPAT(pPat, 2, 1)) & ExtBGR[4]) | \
  96. ((r2-GETPAT(pPat, 4, 1)) & ExtBGR[5])) >> 16) ^ (XM))
  97. #define GET_4BPP_CLR_COPY_HIDX(pDst, pPat, pbgrf, XorMask) \
  98. { \
  99. *pDst = (*pDst & 0x0F) | \
  100. _GET_4BPP_CLR_COPY_NIBBLE(pPat, \
  101. _GET_B_CLR(pbgrf), \
  102. _GET_G_CLR(pbgrf), \
  103. _GET_R_CLR(pbgrf), 0, 1, 2, XorMask); \
  104. }
  105. #define GET_4BPP_CLR_COPY_LIDX(pDst, pPat, pbgrf, XorMask) \
  106. { \
  107. *pDst = (*pDst & 0xF0) | \
  108. _GET_4BPP_CLR_COPY_NIBBLE(pPat, \
  109. _GET_B_CLR(pbgrf), \
  110. _GET_G_CLR(pbgrf), \
  111. _GET_R_CLR(pbgrf), 3, 4, 5, XorMask); \
  112. }
  113. #define GET_4BPP_CLR_COPY_BYTE(pDst, pPat, XorMask) \
  114. { \
  115. *pDst = _GET_4BPP_CLR_COPY_BYTE(pPat, \
  116. _GET_B_CLR(pbgrf), \
  117. _GET_G_CLR(pbgrf), \
  118. _GET_R_CLR(pbgrf), \
  119. _GET_B_CLR(pbgrf+1), \
  120. _GET_G_CLR(pbgrf+1), \
  121. _GET_R_CLR(pbgrf+1), XorMask); \
  122. }
  123. //
  124. //**************************************************************************
  125. // VGA16 Macros
  126. //**************************************************************************
  127. #define _GET_VGA16_CLR_COPY_NIBBLE(pPat, b, g, r, mb, mg, mr, XM) \
  128. VGA16Xlate[((((b-GETPAT(pPat, 0, 0)) & ExtBGR[mb]) | \
  129. ((g-GETPAT(pPat, 2, 0)) & ExtBGR[mg]) | \
  130. ((r-GETPAT(pPat, 4, 0)) & ExtBGR[mr])) >> 16) ^ (XM)]
  131. #define _GET_VGA16_CLR_COPY_BYTE(pPat, b1, g1, r1, b2, g2, r2, XM) \
  132. VGA16Xlate[((((b1-GETPAT(pPat, 0, 0)) & ExtBGR[0]) | \
  133. ((g1-GETPAT(pPat, 2, 0)) & ExtBGR[1]) | \
  134. ((r1-GETPAT(pPat, 4, 0)) & ExtBGR[2]) | \
  135. ((b2-GETPAT(pPat, 0, 1)) & ExtBGR[3]) | \
  136. ((g2-GETPAT(pPat, 2, 1)) & ExtBGR[4]) | \
  137. ((r2-GETPAT(pPat, 4, 1)) & ExtBGR[5])) >> 16) ^ (XM)]
  138. #define GET_VGA16_CLR_COPY_HIDX(pDst, pPat, pbgrf, XorMask) \
  139. { \
  140. *pDst = (*pDst & 0x0F) | \
  141. _GET_VGA16_CLR_COPY_NIBBLE(pPat, \
  142. _GET_B_CLR(pbgrf), \
  143. _GET_G_CLR(pbgrf), \
  144. _GET_R_CLR(pbgrf), 0, 1, 2, XorMask); \
  145. }
  146. #define GET_VGA16_CLR_COPY_LIDX(pDst, pPat, pbgrf, XorMask) \
  147. { \
  148. *pDst = (*pDst & 0xF0) | \
  149. _GET_VGA16_CLR_COPY_NIBBLE(pPat, \
  150. _GET_B_CLR(pbgrf), \
  151. _GET_G_CLR(pbgrf), \
  152. _GET_R_CLR(pbgrf), 3, 4, 5, XorMask); \
  153. }
  154. #define GET_VGA16_CLR_COPY_BYTE(pDst, pPat, XorMask) \
  155. { \
  156. *pDst = _GET_VGA16_CLR_COPY_BYTE(pPat, \
  157. _GET_B_CLR(pbgrf), \
  158. _GET_G_CLR(pbgrf), \
  159. _GET_R_CLR(pbgrf), \
  160. _GET_B_CLR(pbgrf+1), \
  161. _GET_G_CLR(pbgrf+1), \
  162. _GET_R_CLR(pbgrf+1), XorMask); \
  163. }
  164. //
  165. //**************************************************************************
  166. // VGA256 8BPP Macros
  167. //**************************************************************************
  168. #define GET_VGA256_IDX_CLR_XLATE(pDst, pPat, p1, p2, p3, pXlate) \
  169. { \
  170. *pDst++ = pXlate[((((DWORD)p1 - GETPAT(pPat, 0, 0)) >> 6) & 0x1c0) | \
  171. ((((DWORD)p2 - GETPAT(pPat, 2, 0)) >> 9) & 0x038) | \
  172. ((((DWORD)p3 - GETPAT(pPat, 4, 0)) >> 12) & 0x007)]; \
  173. }
  174. #define _GET_VGA256_CLR_COPY_XLATE(pPat, pXlate, b, g, r) \
  175. pXlate[(((b - GETPAT(pPat, 0, 0)) & 0x1c00000) | \
  176. ((g - GETPAT(pPat, 2, 0)) & 0x0380000) | \
  177. ((r - GETPAT(pPat, 4, 0)) & 0x0070000)) >> 16]
  178. #define GET_VGA256_CLR_COPY_XLATE(pPat, pXlate) \
  179. _GET_VGA256_CLR_COPY_XLATE(pPat, pXlate, \
  180. _GET_B_CLR(pbgrf), \
  181. _GET_G_CLR(pbgrf), \
  182. _GET_R_CLR(pbgrf))
  183. #define GET_VGA256_GRAY_COPY(pPat) (BYTE)(GET_GRAY_IDX(pbgrf, pPat, 0) >> 12)
  184. #define GET_VGA256_GRAY_COPY_XLATE(pPat, pXlate) \
  185. pXlate[GET_GRAY_IDX(pbgrf, pPat, 0) >> 12]
  186. //
  187. //**************************************************************************
  188. // Mask 8BPP Macros
  189. //**************************************************************************
  190. #define GET_P8BPPXLATE(p, bm8i) \
  191. ASSERT((bm8i).Data.pXlateIdx <= XLATE_IDX_MAX); \
  192. p = p8BPPXlate[(bm8i).Data.pXlateIdx]
  193. #define _GET_MASK8BPP_K_332(b, g, r, pXlate) \
  194. (BYTE)((((r-PatC) & (PatC-ExtBGR[2]) & 0xe0000) | \
  195. ((g-PatM) & (PatM-ExtBGR[1]) & 0x1c000) | \
  196. ((b-PatY) & (PatY-ExtBGR[0]) & 0x03000))>>12)
  197. #define _GET_MASK8BPP_332(pDst, pPat, b, g, r, pXlate) \
  198. *pDst = (BYTE)((((b-GETPAT(pPat,0,0))&0x030000) | \
  199. ((g-GETPAT(pPat,2,0))&0x1C0000) | \
  200. ((r-GETPAT(pPat,4,0))&0xE00000))>>16)
  201. #define _GET_MASK8BPP_K_332_XLATE(b, g, r, pXlate) \
  202. (BYTE)pXlate[((((r-PatC) & (PatC-ExtBGR[2]) & 0xe0000) | \
  203. ((g-PatM) & (PatM-ExtBGR[1]) & 0x1c000) | \
  204. ((b-PatY) & (PatY-ExtBGR[0]) & 0x03000))>>12)]
  205. #define _GET_MASK8BPP_332_XLATE(pDst, pPat, b, g, r, pXlate) \
  206. *pDst = (BYTE)pXlate[((((b-GETPAT(pPat,0,0))&0x030000) | \
  207. ((g-GETPAT(pPat,2,0))&0x1C0000) | \
  208. ((r-GETPAT(pPat,4,0))&0xE00000))>>16)]
  209. #define _GET_MASK8BPP_XLATE(pDst, pPat, b, g, r, pXlate) \
  210. *pDst = (BYTE)pXlate[((((b-GETPAT(pPat,0,0))&0x0070000) | \
  211. ((g-GETPAT(pPat,2,0))&0x0380000) | \
  212. ((r-GETPAT(pPat,4,0))&0x1c00000))>>16)]
  213. #define _GET_MASK8BPP_K_XLATE(b, g, r, pXlate) \
  214. (BYTE)pXlate[((((r-PatC) & (PatC-ExtBGR[2]) & 0x1c0000) | \
  215. ((g-PatM) & (PatM-ExtBGR[1]) & 0x038000) | \
  216. ((b-PatY) & (PatY-ExtBGR[0]) & 0x007000)) >> 12)]
  217. #define _GET_MASK8BPP_REP_K(pDst, pPat, b, g, r, BMACRO, pMacData) \
  218. { \
  219. DWORD u; \
  220. DWORD PatC; \
  221. DWORD PatM; \
  222. DWORD PatY; \
  223. DWORD irgb[4]; \
  224. DWORD dwDst; \
  225. BYTE bDst; \
  226. \
  227. dwDst = ((irgb[0] = r) < (irgb[1] = g)) ? 0 : 1; \
  228. irgb[2] = \
  229. irgb[3] = b; \
  230. dwDst |= ((irgb[dwDst] < irgb[2]) ? 0 : 1) << 1; \
  231. u = irgb[dwDst] >> 21; \
  232. PatY = (DWORD)GETPAT(pPat, 0, 0); \
  233. PatM = (DWORD)GETPAT(pPat, 2, 0); \
  234. PatC = (DWORD)GETPAT(pPat, 4, 0); \
  235. bDst = bm8i.Data.bBlack; \
  236. \
  237. if ((u < PatC) && (u < PatM) && (u < PatY)) { \
  238. \
  239. bDst = BMACRO(irgb[2], irgb[1], irgb[0], pMacData); \
  240. } \
  241. \
  242. *pDst = bDst; \
  243. }
  244. #define GET_MASK8BPP(pDst, pPat, bMac, pMacData) \
  245. bMac(pDst, pPat, \
  246. _GET_B_CLR(pbgrf), _GET_G_CLR(pbgrf), _GET_R_CLR(pbgrf), \
  247. pMacData)
  248. #define GET_MASK8BPP_REP_K(pDst, pPat, bMac, pMacData) \
  249. _GET_MASK8BPP_REP_K(pDst, pPat, \
  250. _GET_B_CLR(pbgrf), \
  251. _GET_G_CLR(pbgrf), \
  252. _GET_R_CLR(pbgrf), \
  253. bMac, pMacData)
  254. #define GET_MASK8BPP_MONO(pDst, pPat, g1, bXor) \
  255. *pDst = (BYTE)(((g1)-GETMONOPAT(pPat, 0)) >> 12) ^ (bXor)
  256. //
  257. //**************************************************************************
  258. // 16BPP_555 Macros/16BPP_565
  259. //**************************************************************************
  260. #define _GET_16BPP_COPY_W_MASK(pPat, b, g, r, bm, gm, rm, xm) \
  261. (WORD)((((((b) - GETPAT(pPat, 0, 0)) & (bm)) | \
  262. (((g) - GETPAT(pPat, 2, 0)) & (gm)) | \
  263. (((r) - GETPAT(pPat, 4, 0)) & (rm))) ^ (xm)) >> 16)
  264. #define _GET_16BPP_COPY_DW_MASK(pPat, b1, g1, r1, b2, g2, r2, bm,gm,rm,xm) \
  265. ((DWORD)((((((b1) - GETPAT(pPat, 0, 0)) & (bm)) | \
  266. (((g1) - GETPAT(pPat, 2, 0)) & (gm)) | \
  267. (((r1) - GETPAT(pPat, 4, 0)) & (rm))) >> 16) | \
  268. ( (((b2) - GETPAT(pPat, 0, 1)) & (bm)) | \
  269. (((g2) - GETPAT(pPat, 2, 1)) & (gm)) | \
  270. (((r2) - GETPAT(pPat, 4, 1)) & (rm)))) ^ (xm))
  271. #define GET_16BPP_COPY_W_MASK(pPat, bm, gm, rm, xm) \
  272. _GET_16BPP_COPY_W_MASK(pPat, \
  273. _GET_B_CLR(pbgrf), \
  274. _GET_G_CLR(pbgrf), \
  275. _GET_R_CLR(pbgrf), \
  276. bm, gm, rm, xm)
  277. #define GET_16BPP_COPY_DW_MASK(pPat, bm, gm, rm, xm) \
  278. _GET_16BPP_COPY_DW_MASK(pPat, \
  279. _GET_B_CLR(pbgrf), \
  280. _GET_G_CLR(pbgrf), \
  281. _GET_R_CLR(pbgrf), \
  282. _GET_B_CLR(pbgrf + 1), \
  283. _GET_G_CLR(pbgrf + 1), \
  284. _GET_R_CLR(pbgrf + 1), \
  285. bm, gm, rm, xm)
  286. //
  287. // Functions prototype
  288. //
  289. VOID
  290. HTENTRY
  291. OutputAATo1BPP(
  292. PAAHEADER pAAHdr,
  293. PGRAYF pbgrf,
  294. PGRAYF pInEnd,
  295. LPBYTE pbDst,
  296. LPDWORD pIdxBGR,
  297. LPBYTE pbPat,
  298. LPBYTE pbPatEnd,
  299. LONG cbWrapBGR,
  300. AAOUTPUTINFO AAOutputInfo
  301. );
  302. VOID
  303. HTENTRY
  304. OutputAATo4BPP(
  305. PAAHEADER pAAHdr,
  306. PBGRF pbgrf,
  307. PBGRF pInEnd,
  308. LPBYTE pbDst,
  309. LPDWORD pIdxBGR,
  310. LPBYTE pbPat,
  311. LPBYTE pbPatEnd,
  312. LONG cbWrapBGR,
  313. AAOUTPUTINFO AAOutputInfo
  314. );
  315. VOID
  316. HTENTRY
  317. OutputAAToVGA16(
  318. PAAHEADER pAAHdr,
  319. PBGRF pbgrf,
  320. PBGRF pInEnd,
  321. LPBYTE pbDst,
  322. LPDWORD pIdxBGR,
  323. LPBYTE pbPat,
  324. LPBYTE pbPatEnd,
  325. LONG cbWrapBGR,
  326. AAOUTPUTINFO AAOutputInfo
  327. );
  328. LPBYTE
  329. HTENTRY
  330. BuildVGA256Xlate(
  331. LPBYTE pXlate,
  332. LPBYTE pNewXlate
  333. );
  334. VOID
  335. HTENTRY
  336. OutputAAToVGA256(
  337. PAAHEADER pAAHdr,
  338. PBGRF pbgrf,
  339. PBGRF pInEnd,
  340. LPBYTE pbDst,
  341. PLONG pIdxBGR,
  342. LPBYTE pbPat,
  343. LPBYTE pbPatEnd,
  344. LONG cbWrapBGR,
  345. AAOUTPUTINFO AAOutputInfo
  346. );
  347. VOID
  348. HTENTRY
  349. OutputAATo8BPP_B332(
  350. PAAHEADER pAAHdr,
  351. PBGRF pbgrf,
  352. PBGRF pInEnd,
  353. LPBYTE pbDst,
  354. PLONG pIdxBGR,
  355. LPBYTE pbPat,
  356. LPBYTE pbPatEnd,
  357. LONG cbWrapBGR,
  358. AAOUTPUTINFO AAOutputInfo
  359. );
  360. VOID
  361. HTENTRY
  362. OutputAATo8BPP_K_B332(
  363. PAAHEADER pAAHdr,
  364. PBGRF pbgrf,
  365. PBGRF pInEnd,
  366. LPBYTE pbDst,
  367. PLONG pIdxBGR,
  368. LPBYTE pbPat,
  369. LPBYTE pbPatEnd,
  370. LONG cbWrapBGR,
  371. AAOUTPUTINFO AAOutputInfo
  372. );
  373. VOID
  374. HTENTRY
  375. OutputAATo8BPP_B332_XLATE(
  376. PAAHEADER pAAHdr,
  377. PBGRF pbgrf,
  378. PBGRF pInEnd,
  379. LPBYTE pbDst,
  380. PLONG pIdxBGR,
  381. LPBYTE pbPat,
  382. LPBYTE pbPatEnd,
  383. LONG cbWrapBGR,
  384. AAOUTPUTINFO AAOutputInfo
  385. );
  386. VOID
  387. HTENTRY
  388. OutputAATo8BPP_K_B332_XLATE(
  389. PAAHEADER pAAHdr,
  390. PBGRF pbgrf,
  391. PBGRF pInEnd,
  392. LPBYTE pbDst,
  393. PLONG pIdxBGR,
  394. LPBYTE pbPat,
  395. LPBYTE pbPatEnd,
  396. LONG cbWrapBGR,
  397. AAOUTPUTINFO AAOutputInfo
  398. );
  399. VOID
  400. HTENTRY
  401. OutputAATo8BPP_XLATE(
  402. PAAHEADER pAAHdr,
  403. PBGRF pbgrf,
  404. PBGRF pInEnd,
  405. LPBYTE pbDst,
  406. PLONG pIdxBGR,
  407. LPBYTE pbPat,
  408. LPBYTE pbPatEnd,
  409. LONG cbWrapBGR,
  410. AAOUTPUTINFO AAOutputInfo
  411. );
  412. VOID
  413. HTENTRY
  414. OutputAATo8BPP_K_XLATE(
  415. PAAHEADER pAAHdr,
  416. PBGRF pbgrf,
  417. PBGRF pInEnd,
  418. LPBYTE pbDst,
  419. PLONG pIdxBGR,
  420. LPBYTE pbPat,
  421. LPBYTE pbPatEnd,
  422. LONG cbWrapBGR,
  423. AAOUTPUTINFO AAOutputInfo
  424. );
  425. VOID
  426. HTENTRY
  427. OutputAATo8BPP_MONO(
  428. PAAHEADER pAAHdr,
  429. PBGRF pbgrf,
  430. PBGRF pInEnd,
  431. LPBYTE pbDst,
  432. PLONG pIdxBGR,
  433. LPBYTE pbPat,
  434. LPBYTE pbPatEnd,
  435. LONG cbWrapBGR,
  436. AAOUTPUTINFO AAOutputInfo
  437. );
  438. VOID
  439. HTENTRY
  440. OutputAATo8BPP_MONO(
  441. PAAHEADER pAAHdr,
  442. PBGRF pbgrf,
  443. PBGRF pInEnd,
  444. LPBYTE pbDst,
  445. PLONG pIdxBGR,
  446. LPBYTE pbPat,
  447. LPBYTE pbPatEnd,
  448. LONG cbWrapBGR,
  449. AAOUTPUTINFO AAOutputInfo
  450. );
  451. VOID
  452. HTENTRY
  453. OutputAATo16BPP_ExtBGR(
  454. PAAHEADER pAAHdr,
  455. PBGRF pbgrf,
  456. PBGRF pInEnd,
  457. LPWORD pwDst,
  458. PLONG pIdxBGR,
  459. LPBYTE pbPat,
  460. LPBYTE pbPatEnd,
  461. LONG cbWrapBGR,
  462. AAOUTPUTINFO AAOutputInfo
  463. );
  464. VOID
  465. HTENTRY
  466. OutputAATo16BPP_555_RGB(
  467. PAAHEADER pAAHdr,
  468. PBGRF pbgrf,
  469. PBGRF pInEnd,
  470. LPWORD pwDst,
  471. PLONG pIdxBGR,
  472. LPBYTE pbPat,
  473. LPBYTE pbPatEnd,
  474. LONG cbWrapBGR,
  475. AAOUTPUTINFO AAOutputInfo
  476. );
  477. VOID
  478. HTENTRY
  479. OutputAATo16BPP_555_BGR(
  480. PAAHEADER pAAHdr,
  481. PBGRF pbgrf,
  482. PBGRF pInEnd,
  483. LPWORD pwDst,
  484. PLONG pIdxBGR,
  485. LPBYTE pbPat,
  486. LPBYTE pbPatEnd,
  487. LONG cbWrapBGR,
  488. AAOUTPUTINFO AAOutputInfo
  489. );
  490. VOID
  491. HTENTRY
  492. OutputAATo16BPP_565_RGB(
  493. PAAHEADER pAAHdr,
  494. PBGRF pbgrf,
  495. PBGRF pInEnd,
  496. LPWORD pwDst,
  497. PLONG pIdxBGR,
  498. LPBYTE pbPat,
  499. LPBYTE pbPatEnd,
  500. LONG cbWrapBGR,
  501. AAOUTPUTINFO AAOutputInfo
  502. );
  503. VOID
  504. HTENTRY
  505. OutputAATo16BPP_565_BGR(
  506. PAAHEADER pAAHdr,
  507. PBGRF pbgrf,
  508. PBGRF pInEnd,
  509. LPWORD pwDst,
  510. PLONG pIdxBGR,
  511. LPBYTE pbPat,
  512. LPBYTE pbPatEnd,
  513. LONG cbWrapBGR,
  514. AAOUTPUTINFO AAOutputInfo
  515. );
  516. VOID
  517. HTENTRY
  518. OutputAATo24BPP_RGB(
  519. PAAHEADER pAAHdr,
  520. PBGRF pbgrf,
  521. PBGRF pInEnd,
  522. LPBYTE pbDst,
  523. PLONG pIdxBGR,
  524. LPBYTE pbPat,
  525. LPBYTE pbPatEnd,
  526. LONG cbWrapBGR,
  527. AAOUTPUTINFO AAOutputInfo
  528. );
  529. VOID
  530. HTENTRY
  531. OutputAATo24BPP_BGR(
  532. PAAHEADER pAAHdr,
  533. PBGRF pbgrf,
  534. PBGRF pInEnd,
  535. LPBYTE pbDst,
  536. PLONG pIdxBGR,
  537. LPBYTE pbPat,
  538. LPBYTE pbPatEnd,
  539. LONG cbWrapBGR,
  540. AAOUTPUTINFO AAOutputInfo
  541. );
  542. VOID
  543. HTENTRY
  544. OutputAATo24BPP_ORDER(
  545. PAAHEADER pAAHdr,
  546. PBGRF pbgrf,
  547. PBGRF pInEnd,
  548. LPBYTE pbDst,
  549. PLONG pIdxBGR,
  550. LPBYTE pbPat,
  551. LPBYTE pbPatEnd,
  552. LONG cbWrapBGR,
  553. AAOUTPUTINFO AAOutputInfo
  554. );
  555. VOID
  556. HTENTRY
  557. OutputAATo32BPP_RGB(
  558. PAAHEADER pAAHdr,
  559. PBGRF pbgrf,
  560. PBGRF pInEnd,
  561. LPBYTE pbDst,
  562. PLONG pIdxBGR,
  563. LPBYTE pbPat,
  564. LPBYTE pbPatEnd,
  565. LONG cbWrapBGR,
  566. AAOUTPUTINFO AAOutputInfo
  567. );
  568. VOID
  569. HTENTRY
  570. OutputAATo32BPP_BGR(
  571. PAAHEADER pAAHdr,
  572. PBGRF pbgrf,
  573. PBGRF pInEnd,
  574. LPBYTE pbDst,
  575. PLONG pIdxBGR,
  576. LPBYTE pbPat,
  577. LPBYTE pbPatEnd,
  578. LONG cbWrapBGR,
  579. AAOUTPUTINFO AAOutputInfo
  580. );
  581. VOID
  582. HTENTRY
  583. OutputAATo32BPP_ORDER(
  584. PAAHEADER pAAHdr,
  585. PBGRF pbgrf,
  586. PBGRF pInEnd,
  587. LPBYTE pbDst,
  588. PLONG pIdxBGR,
  589. LPBYTE pbPat,
  590. LPBYTE pbPatEnd,
  591. LONG cbWrapBGR,
  592. AAOUTPUTINFO AAOutputInfo
  593. );
  594. LONG
  595. HTENTRY
  596. CreateHalftoneBrushPat(
  597. PDEVICECOLORINFO pDCI,
  598. PCOLORTRIAD pColorTriad,
  599. PDEVCLRADJ pDevClrAdj,
  600. LPBYTE pDest,
  601. LONG cbDestNext
  602. );
  603. #if DBG
  604. LPSTR
  605. GetAAOutputFuncName(
  606. AAOUTPUTFUNC AAOutputFunc
  607. );
  608. #endif
  609. #endif // _HTSETBMP_