405 lines
No EOL
14 KiB
C++
405 lines
No EOL
14 KiB
C++
// The following ifdef block is the standard way of creating macros which make exporting
|
|
// from a DLL simpler. All files within this DLL are compiled with the CCMAP_API
|
|
// symbol defined on the command line. this symbol should not be defined on any project
|
|
// that uses this DLL. This way any other project whose source files include this file see
|
|
// CCMAP_API functions as being imported from a DLL, whereas this DLL sees symbols
|
|
// defined with this macro as being exported.
|
|
#ifndef ___CCMAP_H___
|
|
#define ___CCMAP_H___
|
|
|
|
//#define CCMAP_DLL_MODE
|
|
#ifndef _WINDOWS_
|
|
typedef long LONG;
|
|
|
|
typedef struct tagPOINT
|
|
{
|
|
LONG x;
|
|
LONG y;
|
|
} POINT;
|
|
|
|
typedef struct tagRECT
|
|
{
|
|
LONG left;
|
|
LONG top;
|
|
LONG right;
|
|
LONG bottom;
|
|
} RECT;
|
|
#endif
|
|
|
|
#ifdef CCMAP_DLL_MODE
|
|
#ifdef CCMAP_EXPORTS
|
|
#define CCMAP_API __declspec(dllexport)
|
|
#else
|
|
#define CCMAP_API __declspec(dllimport)
|
|
#endif
|
|
#else
|
|
#define CCMAP_API
|
|
#endif
|
|
|
|
#ifndef __DEFINE_NUMS__
|
|
#define __DEFINE_NUMS__
|
|
|
|
#define f32 float
|
|
#define u32 unsigned int
|
|
#define s32 int
|
|
#define u16 unsigned short
|
|
#define s16 signed short
|
|
#define u8 unsigned char
|
|
#define s8 char
|
|
|
|
#endif
|
|
|
|
class CCMAP_API MAP
|
|
{
|
|
public:
|
|
u32 PITCH;
|
|
u32 SX,SY;
|
|
u8 staticBase;
|
|
|
|
MAP();
|
|
MAP(MAP *refMap);
|
|
~MAP();
|
|
|
|
s32 *GetBase();
|
|
void SetBase(s32 *_BASE);
|
|
|
|
s32 GetValue(int pos);
|
|
void SetValue(int pos, s32 Value);
|
|
|
|
void MoveBase(s32 dec);
|
|
|
|
u32 SetSize(u32 _PITCH, u32 _SY, u8 forceReset = 0);
|
|
void Delete();
|
|
|
|
private:
|
|
s32 *BASE; // <- Aligned base
|
|
s32 *RealBASE;
|
|
};
|
|
|
|
class CCMAP_API MAP8
|
|
{
|
|
public:
|
|
u32 PITCH;
|
|
u32 SX,SY;
|
|
u8 staticBase;
|
|
|
|
MAP8();
|
|
~MAP8();
|
|
|
|
u8 *GetBase();
|
|
void SetBase(u8 *_BASE);
|
|
|
|
u8 GetValue(int pos);
|
|
void SetValue(int pos, u8 Value);
|
|
|
|
void MoveBase(s32 dec);
|
|
|
|
u32 SetSize(u32 _PITCH, u32 _SY, u8 forceReset = 0);
|
|
void Delete();
|
|
|
|
private:
|
|
u8 *BASE; // <- Aligned base
|
|
};
|
|
|
|
class CCMAP_API MAP16
|
|
{
|
|
public:
|
|
u32 PITCH;
|
|
u32 SX,SY;
|
|
u8 staticBase;
|
|
|
|
MAP16();
|
|
~MAP16();
|
|
|
|
s16 *GetBase();
|
|
void SetBase(s16 *_BASE);
|
|
|
|
s16 GetValue(int pos);
|
|
void SetValue(int pos, s16 Value);
|
|
|
|
void MoveBase(s32 dec);
|
|
|
|
u32 SetSize(u32 _PITCH, u32 _SY, u8 forceReset = 0);
|
|
void Delete();
|
|
|
|
private:
|
|
s16 *BASE; // <- Aligned base
|
|
};
|
|
|
|
|
|
void CCMAP_API SWAPMAP(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API ORb(MAP *MapSRC,MAP *MapDST);
|
|
|
|
/* MAP Functions */
|
|
u32 CCMAP_API SAVEBMP(MAP *RefMap,char *Filename);
|
|
|
|
void CCMAP_API COPY_O2_RGBA(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API COPY_OX_RGBA(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API COPY_II(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API COPY_RESAMPLE(MAP *MapSRC,MAP *MapDST);
|
|
s32 GET_AVERAGE(MAP *MapDST);
|
|
void CCMAP_API ADD_VALUE(MAP *MapDST,s32 Value);
|
|
void CCMAP_API ABS(MAP *MapDST);
|
|
void CCMAP_API DETECT_EDGES(MAP *M, int tttr=-1, int radius=-1);
|
|
void CCMAP_API SHIFT(MAP *MapDST,s32 SHIFT);
|
|
void CCMAP_API II(MAP *CurrentMap);
|
|
void CCMAP_API ABS_SUB(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API SUB(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API ADD(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API COPY_O2(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API WAVELET_0(MAP *MapDST);
|
|
void CCMAP_API WAVELET_1(MAP *MapDST,MAP *MapDIFF);
|
|
void CCMAP_API WAVELET_INTEGR(MAP *MapDST);
|
|
void CCMAP_API FLIP_V(MAP *MapDST);
|
|
void CCMAP_API ONLY_ABS(MAP *MapDST);
|
|
void CCMAP_API ONLY_NABS(MAP *MapDST);
|
|
void CCMAP_API SQR(MAP *MapDST);
|
|
void CCMAP_API DETECT_EDGES(MAP *M);
|
|
void CCMAP_API OFFSET(MAP *MapDST,s32 DX , s32 DY);
|
|
void CCMAP_API NEG(MAP *MapDST);
|
|
void CCMAP_API COPY_GRADIENT(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API MAX(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API MIN(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API MAX_CROSS(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API MIN_CROSS(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API ERODE(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API NON_ZERO(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API AND(MAP *MapDST,s32 And);
|
|
void CCMAP_API DrawLine(MAP *MapDST,float X1,float Y1,float X2,float Y2,u32 Color);
|
|
void CCMAP_API DrawLine_Clip(MAP *MapDST,float X1,float Y1,float X2,float Y2,u32 Color);
|
|
void CCMAP_API DrawQuad(MAP *MapDST,s32 X1,s32 Y1,s32 X2,s32 Y2,u32 Color,u32 Ep);
|
|
void CCMAP_API DrawQuadFull(MAP *MapDST,s32 X1,s32 Y1,s32 X2,s32 Y2,u32 Color);
|
|
void CCMAP_API DrawPointFull(MAP *MapDST,s32 X1,s32 Y1,u32 Size,u32 Color);
|
|
void CCMAP_API DrawQuad_R(MAP *MapDST,s32 X1,s32 Y1,s32 X2,s32 Y2,u32 Color,u32 Ep,float Alpha);
|
|
void CCMAP_API DrawEllipse(MAP *MapDST,s32 X,s32 Y,class Vector *pBig,float SmallFactor,u32 Color);
|
|
void CCMAP_API DrawCircle(MAP *MapDST,s32 X,s32 Y,s32 Radius,u32 Color,u32 Ep);
|
|
void CCMAP_API MIX(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API COPY(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API SET(MAP *MapDST,s32 Value);
|
|
void CCMAP_API FLIP_H(MAP *MapDST);
|
|
void CCMAP_API COPY_BW(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API COPY_RGBA(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API COPY_O2(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API DARKER(MAP *MapDST);
|
|
void CCMAP_API LF_GaussianFilter(MAP *MapSRCConst,MAP *MapDST,MAP *MapSRC,int Radius,int Derviv);
|
|
u32 CCMAP_API GET_MARKER(MAP *Map);
|
|
void CCMAP_API SET_BORDER(MAP *MapSRC,s32 Size,s32 Value);
|
|
|
|
#define MAP32_GET_AVERAGE GET_AVERAGE
|
|
#define MAP32_ADD_VALUE ADD_VALUE
|
|
#define MAP32_ABS ABS
|
|
#define MAP32_DETECT_EDGES DETECT_EDGES
|
|
#define MAP32_SHIFT SHIFT
|
|
#define MAP32_II II
|
|
#define MAP32_ABS_SUB ABS_SUB
|
|
#define MAP32_SUB SUB
|
|
#define MAP32_ADD ADD
|
|
#define MAP32_COPY_O2 COPY_O2
|
|
#define MAP32_WAVELET_0 WAVELET_0
|
|
#define MAP32_WAVELET_1 WAVELET_1
|
|
#define MAP32_WAVELET_INTEGR WAVELET_INTEGR
|
|
#define MAP32_FLIP_V FLIP_V
|
|
#define MAP32_ONLY_ABS ONLY_ABS
|
|
#define MAP32_ONLY_NABS ONLY_NABS
|
|
#define MAP32_SQR SQR
|
|
#define MAP32_DETECT_EDGES DETECT_EDGES
|
|
#define MAP32_OFFSET OFFSET
|
|
#define MAP32_NEG NEG
|
|
#define MAP32_COPY_GRADIENT COPY_GRADIENT
|
|
#define MAP32_MAX MAX
|
|
#define MAP32_MIN MIN
|
|
#define MAP32_MAX_CROSS MAX_CROSS
|
|
#define MAP32_MIN_CROSS MIN_CROSS
|
|
#define MAP32_ERODE ERODE
|
|
#define MAP32_NON_ZERO NON_ZERO
|
|
#define MAP32_AND AND
|
|
#define MAP32_DrawLine DrawLine
|
|
#define MAP32_DrawLine_Clip DrawLine_Clip
|
|
#define MAP32_DrawQuad DrawQuad
|
|
#define MAP32_DrawQuadFull DrawQuadFull
|
|
#define MAP32_DrawPointFull DrawPointFull
|
|
#define MAP32_DrawQuad_R DrawQuad_R
|
|
#define MAP32_DrawEllipse DrawEllipse
|
|
#define MAP32_DrawCircle DrawCircle
|
|
#define MAP32_MIX MIX
|
|
#define MAP32_COPY COPY
|
|
#define MAP32_SET SET
|
|
#define MAP32_FLIP_H FLIP_H
|
|
#define MAP32_COPY_BW COPY_BW
|
|
#define MAP32_COPY_RGBA COPY_RGBA
|
|
#define MAP32_COPY_O2 COPY_O2
|
|
#define MAP32_DARKER DARKER
|
|
#define MAP32_LF_GaussianFilter LF_GaussianFilter
|
|
#define MAP32_GET_MARKER GET_MARKER
|
|
#define MAP32_SET_BORDER SET_BORDER
|
|
|
|
#define MAP_GENERIC_T(MapSRC,typeof,function)\
|
|
{\
|
|
for (int YYY = 0;YYY < MapSRC->SY;YYY++)\
|
|
{\
|
|
int XXX = 0;\
|
|
typeof *Pixel = MapSRC->GetBase() + YYY * MapSRC->PITCH;\
|
|
typeof *PixelLast = Pixel + MapSRC->SX;\
|
|
while (Pixel < PixelLast)\
|
|
{\
|
|
function;\
|
|
Pixel++;\
|
|
XXX++;\
|
|
}\
|
|
Pixel += MapSRC->PITCH - MapSRC->SX;\
|
|
}\
|
|
}
|
|
#define MAP_GENERIC(MapSRC,function) MAP_GENERIC_T(MapSRC,PIXELMAPTYPE,function)
|
|
|
|
#define MAP_GENERIC2(MapSRC,MapDST,function)\
|
|
{\
|
|
int MAXY = MapSRC->SY > MapDST->SY ? MapDST->SY : MapSRC->SY;\
|
|
int MAXX = MapSRC->SX > MapDST->SX ? MapDST->SX : MapSRC->SX;\
|
|
for (int YYY = 0;YYY < MAXY;YYY++)\
|
|
{\
|
|
int XXX = 0;\
|
|
PIXELMAPTYPE *PixelSRC = MapSRC->GetBase() + YYY * MapSRC->PITCH;\
|
|
PIXELMAPTYPE *PixelDST = MapDST->GetBase() + YYY * MapDST->PITCH;\
|
|
PIXELMAPTYPE *PixelLast = PixelSRC + MAXX;\
|
|
while (PixelSRC < PixelLast)\
|
|
{\
|
|
function;\
|
|
PixelSRC++;\
|
|
PixelDST++;\
|
|
XXX++;\
|
|
}\
|
|
PixelSRC += MapSRC->PITCH - MAXX;\
|
|
PixelDST += MapDST->PITCH - MAXX;\
|
|
}\
|
|
}
|
|
|
|
|
|
|
|
void CCMAP_API MAP32_BLUR_Inplace(MAP *pSrc, u32 Rpo2 , u32 Iteration);
|
|
void CCMAP_API MAP32_BLUR_V_Inplace(MAP *pSrc,u32 Rpo2);
|
|
void CCMAP_API MAP32_BLUR_H_Inplace(MAP *pSrc,u32 Rpo2);
|
|
|
|
/* MAP16 Functions */
|
|
void CCMAP_API MAP16_BLUR_Inplace(MAP16 *pSrc, u32 Rpo2 , u32 Iteration);
|
|
void CCMAP_API MAP16_Copy(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_CopySqr8(MAP8 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_BLUR_H_Inplace(MAP16 *pSrc,u32 Rpo2);
|
|
void CCMAP_API MAP16_BLUR_V_Inplace(MAP16 *pSrc,u32 Rpo2);
|
|
void CCMAP_API MAP16_Denoise_Inplace_FAST(MAP16 *pSrc);
|
|
void CCMAP_API MAP16_Sub(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_Add(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_Add(MAP16 *pSrc,s16 Value);
|
|
void CCMAP_API MAP16_And(MAP16 *pSrc,s16 Value);
|
|
void CCMAP_API MAP16_And(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_Or(MAP16 *pSrc,s16 Value);
|
|
void CCMAP_API MAP16_Abs(MAP16 *pSrc);
|
|
void CCMAP_API MAP16_OnlyAbs(MAP16 *MapSRC);
|
|
void CCMAP_API MAP16_Or(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_Xor(MAP16 *pSrc,s16 Value);
|
|
void CCMAP_API MAP16_Set(MAP16 *pSrc,s16 Value);
|
|
void CCMAP_API MAP16_Mul(MAP16 *MapSRC,MAP16 *MapDST);
|
|
void CCMAP_API MAP16_Sqr(MAP16 *MapSRC);
|
|
void CCMAP_API MAP16_Sqrt(MAP16 *MapSRC);
|
|
void CCMAP_API MAP16_Div(MAP16 *pSrc,MAP16 *pDst,s16 Delta);
|
|
void CCMAP_API MAP16_BLUR_XY(MAP16 *pSrc,MAP16 *pTmp,u8 Alpha, u32 Rpo2 , u32 Iteration);
|
|
void CCMAP_API MAP16_Shift(MAP16 *MapSRC,s16 Value);
|
|
void CCMAP_API MAP16_Limit_UP(MAP16 *MapSRC,s16 UpperValue);
|
|
void CCMAP_API MAP16_Limit_Down(MAP16 *MapSRC,s16 LowestValue);
|
|
void CCMAP_API MAP16_Denoise_FAST(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_SmallBlur_FAST(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_BLUR_ScissorX_Inplace(MAP16 *pSrc,s32 FactorX,s32 InvertOrigin = 0);
|
|
void CCMAP_API SET_BORDER16(MAP16 *MapSRC,s32 Size,s16 Value);
|
|
void CCMAP_API MAP16_BLUR_CopyTranspose(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_ShiftLine(s16 *pSrc,s32 Shift,s32 Lenght);
|
|
u32 CCMAP_API MAP_2_MAP16(MAP *MapSRC,MAP16 *MapDST,u32 Shift = 19);
|
|
void CCMAP_API MAP16_2_MAP(MAP16 *MapSRC,MAP *MapDST,u32 Shift);
|
|
void CCMAP_API MAP16_DX(MAP16 *MapSRC);
|
|
void CCMAP_API MAP16_DY(MAP16 *MapSRC);
|
|
void CCMAP_API MAP16_XO2(MAP16 *MapDST);
|
|
void CCMAP_API MAP16_YO2(MAP16 *MapDST);
|
|
void CCMAP_API MAP16_YE2(MAP16 *MapDST);
|
|
void CCMAP_API MAP16_XE2(MAP16 *MapDST) ;
|
|
void CCMAP_API MAP16_Copy_O2(MAP16 *MapSRC,MAP16 *MapDST) ;
|
|
void CCMAP_API MAP16_XOffset(MAP16 *MapDST,s32 offset);
|
|
void CCMAP_API MAP16_HalfXOffset(MAP16 *MapDST);
|
|
void CCMAP_API MAP16_FLIP_H(MAP16 *MapDST);
|
|
void CCMAP_API MAP16_FLIP_V(MAP16 *MapDST);
|
|
void CCMAP_API MAP16_CopyFlipV(MAP16 *MapSRC,MAP16 *MapDST);
|
|
void CCMAP_API MAP16_CopyFlipH(MAP16 *MapSRC,MAP16 *MapDST);
|
|
void CCMAP_API MAP16_BLUR_CopyTransposeFAST(MAP16 *pSrc,MAP16 *pDst);
|
|
void CCMAP_API MAP16_Copy8(MAP8 *pSrc,MAP16 *pDst);
|
|
|
|
/* MAP32 Functions */
|
|
void CCMAP_API MAP32_BLUR_Inplace(MAP *pSrc, u32 Rpo2 , u32 Iteration);
|
|
void CCMAP_API MAP32_Copy(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_CopySqr8(MAP8 *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_BLUR_H_Inplace(MAP *pSrc,u32 Rpo2);
|
|
void CCMAP_API MAP32_BLUR_V_Inplace(MAP *pSrc,u32 Rpo2);
|
|
void CCMAP_API MAP32_Denoise_Inplace_FAST(MAP *pSrc);
|
|
void CCMAP_API MAP32_Sub(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_Add(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_Add(MAP *pSrc,s32 Value);
|
|
void CCMAP_API MAP32_And(MAP *pSrc,s32 Value);
|
|
void CCMAP_API MAP32_And(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_Or(MAP *pSrc,s32 Value);
|
|
void CCMAP_API MAP32_Abs(MAP *pSrc);
|
|
void CCMAP_API MAP32_OnlyAbs(MAP *MapSRC);
|
|
void CCMAP_API MAP32_Or(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_Xor(MAP *pSrc,s32 Value);
|
|
void CCMAP_API MAP32_MaxValue(MAP *pSrc,s32 Value);
|
|
void CCMAP_API MAP32_Set(MAP *pSrc,s32 Value);
|
|
void CCMAP_API MAP32_Mul(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API MAP32_Sqr(MAP *MapSRC);
|
|
void CCMAP_API MAP32_Sqrt(MAP *MapSRC);
|
|
void CCMAP_API MAP32_Div(MAP *pSrc,MAP *pDst,s32 Delta);
|
|
void CCMAP_API MAP32_BLUR_XY(MAP *pSrc,MAP *pTmp,u8 Alpha, u32 Rpo2 , u32 Iteration);
|
|
void CCMAP_API MAP32_Shift(MAP *MapSRC,s32 Value);
|
|
void CCMAP_API MAP32_Limit_UP(MAP *MapSRC,s32 UpperValue);
|
|
void CCMAP_API MAP32_Limit_Down(MAP *MapSRC,s32 LowestValue);
|
|
void CCMAP_API MAP32_Denoise_FAST(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_SmallBlur_FAST(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_BLUR_ScissorX_Inplace(MAP *pSrc,s32 FactorX,s32 InvertOrigin = 0);
|
|
void CCMAP_API SET_BORDER16(MAP *MapSRC,s32 Size,s32 Value);
|
|
void CCMAP_API MAP32_BLUR_CopyTranspose(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_ShiftLine(s32 *pSrc,s32 Shift,s32 Lenght);
|
|
void CCMAP_API MAP32_2_MAP(MAP *MapSRC,MAP *MapDST,u32 Shift = 19);
|
|
u32 CCMAP_API MAP_2_MAP32(MAP *MapSRC,MAP *MapDST,u32 Shift = 19);
|
|
void CCMAP_API MAP32_DX(MAP *MapSRC);
|
|
void CCMAP_API MAP32_DY(MAP *MapSRC);
|
|
void CCMAP_API MAP32_XO2(MAP *MapDST);
|
|
void CCMAP_API MAP32_YO2(MAP *MapDST);
|
|
void CCMAP_API MAP32_YE2(MAP *MapDST);
|
|
void CCMAP_API MAP32_XE2(MAP *MapDST) ;
|
|
void CCMAP_API MAP32_Copy_O2(MAP *MapSRC,MAP *MapDST) ;
|
|
void CCMAP_API MAP32_XOffset(MAP *MapDST,s32 offset);
|
|
void CCMAP_API MAP32_HalfXOffset(MAP *MapDST);
|
|
void CCMAP_API MAP32_FLIP_H(MAP *MapDST);
|
|
void CCMAP_API MAP32_FLIP_V(MAP *MapDST);
|
|
void CCMAP_API MAP32_CopyFlipV(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API MAP32_CopyFlipH(MAP *MapSRC,MAP *MapDST);
|
|
void CCMAP_API MAP32_BLUR_CopyTransposeFAST(MAP *pSrc,MAP *pDst);
|
|
void CCMAP_API MAP32_Copy8(MAP8 *pSrc,MAP *pDst);
|
|
|
|
/* MAP8 functions */
|
|
void CCMAP_API MAP_2_MAP8(MAP *pSrc,/*OUT*/MAP8 *pDst,/*IN*/u8 *pTempBuffer);
|
|
void CCMAP_API MAP8_2_MAP(/*IN*/MAP8 *pSrc,MAP *pDst);
|
|
void CCMAP_API SET_BORDER8(MAP8 *MapSRC,s32 Size,u8 Value);
|
|
void CCMAP_API MAP8_BLUR8_H_Inplace(MAP8 *pSrc,u32 Rpo2);
|
|
void CCMAP_API MAP8_BLUR8_V_Inplace(MAP8 *pSrc,u32 Rpo2);
|
|
void CCMAP_API MAP8_COMPUTEO2(MAP8 *pSrc,MAP8 *pDst);
|
|
void CCMAP_API ExtractPoint(MAP8 *MapDST,float X,float Y,float *Dest);
|
|
float CCMAP_API GetLineError(MAP8 *MapDST,float X1,float Y1,float X2,float Y2,float *Coefs,u32 Number);
|
|
|
|
void CCMAP_API ADD_NOISE(MAP *MapDST);
|
|
|
|
/************************************************************************************/
|
|
/** MAP DRAW FUNCTIONS **************************************************************/
|
|
/************************************************************************************/
|
|
|
|
void CCMAP_API DrawCross(MAP *image, POINT p, u32 color, int len, char orient = 3);
|
|
void CCMAP_API DrawRect(MAP *image, RECT r, u32 color);
|
|
void CCMAP_API DrawLineAddBW(MAP *MapDST,s32 X1,s32 Y1,s32 X2,s32 Y2, u32 Color);
|
|
|
|
|
|
void CCMAP_API DRawTEXT(u8 *pTEXT,u32 *pBase,s32 X, s32 Y, s32 Pitch , u32 Height , u32 Color , u32 X2 = 0 , u32 Y2 = 0, u32 BackColor = 0 );
|
|
#endif |