📄 cameratypedlg.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 + -