
#ifndef gui_h
#define gui_h


void __fastcall BMP_Dot(Graphics::TBitmap *pBITMAP,
                        int                pX,
                        int                pY,
                        int                pCOLOR);

//[2010.02.21.일][완료!!!]
int __fastcall BMP_GetDot(Graphics::TBitmap *pBITMAP,
                          int                pX,
                          int                pY);

//[2006.09.04.월][완료!!!]
void __fastcall BMP_Paint(Graphics::TBitmap *pBITMAP,
                          int                pCOLOR);

//[2006.11.02.목][완료!!!]
//[2018.08.08.수][완료!!!]
void __fastcall BMP_Brightness(Graphics::TBitmap *pBITMAP,
                               int                pBRIGHT);

//[2018.08.10.금][완료!!!]
void __fastcall BMP_Get_Bright_Color(int   pCOLOR,
                                     int   pBRIGHT,
                                     int  *rBRIGHTcolor);

//[2018.08.23.목][완료!!!]
int __fastcall Bmp_Color_Enable(int   pColor,
                                bool  pEnable);

//[2006.11.04.토][완료!!!]
//기본적으로 사용되고, 왼쪽위 에 배치한다.
#define  d_BMP_load_left_top  1
//바둑판식으로 배치한다.
#define  d_BMP_load_tile      2

void __fastcall BMP_Load(Graphics::TBitmap *pBITMAP,
                         AnsiString         pBMPname,
                         //0인 경우는 무효.
                         int                pSETwidth,
                         //0인 경우는 무효.
                         int                pSETheight,
                         int                pOPTION);

//[2007.12.01.토][완료!!!]
void __fastcall BMP_LoadJpeg(//읽어 들인 Jpeg 그림을 올려 놓을 비트맵.
                             Graphics::TBitmap *pBITMAP,
                             AnsiString         pJpegFileName,
                             //0인 경우는 무효.
                             int                pSETwidth,
                             //0인 경우는 무효.
                             int                pSETheight,
                             int                pOPTION);

void __fastcall BMP_Copy_Transparent(//원본 정보.
                                     Graphics::TBitmap *pBMPsrc,
                                     int                pXsrc,
                                     int                pYsrc,
                                     int                pWIDTHsrc,
                                     int                pHEIGHTsrc,
                                     //도착지 정보.
                                     Graphics::TBitmap *pBMPdst,
                                     int                pXdst,
                                     int                pYdst,
                                     int                pWIDTHdst,
                                     int                pHEIGHTdst,
                                     //투명색을 적용할 색.
                                     int                pTRANSPARENTcolor);

void __fastcall BMP_Copy_ChangeColor(//원본 정보.
                                     Graphics::TBitmap *pBMPsrc,
                                     int                pXsrc,
                                     int                pYsrc,
                                     int                pWIDTHsrc,
                                     int                pHEIGHTsrc,
                                     //도착지 정보.
                                     Graphics::TBitmap *pBMPdst,
                                     int                pXdst,
                                     int                pYdst,
                                     int                pWIDTHdst,
                                     int                pHEIGHTdst,
                                     //변환 대상이되는 색.
                                     int                pORGINcolor,
                                     //변환할 색.
                                     int                pCHANGEcolor);                         

void __fastcall BMP_Self_ChangeColor2(Graphics::TBitmap *pBITMAP,
                                     int                 pFcolor,
                                     int                 pFCcolor,
                                     int                 pBcolor,
                                     int                 pBCcolor);

//[2011.06.29.수][완료!!!]
void __fastcall Bmp_Area_ChangeColor_2(Graphics::TBitmap *pBmp,
                                       //[영역정보]----------------
                                       int                pX,
                                       int                pY,
                                       int                pWidth,
                                       int                pHeight,
                                       //[변환색지정]--------------
                                       int                pClrOrg1,
                                       int                pClrChg1,
                                       int                pClrOrg2,
                                       int                pClrChg2);

//[2012.07.14.토][완료!!!]
void __fastcall BMP_OneColor_CopyAndChange(//원본 정보.
                                           Graphics::TBitmap *pBMPsrc,
                                           int                pXsrc,
                                           int                pYsrc,
                                           int                pWIDTHsrc,
                                           int                pHEIGHTsrc,
                                           //도착지 정보.
                                           Graphics::TBitmap *pBMPdst,
                                           int                pXdst,
                                           int                pYdst,
                                           int                pWIDTHdst,
                                           int                pHEIGHTdst,
                                           //복사하고 바꿀 대상색.
                                           int                pThisColor,
                                           //바꿀 색.
                                           int                pChangeColor);

//[2011.06.25.토][완료!!!]
void __fastcall _Bmp_Create_And_Load(Graphics::TBitmap  **pBmp,
                                     AnsiString           pBmpFileName);


//[2021.05.23.일][완료]
bool __fastcall Bmp_Get_Size(char          *pPathNameExt,
                             unsigned int  *rWidth,
                             unsigned int  *rHeight);

//[2021.05.23.일][완료]
bool __fastcall Jpg_Get_Size(char          *pPathNameExt,
                             unsigned int  *rWidth,
                             unsigned int  *rHeight);
//[2021.03.29.월][완료]
bool __fastcall Image_Get_Size(char          *pPathNameExt,
                               unsigned int  *rWidth,
                               unsigned int  *rHeight);

//[2021.04.06.화][완료]                               
void __fastcall Bmp_Stretch(Graphics::TBitmap  *pBmp,
                            unsigned int        pWidth,
                            unsigned int        pHeight);
                             
#endif