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

/*++
Copyright (c) 1990-1991 Microsoft Corporation
Module Name:
htsetbmp.h
Abstract:
This module contains all local definitions for the htsetbmp.c
Author:
28-Mar-1992 Sat 20:59:29 updated -by- Daniel Chou (danielc)
Add Support for VGA16, and also make output only 1 destinaiton pointer
for 3 planer.
03-Apr-1991 Wed 10:32:00 created -by- Daniel Chou (danielc)
[Environment:]
Printer Driver.
[Notes:]
Revision History:
--*/
#ifndef _HTSETBMP_
#define _HTSETBMP_
//
//**************************************************************************
// Anti-Aliasing macros that getting the primary color table
//**************************************************************************
#define _DEF_LUTAAHDR \
DWORD ExtBGR[LUTAA_HDR_COUNT]
#define DEF_COPY_LUTAAHDR \
_DEF_LUTAAHDR; \
GET_LUTAAHDR(ExtBGR, pIdxBGR)
#define PPAT_NEXT(pCur, pEnd, cbWrap) \
{ \
if (((LPBYTE)(pCur) += SIZE_PER_PAT) >= (LPBYTE)(pEnd)) { \
\
(LPBYTE)(pCur) += (cbWrap); \
} \
}
#define PPAT_NEXT_CONTINUE(pCur, pEnd, cbAdd, cbWrap) \
{ \
if (((LPBYTE)(pCur) += (cbAdd)) < (LPBYTE)(pEnd)) { \
\
continue; \
} \
\
(LPBYTE)(pCur) += (cbWrap); \
}
//
// Access to BGRF's MACROs
//
#define _GET_B_CLR(pClr) (pIdxBGR[ (UINT)(pClr)->b])
#define _GET_G_CLR(pClr) (pIdxBGR[256 + (UINT)(pClr)->g])
#define _GET_R_CLR(pClr) (pIdxBGR[512 + (UINT)(pClr)->r])
#define GET_GRAY_PRIM(pClr) (DWORD)(_GET_B_CLR(pClr) + \
_GET_G_CLR(pClr) + \
_GET_R_CLR(pClr))
#define GET_GRAY_IDX(pClr,pPat,i) (GET_GRAY_PRIM(pClr)-GETMONOPAT(pPat, i))
#define _GET_B_IDX(pClr,pPat,i) (_GET_B_CLR(pClr) - GETPAT(pPat, 0, i))
#define _GET_G_IDX(pClr,pPat,i) (_GET_G_CLR(pClr) - GETPAT(pPat, 2, i))
#define _GET_R_IDX(pClr,pPat,i) (_GET_R_CLR(pClr) - GETPAT(pPat, 4, i))
//
//**************************************************************************
// 1BPP Macros
//**************************************************************************
#define GRAY_GRAY_PRIM(pClr) (DWORD)(((pClr)->Gray ^ 0xFFFF) >> 4)
#define GRAY_GRAY_IDX(pClr,pPat,i) (GRAY_GRAY_PRIM(pClr)-GETMONOPAT(pPat, i))
#define GRAY_1BPP_COPY(pPat, dwMask) (GRAY_GRAY_IDX(pbgrf, pPat, 0) & (dwMask))
#define _GRAY_1BPP_BIT(pPat, Idx, M) (GRAY_GRAY_IDX(pbgrf+Idx, pPat, Idx) & (M))
#define GRAY_1BPP_COPY_BYTE(pPat) \
(BYTE)((_GRAY_1BPP_BIT(pPat, 0, 0x800000) | \
_GRAY_1BPP_BIT(pPat, 1, 0x400000) | \
_GRAY_1BPP_BIT(pPat, 2, 0x200000) | \
_GRAY_1BPP_BIT(pPat, 3, 0x100000) | \
_GRAY_1BPP_BIT(pPat, 4, 0x080000) | \
_GRAY_1BPP_BIT(pPat, 5, 0x040000) | \
_GRAY_1BPP_BIT(pPat, 6, 0x020000) | \
_GRAY_1BPP_BIT(pPat, 7, 0x010000)) >> 16)
#define GET_1BPP_MASK_BYTE(pbgrf) (BYTE)(((pbgrf + 0)->f & 0x80) | \
((pbgrf + 1)->f & 0x40) | \
((pbgrf + 2)->f & 0x20) | \
((pbgrf + 3)->f & 0x10) | \
((pbgrf + 4)->f & 0x08) | \
((pbgrf + 5)->f & 0x04) | \
((pbgrf + 6)->f & 0x02) | \
((pbgrf + 7)->f & 0x01))
//
//**************************************************************************
// 4BPP Macros
//**************************************************************************
#define _GET_4BPP_CLR_COPY_NIBBLE(pPat, b, g, r, mb, mg, mr, XM) \
((BYTE)((((b-GETPAT(pPat, 0, 0)) & ExtBGR[mb]) | \
((g-GETPAT(pPat, 2, 0)) & ExtBGR[mg]) | \
((r-GETPAT(pPat, 4, 0)) & ExtBGR[mr])) >> 16) ^ (XM))
#define _GET_4BPP_CLR_COPY_BYTE(pPat, b1, g1, r1, b2, g2, r2, XM) \
((BYTE)((((b1-GETPAT(pPat, 0, 0)) & ExtBGR[0]) | \
((g1-GETPAT(pPat, 2, 0)) & ExtBGR[1]) | \
((r1-GETPAT(pPat, 4, 0)) & ExtBGR[2]) | \
((b2-GETPAT(pPat, 0, 1)) & ExtBGR[3]) | \
((g2-GETPAT(pPat, 2, 1)) & ExtBGR[4]) | \
((r2-GETPAT(pPat, 4, 1)) & ExtBGR[5])) >> 16) ^ (XM))
#define GET_4BPP_CLR_COPY_HIDX(pDst, pPat, pbgrf, XorMask) \
{ \
*pDst = (*pDst & 0x0F) | \
_GET_4BPP_CLR_COPY_NIBBLE(pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), 0, 1, 2, XorMask); \
}
#define GET_4BPP_CLR_COPY_LIDX(pDst, pPat, pbgrf, XorMask) \
{ \
*pDst = (*pDst & 0xF0) | \
_GET_4BPP_CLR_COPY_NIBBLE(pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), 3, 4, 5, XorMask); \
}
#define GET_4BPP_CLR_COPY_BYTE(pDst, pPat, XorMask) \
{ \
*pDst = _GET_4BPP_CLR_COPY_BYTE(pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), \
_GET_B_CLR(pbgrf+1), \
_GET_G_CLR(pbgrf+1), \
_GET_R_CLR(pbgrf+1), XorMask); \
}
//
//**************************************************************************
// VGA16 Macros
//**************************************************************************
#define _GET_VGA16_CLR_COPY_NIBBLE(pPat, b, g, r, mb, mg, mr, XM) \
VGA16Xlate[((((b-GETPAT(pPat, 0, 0)) & ExtBGR[mb]) | \
((g-GETPAT(pPat, 2, 0)) & ExtBGR[mg]) | \
((r-GETPAT(pPat, 4, 0)) & ExtBGR[mr])) >> 16) ^ (XM)]
#define _GET_VGA16_CLR_COPY_BYTE(pPat, b1, g1, r1, b2, g2, r2, XM) \
VGA16Xlate[((((b1-GETPAT(pPat, 0, 0)) & ExtBGR[0]) | \
((g1-GETPAT(pPat, 2, 0)) & ExtBGR[1]) | \
((r1-GETPAT(pPat, 4, 0)) & ExtBGR[2]) | \
((b2-GETPAT(pPat, 0, 1)) & ExtBGR[3]) | \
((g2-GETPAT(pPat, 2, 1)) & ExtBGR[4]) | \
((r2-GETPAT(pPat, 4, 1)) & ExtBGR[5])) >> 16) ^ (XM)]
#define GET_VGA16_CLR_COPY_HIDX(pDst, pPat, pbgrf, XorMask) \
{ \
*pDst = (*pDst & 0x0F) | \
_GET_VGA16_CLR_COPY_NIBBLE(pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), 0, 1, 2, XorMask); \
}
#define GET_VGA16_CLR_COPY_LIDX(pDst, pPat, pbgrf, XorMask) \
{ \
*pDst = (*pDst & 0xF0) | \
_GET_VGA16_CLR_COPY_NIBBLE(pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), 3, 4, 5, XorMask); \
}
#define GET_VGA16_CLR_COPY_BYTE(pDst, pPat, XorMask) \
{ \
*pDst = _GET_VGA16_CLR_COPY_BYTE(pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), \
_GET_B_CLR(pbgrf+1), \
_GET_G_CLR(pbgrf+1), \
_GET_R_CLR(pbgrf+1), XorMask); \
}
//
//**************************************************************************
// VGA256 8BPP Macros
//**************************************************************************
#define GET_VGA256_IDX_CLR_XLATE(pDst, pPat, p1, p2, p3, pXlate) \
{ \
*pDst++ = pXlate[((((DWORD)p1 - GETPAT(pPat, 0, 0)) >> 6) & 0x1c0) | \
((((DWORD)p2 - GETPAT(pPat, 2, 0)) >> 9) & 0x038) | \
((((DWORD)p3 - GETPAT(pPat, 4, 0)) >> 12) & 0x007)]; \
}
#define _GET_VGA256_CLR_COPY_XLATE(pPat, pXlate, b, g, r) \
pXlate[(((b - GETPAT(pPat, 0, 0)) & 0x1c00000) | \
((g - GETPAT(pPat, 2, 0)) & 0x0380000) | \
((r - GETPAT(pPat, 4, 0)) & 0x0070000)) >> 16]
#define GET_VGA256_CLR_COPY_XLATE(pPat, pXlate) \
_GET_VGA256_CLR_COPY_XLATE(pPat, pXlate, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf))
#define GET_VGA256_GRAY_COPY(pPat) (BYTE)(GET_GRAY_IDX(pbgrf, pPat, 0) >> 12)
#define GET_VGA256_GRAY_COPY_XLATE(pPat, pXlate) \
pXlate[GET_GRAY_IDX(pbgrf, pPat, 0) >> 12]
//
//**************************************************************************
// Mask 8BPP Macros
//**************************************************************************
#define GET_P8BPPXLATE(p, bm8i) \
ASSERT((bm8i).Data.pXlateIdx <= XLATE_IDX_MAX); \
p = p8BPPXlate[(bm8i).Data.pXlateIdx]
#define _GET_MASK8BPP_K_332(b, g, r, pXlate) \
(BYTE)((((r-PatC) & (PatC-ExtBGR[2]) & 0xe0000) | \
((g-PatM) & (PatM-ExtBGR[1]) & 0x1c000) | \
((b-PatY) & (PatY-ExtBGR[0]) & 0x03000))>>12)
#define _GET_MASK8BPP_332(pDst, pPat, b, g, r, pXlate) \
*pDst = (BYTE)((((b-GETPAT(pPat,0,0))&0x030000) | \
((g-GETPAT(pPat,2,0))&0x1C0000) | \
((r-GETPAT(pPat,4,0))&0xE00000))>>16)
#define _GET_MASK8BPP_K_332_XLATE(b, g, r, pXlate) \
(BYTE)pXlate[((((r-PatC) & (PatC-ExtBGR[2]) & 0xe0000) | \
((g-PatM) & (PatM-ExtBGR[1]) & 0x1c000) | \
((b-PatY) & (PatY-ExtBGR[0]) & 0x03000))>>12)]
#define _GET_MASK8BPP_332_XLATE(pDst, pPat, b, g, r, pXlate) \
*pDst = (BYTE)pXlate[((((b-GETPAT(pPat,0,0))&0x030000) | \
((g-GETPAT(pPat,2,0))&0x1C0000) | \
((r-GETPAT(pPat,4,0))&0xE00000))>>16)]
#define _GET_MASK8BPP_XLATE(pDst, pPat, b, g, r, pXlate) \
*pDst = (BYTE)pXlate[((((b-GETPAT(pPat,0,0))&0x0070000) | \
((g-GETPAT(pPat,2,0))&0x0380000) | \
((r-GETPAT(pPat,4,0))&0x1c00000))>>16)]
#define _GET_MASK8BPP_K_XLATE(b, g, r, pXlate) \
(BYTE)pXlate[((((r-PatC) & (PatC-ExtBGR[2]) & 0x1c0000) | \
((g-PatM) & (PatM-ExtBGR[1]) & 0x038000) | \
((b-PatY) & (PatY-ExtBGR[0]) & 0x007000)) >> 12)]
#define _GET_MASK8BPP_REP_K(pDst, pPat, b, g, r, BMACRO, pMacData) \
{ \
DWORD u; \
DWORD PatC; \
DWORD PatM; \
DWORD PatY; \
DWORD irgb[4]; \
DWORD dwDst; \
BYTE bDst; \
\
dwDst = ((irgb[0] = r) < (irgb[1] = g)) ? 0 : 1; \
irgb[2] = \
irgb[3] = b; \
dwDst |= ((irgb[dwDst] < irgb[2]) ? 0 : 1) << 1; \
u = irgb[dwDst] >> 21; \
PatY = (DWORD)GETPAT(pPat, 0, 0); \
PatM = (DWORD)GETPAT(pPat, 2, 0); \
PatC = (DWORD)GETPAT(pPat, 4, 0); \
bDst = bm8i.Data.bBlack; \
\
if ((u < PatC) && (u < PatM) && (u < PatY)) { \
\
bDst = BMACRO(irgb[2], irgb[1], irgb[0], pMacData); \
} \
\
*pDst = bDst; \
}
#define GET_MASK8BPP(pDst, pPat, bMac, pMacData) \
bMac(pDst, pPat, \
_GET_B_CLR(pbgrf), _GET_G_CLR(pbgrf), _GET_R_CLR(pbgrf), \
pMacData)
#define GET_MASK8BPP_REP_K(pDst, pPat, bMac, pMacData) \
_GET_MASK8BPP_REP_K(pDst, pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), \
bMac, pMacData)
#define GET_MASK8BPP_MONO(pDst, pPat, g1, bXor) \
*pDst = (BYTE)(((g1)-GETMONOPAT(pPat, 0)) >> 12) ^ (bXor)
//
//**************************************************************************
// 16BPP_555 Macros/16BPP_565
//**************************************************************************
#define _GET_16BPP_COPY_W_MASK(pPat, b, g, r, bm, gm, rm, xm) \
(WORD)((((((b) - GETPAT(pPat, 0, 0)) & (bm)) | \
(((g) - GETPAT(pPat, 2, 0)) & (gm)) | \
(((r) - GETPAT(pPat, 4, 0)) & (rm))) ^ (xm)) >> 16)
#define _GET_16BPP_COPY_DW_MASK(pPat, b1, g1, r1, b2, g2, r2, bm,gm,rm,xm) \
((DWORD)((((((b1) - GETPAT(pPat, 0, 0)) & (bm)) | \
(((g1) - GETPAT(pPat, 2, 0)) & (gm)) | \
(((r1) - GETPAT(pPat, 4, 0)) & (rm))) >> 16) | \
( (((b2) - GETPAT(pPat, 0, 1)) & (bm)) | \
(((g2) - GETPAT(pPat, 2, 1)) & (gm)) | \
(((r2) - GETPAT(pPat, 4, 1)) & (rm)))) ^ (xm))
#define GET_16BPP_COPY_W_MASK(pPat, bm, gm, rm, xm) \
_GET_16BPP_COPY_W_MASK(pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), \
bm, gm, rm, xm)
#define GET_16BPP_COPY_DW_MASK(pPat, bm, gm, rm, xm) \
_GET_16BPP_COPY_DW_MASK(pPat, \
_GET_B_CLR(pbgrf), \
_GET_G_CLR(pbgrf), \
_GET_R_CLR(pbgrf), \
_GET_B_CLR(pbgrf + 1), \
_GET_G_CLR(pbgrf + 1), \
_GET_R_CLR(pbgrf + 1), \
bm, gm, rm, xm)
//
// Functions prototype
//
VOID
HTENTRY
OutputAATo1BPP(
PAAHEADER pAAHdr,
PGRAYF pbgrf,
PGRAYF pInEnd,
LPBYTE pbDst,
LPDWORD pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo4BPP(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
LPDWORD pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAAToVGA16(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
LPDWORD pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
LPBYTE
HTENTRY
BuildVGA256Xlate(
LPBYTE pXlate,
LPBYTE pNewXlate
);
VOID
HTENTRY
OutputAAToVGA256(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo8BPP_B332(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo8BPP_K_B332(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo8BPP_B332_XLATE(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo8BPP_K_B332_XLATE(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo8BPP_XLATE(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo8BPP_K_XLATE(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo8BPP_MONO(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo8BPP_MONO(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo16BPP_ExtBGR(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPWORD pwDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo16BPP_555_RGB(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPWORD pwDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo16BPP_555_BGR(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPWORD pwDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo16BPP_565_RGB(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPWORD pwDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo16BPP_565_BGR(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPWORD pwDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo24BPP_RGB(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo24BPP_BGR(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo24BPP_ORDER(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo32BPP_RGB(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo32BPP_BGR(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
VOID
HTENTRY
OutputAATo32BPP_ORDER(
PAAHEADER pAAHdr,
PBGRF pbgrf,
PBGRF pInEnd,
LPBYTE pbDst,
PLONG pIdxBGR,
LPBYTE pbPat,
LPBYTE pbPatEnd,
LONG cbWrapBGR,
AAOUTPUTINFO AAOutputInfo
);
LONG
HTENTRY
CreateHalftoneBrushPat(
PDEVICECOLORINFO pDCI,
PCOLORTRIAD pColorTriad,
PDEVCLRADJ pDevClrAdj,
LPBYTE pDest,
LONG cbDestNext
);
#if DBG
LPSTR
GetAAOutputFuncName(
AAOUTPUTFUNC AAOutputFunc
);
#endif
#endif // _HTSETBMP_