|
|
// Extern functions declaration
#ifndef _HREEXT_
#define _HREEXT_
// Execute an RPL
void DoRPL (LPHRESTATE lpHREState, LPRPLLIST lpRPL);
BOOL InitDisplay (LPRESTATE, UINT);
// BitBlt: source is aligned, destination is not aligned
ULONG FAR PASCAL RP_BITMAP1TO1 ( LPVOID lpContext, // resource executor context
USHORT us_xoffset, /* left offset of source bitmap */ short ul_row, /* top row position */ short ul_col, /* left column position */ USHORT ul_warp, /* longs per scan line */ USHORT ul_height, /* num of dot rows */ USHORT ul_width, /* num of significant dot columns */ ULONG FAR *pul_src, /* bit map data to be copied */ ULONG FAR *pul_pat, /* pattern pointer */ ULONG ul_rop );
// PatBlt
ULONG FAR PASCAL RP_FILLSCANROW ( LPRESTATE lpRE, // resource executor context
USHORT xDst, // rectangle left
USHORT yDst, // rectangle right
USHORT xExt, // rectangle width
USHORT yExt, // rectangle height
UBYTE FAR* lpPat, // 32x32 pattern bitmap
DWORD dwRop, // raster operation
LPVOID lpBand, // output band buffer
UINT cbLine, // band width in bytes
WORD yBrush // brush position offset
);
// Vertical Bitmaps
USHORT FAR PASCAL RP_BITMAPV ( USHORT usRow, /* Row to start Bitmap */ USHORT usCol, /* Column to Start Bitmap */ UBYTE ubTopPadBits, /* Bits to skip in the data stream */ USHORT usHeight, /* Number of bits to draw */ UBYTE FAR *ubBitmapData, /* Data to draw */ LPVOID lpBits, // output band buffer
UINT cbLine // bytes per scan line
);
UINT RP_LineEE_Draw ( RP_SLICE_DESC FAR *slice, LPBITMAP lpbmBand ); // Convert a line from endpoint form to slice form
void RP_SliceLine ( SHORT s_x1, SHORT s_y1, // endpoint 1
SHORT s_x2, SHORT s_y2, // endpoint 2
RP_SLICE_DESC FAR* lpsd, // output slice form of line
UBYTE fb_keep_order // keep drawing order on styled lines/
);
#endif // _HREEXT_
|