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

📄 setup_menu.c

📁 Zoran V966 DVD 解码 Soc芯片的源程序
💻 C
📖 第 1 页 / 共 5 页
字号:
/* **************************************************************************************
*  Copyright (c) 2004 ZORAN Corporation, All Rights Reserved
*  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
*  File: $Workfile: setup_menu.c$
*
* Description:
* ========
*
*
****************************************************************************************/
#include "Config.h" 		// Global Configuration - do not remove!

#ifdef DEBUG_UI_TRACE
#undef IFTRACE
#define IFTRACE if (gTraceUI)
#include "Debug\DbgMain.h"
#endif //DEBUG_UI_TRACE

/***************************************************************************************
*	 Include files
****************************************************************************************/
#include <stdio.h>
#include "include\sysdefs.h"
#include "Kernel\eventdef.h"
#include "include\math-macro.h"
#include "Playcore\ScPad\SCMGR.h"
#include "Playcore\PS\ps.h"
#ifndef D_GINGER_I86
#include "video_setting\video_setting.h"
#endif //#ifdef D_GINGER_I96

// Included UI LOW LEVEL files
#ifdef D_GINGER_I86
#include "Decoder\OSDLayou.h"
#include "Decoder\AudioSetting.h"
#endif //D_GINGER_I86
#ifdef D_GINGER_I96
#include "OSDLayou.h"
#include "AudioSetting.h"
#endif //D_GINGER_I96

// Included UI MENU SYSTEM files
#include "gui\menu_system\ms_display.h"
#include "GUI\Menu_system\ms_screen.h"
#include "GUI\Menu_system\ms_menu.h"
#include "GUI\Menu_system\ms_container.h"
#include "gui\menu_system\osd_rendering.h"
#include "GUI\Menu_system\ms_component.h"
#include "GUI\Menu_system\ms_send_op.h"

// Included CUSTOMER files
#include "Menu\menu_operation_def.h"
#include "GUI\Resource\Bitmap\bitmap.h"
#include "GUI\Object_class\Text\mso_text.h"
#include "GUI\Object_class\Hscroll\mso_hscroll_text.h"
#include "GUI\Object_class\Page\mso_page.h"
#include "GUI\Object_class\Button\mso_button.h"
#include "GUI\Object_class\Vlist\mso_vlist.h"
#include "GUI\Object_class\Choice\mso_choice.h"
#include "GUI\Object_class\Hslider\mso_hslider.h"

#include "Font\fonts.h"
#include "Menu_config\menu_config_common.h"

//Include API Files
#include "CoreAPI\CoreAPI.h"

#include "Library\String_generate.h"
//#include "UI\Menu_Sys\ms_lib.h"
#include "Components\Bass_manager\o_bass_mgr.h"
#include "Components\Dynamic_range_control\o_drc.h"
#include "Components\Graphic_equalizer\o_ge.h"
#include "Components\Password\o_password_prompt.h"
#include "Components\Prologic\o_prologic2.h"
#include "GUI\Object_class\Confirm\mso_confirm.h"
#ifdef D_SETUP_USE_SLIDE_FOR_SMART_PIC
#include "Components\smart_picture\O_smartpic_slider.h"
#endif
#ifdef AVI_DRM_SUPPORT
#include "Components\Drm\o_drmreg.h"
#endif
#ifdef D_SETUP_TV_SYSTEM_WARNING_MENU
#include "Components\TV_system_warning\o_tvsys_warning.h"
#endif

#ifndef DEBUG_UI_TRACE
#undef dbg_printf(sMsg)
#define dbg_printf(sMsg)
#undef	dbgm_printf(sMsg, mode)
#define dbgm_printf(sMsg, mode)
#endif
#ifdef TV_GUARDIAN_ENABLE
#include "Components\TV_guardian\o_tvguardian.h"
#endif //TV_GUARDIAN_ENABLE

#ifdef FTA_SUPPORT
#include "Customer\User_interface\GUI\Components\FTA_Selection\O_FTA_Selection.h"
#include "Customer\User_interface\GUI\Components\FTA_Channel_Tab\O_FTA_Channel_Tab.h"
#ifdef FTA_SATELLITE
#include "Customer\User_interface\GUI\Components\FTA_Transport_Tab\O_FTA_Transport_Tab.h"
#endif // FTA_SATELLITE
#endif

// Include the module header file
#include "Setup\setup_menu.h"
// Include custom header file: customer specific definitions, over-writing common ones.
#include "Setup\setup_menu_config.h"
// Include configuration header file: named constants, macros and typedefs.
#include "Custom\Setup\setup_menu_custom.h"

/***************************************************************************************
* 	Extern variables.
****************************************************************************************/
#ifdef D_SETUP_ADVANCED_TONE_SET
extern CONST MS_DESCRIPTOR_BUTTON oAdvBassToneButtonDescriptor;
#endif //D_SETUP_ADVANCED_TONE_SET
#ifdef D_SETUP_ADVANCED_DRC
extern CONST MS_DESCRIPTOR_BUTTON oAdvDrcButtonDescriptor;
#endif //D_SETUP_ADVANCED_DRC
#ifdef GRAPHIC_EQUALIZER_MENU
extern CONST MS_DESCRIPTOR_BUTTON oAdvEqButtonDescriptor;
#endif

/***************************************************************************************
* 	Private static variables ARE FORBIDDEN
****************************************************************************************/
// Local variable for holding current speaker values for speaker config referencing.
STATIC SPEAKER_CONFIG __NEAR currentSpeakers;


/***************************************************************************************
* 	Private static functions declaration
****************************************************************************************/
STATIC BOOL _Layout(void);

/***************************************************************************************
* 	Utility functions
****************************************************************************************/
STATIC BOOL _AddItemsAndResizeValueVList(MSO_VLIST __NEAR* pList, MSO_CHOICE __NEAR* pChoice);
STATIC BOOL _AddParamsToVList(MSO_VLIST __NEAR* pList, CONST SETUP_PAGE_PARAM* pParam);
STATIC void _RestoreObjectPosition(MSO_OBJECT __NEAR* pThis);
#ifdef D_SETUP_SPEAKER_SIZE
STATIC void _EnableDisableSpkrSzOptions(MSO_OBJECT __NEAR* pThis, SPEAKER_INDEX cSpeaker);
#endif
#ifdef D_SETUP_PINK_NOISE
STATIC void _EnableDisableTestToneOptions (MSO_OBJECT __NEAR* pThis, UINT16 wSpeakerConfigIndex);
#endif
#ifdef D_SETUP_SPEAKER_CENTER_CTRL
STATIC void _EnableDisableCentreDelayOptions (MSO_OBJECT __NEAR* pThis, UINT16 wSpeakerConfigIndex);
#endif
#ifdef D_SETUP_SPEAKER_REAR_CTRL
STATIC void _EnableDisableRearDelayOptions (MSO_OBJECT __NEAR* pThis, UINT16 wSpeakerConfigIndex);
#endif //D_SETUP_SPEAKER_REAR_CTRL

/***************************************************************************************
* 	Operation handlers
****************************************************************************************/
STATIC void _ListItemInitOperation(MSO_OBJECT __NEAR* pThis, UINT32 lParam);

/***************************************************************************************
* 	Operation functions
****************************************************************************************/
STATIC MS_OP _MenuOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _SetupBookOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _WindowOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _ParamVScrollListOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _ValueVScrollListOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _ParamChoiceOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _ListItemOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#ifdef D_SETUP_SMART_PICTURE
STATIC MS_OP _SmartPicListItemOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif
STATIC MS_OP _BtnResetDefaultButtonOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _RatingOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#ifdef D_SETUP_PINK_NOISE
STATIC MS_OP _TestToneChoiceOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif

#ifdef TV_GUARDIAN_ENABLE
STATIC MS_OP _TVGuardianButtonOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif // TV_GUARDIAN_ENABLE

#ifdef D_SETUP_ADVANCED_TONE_SET
STATIC MS_OP _BtnAdvBassToneButtonOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif //D_SETUP_ADVANCED_TONE_SET
#ifdef D_SETUP_ADVANCED_DRC
STATIC MS_OP _BtnAdvDRCButtonOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif //D_SETUP_ADVANCED_DRC
#ifdef D_GRAPHIC_EQUALIZER_MENU
STATIC MS_OP _BtnAdvEqButtonOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif // D_GRAPHIC_EQUALIZER_MENU
#ifdef AVI_DRM_SUPPORT
STATIC MS_OP _BtnDRMRegOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif //AVI_DRM_SUPPORT
STATIC MS_OP _BtnSetPasswordButtonOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);

#ifdef FTA_SUPPORT
STATIC MS_OP _BtnAutoScanButtonOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _BtnManualScanButtonOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif

STATIC void _ConfirmResetOperation(BOOL bConfirmed);

#ifdef D_HDMI_ENABLED
STATIC MS_OP _HDMICtrlParamOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif // D_HDMI_ENABLED

#ifdef D_SETUP_HD_JPEG_MODE
static MS_OP _HDJpegModeOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif//#ifdef D_SETUP_HD_JPEG_MODE

#ifdef D_SETUP_SPEAKER_6CHANNEL_CTRL
static MS_OP _SWDelaySliderOperationOnVList(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
static MS_OP _RSDelaySliderOperationOnVList(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
static MS_OP _LSDelaySliderOperationOnVList(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
static MS_OP _CDelaySliderOperationOnVList(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
#endif//D_SETUP_SPEAKER_6CHANNEL_CTRL
/***************************************************************************************
* 	Display functions
****************************************************************************************/
STATIC BOOL _TabBtnFillOSDSeg(MSO_OBJECT __NEAR* pThis, MS_AREA __NEAR* pAbsArea);
static BOOL _OSDMenuLanguageFillOSDSeg(MSO_OBJECT __NEAR* pThis, MS_AREA __NEAR* pAbsArea);

/***************************************************************************************
* 	Choice item action functions
****************************************************************************************/

/***************************************************************************************
* 	Action functions of the Language parameters.
****************************************************************************************/
STATIC void _OSDMenuLanguageParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
STATIC void _SubtitleLanguageParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#ifdef USE_AUX_SUBTITLES
STATIC void _DivxSubtitleCodePageParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif //USE_AUX_SUBTITLES
STATIC void _AudioLanguageParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
STATIC void _DVDMenuLanguageParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#ifdef D_SETUP_OSD_ON_OFF_CHOICE
STATIC void _OSDOnOffParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif //D_SETUP_OSD_ON_OFF_CHOICE

/***************************************************************************************
* 	Action functions of the Video parameters.
****************************************************************************************/
STATIC void _TVShapeParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
STATIC void _TVSystemParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#ifdef D_GUI_SETUP_VIDEO_OUT
STATIC void _VideoOutParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif //D_GUI_SETUP_VIDEO_OUT
STATIC void _DisplayModeParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#ifdef DVD_AUDIO_SUPPORT
STATIC void _AVPriorityParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif
#ifdef D_SETUP_HD_JPEG_MODE
STATIC void _HDJpegModeParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif //D_SETUP_HD_JPEG_MODE
#ifdef D_SETUP_BRIGHTNESS_SLIDER
STATIC UINT16 _BrightCtrlSliderAction(HSLIDER_ACTION eType, UINT16 wValue);
#endif
#ifdef D_SETUP_EDGE_SLIDER
STATIC UINT16 _EdgeCtrlSliderAction(HSLIDER_ACTION eType, UINT16 wValue);
#endif
#ifdef D_SETUP_SMART_PICTURE
STATIC void _SmartPictureCtrlParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif
#ifdef D_SETUP_EQ_MODE_CHOICE
STATIC void _EQCtrlParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif

#ifdef D_HDMI_ENABLED
STATIC void _HDMICtrlParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif // D_HDMI_ENABLED

#ifdef D_SETUP_JPEG_INTERVAL_ENABLED
STATIC void _JPEGIntervalCtrlParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif

#ifdef D_SCREEN_SAVER_SELECTION
STATIC void _ScreenSaverAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif 
#ifdef D_AUTO_PLAY_MODE_SUPPORT
STATIC void _AutoPlayAction(MSO_OBJECT __NEAR * pThis, enMutatorType eType, UINT16 wValue);
#endif

#ifdef FTA_SUPPORT
STATIC void _TimeZoneAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
STATIC void _ManualScanAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif

#if defined( FTA_SUPPORT ) && defined(FTA_SATELLITE)
STATIC void _SatelliteAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif
#ifdef FTA_SUPPORT
STATIC void _ChnlScanModeAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif
#ifdef D_SETUP_PICTURE_MODE			//<<< OEC_TAN_0023G : Support picture mode.
STATIC void _PictureModeCtrlParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif	// D_SETUP_PICTURE_MODE		//>>> OEC_TAN_0023G : Support picture mode.

/***************************************************************************************
* 	Action functions of the Audio parameters.
****************************************************************************************/
#ifdef D_SETUP_BASS_MANAGEMENT
STATIC void _BassManagementParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif

#ifdef D_SETUP_SPEAKER_SIZE
STATIC void _FrontSpeakerSzParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
STATIC void _CentreSpeakerSzParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
STATIC void _SurroundSpeakerSzParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif

#ifdef D_ENABLE_DOLBY_EX_SUPPORT
STATIC void _SurroundBkSpeakerSzParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif //D_ENABLE_DOLBY_EX_SUPPORT

#ifdef D_SETUP_SPEAKER_SUBWOOFER
STATIC void _SubwooferPresentParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif //D_SETUP_SPEAKER_SUBWOOFER

STATIC void _DigitalOutParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);

#ifdef D_SETUP_PINK_NOISE
STATIC void _PkNoiseTestToneParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif //D_SETUP_PINK_NOISE

#ifdef D_SETUP_DRC
STATIC void _DRCParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif
#ifdef D_ENABLE_DOWN_SAMPLING
STATIC void _DownSamplingParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif
#ifdef D_SETUP_PROLOGIC_CHOICE
STATIC void _PrologicParamAction(MSO_OBJECT __NEAR* pThis, enMutatorType eType, UINT16 wValue);
#endif //D_SETUP_PROLOGIC_CHOICE

⌨️ 快捷键说明

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