⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cameratypedlg.cpp

📁 Microsoft WinCE 6.0 BSP FINAL release source code for use with the i.MX27ADS TO2 WCE600_FINAL_MX27_S
💻 CPP
字号:
/*
 * Copyright (C) 2004, MOTOROLA, INC. All Rights Reserved
 * THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
 * BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
 * MOTOROLA, INC.
 *
 *  Copyright (C) 2004-2006, Freescale Semiconductor, Inc. All Rights Reserved.
 *  THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
 *  AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
 *
 *  File:			APPS/CAMAPP/CameraTypeDlg.cpp
 *  Purpose:		This file implements the DialogProc for the CameraType Dialog.
 *  Notes:
 *
 *  Modifications:
 *  MM/DD/YYYY		Initials     		Change description 
*/

/*********************************************************************
 INCLUDE FILES  
*********************************************************************/
#include <windows.h>
#include <commctrl.h>

#include "CameraWindow.h"
#include "CameraTypeDlg.h"
#include "resource.h"

/*********************************************************************
 GLOBAL DEFINITIONS  
*********************************************************************/
// Following are the mapping with ResourceIDs with Actual value
const mapCmrSetType_t mapCmrType[NUM_OF_CAMTYPE] = {
	IDC_CAMTYPE_RADIO1, csiSensorId_Imagic8201,
	IDC_CAMTYPE_RADIO2, csiSensorId_Ov9640,
	IDC_CAMTYPE_RADIO3, csiSensorId_Imagic8803,
};
/*********************************************************************
 GLOBAL OR STATIC VARIABLES  
*********************************************************************/

/*********************************************************************
 STATIC FUNCTION PROTOTYPES  
*********************************************************************/
/********************************************************************
 *
 *  FUNCTION:	CamTypeDialogProc
 *
 *  DESCRIPTION:	This function handles the dialog messages for the CCamTypeDlg dialog box.
 *
 *  PARAMETERS:	HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam
 *
 *  RETURNS:		TRUE if successfully, otherwise return FALSE
 *
 ********************************************************************/
BOOL CALLBACK CamTypeDialogProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	UINT i;
	CCamTypeDlg *pCamTypeDlg = NULL;
	csiSensorId cameraId;
	
	switch(uMsg) {
		case WM_INITDIALOG:
			pCamTypeDlg = new CCamTypeDlg;
			if( pCamTypeDlg == NULL || pCamTypeDlg->Init( hWndDlg ) == FALSE )
			{
			    	DestroyWindow( hWndDlg );
			}
			else
			{
				// Get the default settings frm registry if exist
				//if(GetCurrentCameraType(&cameraId) == FALSE) {
					// otherwise set to default
					cameraId = CSI_SENSOR_DEFAULT;
				//}
				
				for(i=0; i<NUM_OF_CAMTYPE; i++) 
				{
					if(mapCmrType[i].type == cameraId) 
						break;
				}
				pCamTypeDlg->m_CurDlgSensor = cameraId;
				CheckRadioButton(hWndDlg, IDC_CAMTYPE_RADIO1, IDC_CAMTYPE_RADIO3,mapCmrType[i].code);
		
				RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("CamTypeDialogProc:init :: Default camera: %d \r\n"),pCamTypeDlg->m_CurDlgSensor));		
			}
							
			break;

		case SW_SHOW:
			break;
				
		case WM_COMMAND:
			switch (LOWORD(wParam))
			{
				case BN_CLICKED:
					for(i=0; i<NUM_OF_CAMTYPE; i++) 
					{
						if(LOWORD(wParam) == mapCmrType[i].code)
						{
							pCamTypeDlg->m_CurDlgSensor = mapCmrType[i].type;
							break;
						}
					}
					RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("CamTypeDialogProc:command:: new sensor:%d\r\n"),pCamTypeDlg->m_CurDlgSensor));
					break;
					
				case IDOK:
					RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("CamTypeDialogProc:command:: Get IDOK\r\n")));
					EndDialog(hWndDlg, IDOK);
					break;
				case IDCANCEL:
					RETAILMSG(CAMAPP_DEBUG_MSG,(TEXT("CamTypeDialogProc:command:: Get IDCANCEL\r\n")));
					EndDialog(hWndDlg, IDCANCEL);
					break;
			}
			break;
		case WM_CLOSE:
			// If the "X" button on the command bar was pressed destroy the dialog
			// and returning ID_DLG_CANCEL  (failure).
			EndDialog(hWndDlg, IDCANCEL);
        		break;

        	case WM_DESTROY:
            		delete pCamTypeDlg;
            		pCamTypeDlg = NULL;
        		break;
		default:
			return FALSE;
	}

	return TRUE;
}


/*********************************************************************
 EXPORTED FUNCTIONS
*********************************************************************/
/********************************************************************
 *
 *  FUNCTION:	CCamTypeDlg
 *
 *  DESCRIPTION:	Constructor of CCamTypeDlg class
 *
 *  PARAMETERS:	None
 *
 *  RETURNS:		None
 *
 ********************************************************************/
CCamTypeDlg::CCamTypeDlg()
{

}


/********************************************************************
 *
 *  FUNCTION:	~CCamTypeDlg
 *
 *  DESCRIPTION:	Destructor of CCamTypeDlg class
 *
 *  PARAMETERS:	None
 *
 *  RETURNS:		None
 *
 ********************************************************************/
CCamTypeDlg::~CCamTypeDlg()
{
	Fini();
}


/********************************************************************
 *
 *  FUNCTION:	init
 *
 *  DESCRIPTION:	Initialize the CCamTypeDlg class
 *
 *  PARAMETERS:	HWND hWnd
 *
 *  RETURNS:		TRUE if initialize successfully, otherwise return FALSE
 *
 ********************************************************************/
BOOL  CCamTypeDlg::Init(HWND hWnd)
{
	m_hWnd       = hWnd;
	
   	return TRUE;
}


/********************************************************************
 *
 *  FUNCTION:	Fini
 *
 *  DESCRIPTION:	Release all Resources acquired by the CCamTypeDlg class
 *
 *  PARAMETERS:	None
 *
 *  RETURNS:		TRUE if successfully, otherwise return FALSE
 *
 ********************************************************************/
 BOOL  CCamTypeDlg::Fini()
{
	BOOL bResult = FALSE;

	if (NULL != m_hWnd)
	{
	  	DestroyWindow(m_hWnd);
	  	bResult = TRUE;
	}

	return bResult;
}
/*********************************************************************
 END OF FILE
*********************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -