
// Raw2Bmp_MFCDlg.cpp : 구현 파일
//

#include "stdafx.h"
#include "Raw2Bmp_MFC.h"
#include "Raw2Bmp_MFCDlg.h"
#include "afxdialogex.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CRaw2Bmp_MFCDlg 대화 상자

#define RAW_WIDTH 3072
#define RAW_HEIGHT 3072

CRaw2Bmp_MFCDlg::CRaw2Bmp_MFCDlg(CWnd* pParent /*=NULL*/)
	: CDialogEx(CRaw2Bmp_MFCDlg::IDD, pParent)
{
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CRaw2Bmp_MFCDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CRaw2Bmp_MFCDlg, CDialogEx)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDOK, &CRaw2Bmp_MFCDlg::OnBnClickedOk)
END_MESSAGE_MAP()


// CRaw2Bmp_MFCDlg 메시지 처리기

BOOL CRaw2Bmp_MFCDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// 이 대화 상자의 아이콘을 설정합니다. 응용 프로그램의 주 창이 대화 상자가 아닐 경우에는
	//  프레임워크가 이 작업을 자동으로 수행합니다.
	SetIcon(m_hIcon, TRUE);			// 큰 아이콘을 설정합니다.
	SetIcon(m_hIcon, FALSE);		// 작은 아이콘을 설정합니다.

	// TODO: 여기에 추가 초기화 작업을 추가합니다.

	return TRUE;  // 포커스를 컨트롤에 설정하지 않으면 TRUE를 반환합니다.
}

// 대화 상자에 최소화 단추를 추가할 경우 아이콘을 그리려면
//  아래 코드가 필요합니다. 문서/뷰 모델을 사용하는 MFC 응용 프로그램의 경우에는
//  프레임워크에서 이 작업을 자동으로 수행합니다.

void CRaw2Bmp_MFCDlg::OnPaint()
{
	if (IsIconic())
	{
		CPaintDC dc(this); // 그리기를 위한 디바이스 컨텍스트입니다.

		SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);

		// 클라이언트 사각형에서 아이콘을 가운데에 맞춥니다.
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// 아이콘을 그립니다.
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialogEx::OnPaint();
	}
}

// 사용자가 최소화된 창을 끄는 동안에 커서가 표시되도록 시스템에서
//  이 함수를 호출합니다.
HCURSOR CRaw2Bmp_MFCDlg::OnQueryDragIcon()
{
	return static_cast<HCURSOR>(m_hIcon);
}

void CRaw2Bmp_MFCDlg::OnBnClickedOk()
{
	// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

	//CString raw = _T("./Sample.RAW");
	//CString dst = _T("./Sample.png");

	CString raw = _T("./1.raw");
	CString dst = _T("./1.png");

	//IU.MakeImage(raw, dst, 2520, 3032); default 14 bit
	//IU.MakeImage(raw, dst, 3072, 3072, 16);
	//IU.MakeImage(raw, dst, 2520, 3032, 16);
	//IU.MakeImage(raw, dst, 3052, 3052, 16);

	//IU.ResizeImage (dst, 480, 480);

	FTP_INFO *FI = new FTP_INFO;
	FI->ConnectAddress = _T("192.168.51.5");
	FI->ConnectPort = 21;
	FI->Id = _T("chodadoo");
	FI->Pw = _T("");
	FI->DirPath = _T("");
	FI->UploadFile = dst;

	IU.FileUpload ( FI );

	//CDialogEx::OnOK();
}