#ifndef _ENGINE_ASMUTIL_HPP_ #define _ENGINE_ASMUTIL_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif class Point; class PureEdge; class PureMap; extern "C" { void clearBitmap(DWORD lpBitmapData,DWORD imageExtent); void setBits(DWORD lpBitmapData,DWORD imageExtent,BYTE charByte); void lineWINGBlt(DWORD lpWINGData,Point *lpFirstPoint,Point *lpSecondPoint,DWORD width,DWORD height,WORD value); void initEdge(int edgeType,PureEdge *lpPureEdge); void mapTexture(PureMap *lpEdgeMap); void setMaskInfo(WORD useMask,BYTE maskValue); void setSrcBitmapInfo(WORD width,WORD height,unsigned char *lpSrcBitmapImage); void setDstBitmapInfo(WORD width,WORD height,unsigned char *lpDstBitmapImage); void getSrcDataByte(WORD row,WORD col); void resampleClip(char *lpIn,char *lpOut,DWORD inLen,DWORD outLen,DWORD outClip); } class ASMRoutines { public: static void clearBitmap(DWORD lpBitmapData,DWORD imageExtent); static void setBits(DWORD lpBitmapData,DWORD imageExtent,BYTE charByte); static void line(DWORD lpWINGData,Point *lpFirstPoint,Point *lpSecondPoint,DWORD width,DWORD imageExtent,WORD value); static void initEdge(int edgeType,PureEdge *lpPureEdge); static void mapTexture(PureMap *lpEdgeMap); static void setMaskInfo(WORD useMask,BYTE maskValue); static void setSrcBitmapInfo(WORD width,WORD height,unsigned char *lpSrcBitmapImage); static void setDstBitmapInfo(WORD width,WORD height,unsigned char *lpDstBitmapImage); static void getSrcDataByte(WORD row,WORD col); static void resampleClip(char *lpIn,char *lpOut,DWORD inLen,DWORD outLen,DWORD outClip); }; inline void ASMRoutines::clearBitmap(DWORD lpBitmapData,DWORD imageExtent) { ::clearBitmap(lpBitmapData,imageExtent); } inline void ASMRoutines::setBits(DWORD lpBitmapData,DWORD imageExtent,BYTE charByte) { ::setBits(lpBitmapData,imageExtent,charByte); } inline void ASMRoutines::line(DWORD ptrData,Point *lpFirstPoint,Point *lpSecondPoint,DWORD width,DWORD height,WORD value) { ::lineWINGBlt(ptrData,lpFirstPoint,lpSecondPoint,width,height,value); } inline void ASMRoutines::initEdge(int edgeType,PureEdge *lpPureEdge) { ::initEdge(edgeType,lpPureEdge); } inline void ASMRoutines::mapTexture(PureMap *lpEdgeMap) { ::mapTexture(lpEdgeMap); } inline void ASMRoutines::setMaskInfo(WORD useMask,BYTE maskValue) { ::setMaskInfo(useMask,maskValue); } inline void ASMRoutines::setSrcBitmapInfo(WORD width,WORD height,unsigned char *lpSrcBitmapImage) { ::setSrcBitmapInfo(width,height,lpSrcBitmapImage); } inline void ASMRoutines::setDstBitmapInfo(WORD width,WORD height,unsigned char *lpDstBitmapImage) { ::setDstBitmapInfo(width,height,lpDstBitmapImage); } inline void ASMRoutines::getSrcDataByte(WORD row,WORD col) { ::getSrcDataByte(row,col); } inline void ASMRoutines::resampleClip(char *lpIn,char *lpOut,DWORD inLen,DWORD outLen,DWORD outClip) { ::resampleClip(lpIn,lpOut,inLen,outLen,outClip); } #endif