101 lines
2.9 KiB
C++
101 lines
2.9 KiB
C++
#ifndef _ENGINE_ASMUTIL_HPP_
|
|
#define _ENGINE_ASMUTIL_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#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
|
|
|