📄 tidtv_menusetupproc.c
字号:
/*******************************************************************************
* @ModuleName :: TiDTV_MenuVideoProc.c
*
* @Copyright :: Copyright 2005- Texas Instruments, Inc.
*
* @Description :: Menu Operation handling module
*
*
* @History ::
*---------------------------------------
* 08-04-2005 Roland Li Created
*******************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include "ucos_ii.h"
#include "TiDTV_DataType.h"
#include "TiDTV_SysCtrl.h"
#include "TVP9K_OSD_Def.h"
#include "TVP9K_BG_Def.h"
#include "TVP9K_NV_Def.h"
#include "TVP9K_VC_Def.h"
#include "TiDTV_HW.h"
#include "TiDTV_Buffers.h"
#include "TiDTV_GLib.h"
#include "TiDTV_GUI.h"
#include "TiDTV_McuComm.h"
#include "TiDTV_IrKey.h"
#include "TiDTV_Icon.h"
#include "TiDTV_Msg.h"
#include "TiDTV_Menu.h"
#include "TiDTV_UserPreferDataTable.h"
#include "TiDTV_MenuSetupProc.h"
//******************************************************************************
// E X T E R N A L D E F I N I T I O N S
//******************************************************************************
extern void TiDTV_MenuPageEndActFuct(TI_DTV_MENU * PreviousMenu, void (*FuncPtr)(void));
extern void TiDTV_MenuPageActFuct(TI_DTV_MENU * PreviousMenu, TI_DTV_MENU * BackMenu);
extern void TiDTV_MenuPageEndInitFuct(TI_DTV_MENU_ITEM *pMenuItem);
extern int TiDTV_MenuRadioBoxActFuct(TI_DTV_MENU * PreviousMenu, TI_DTV_MENU_ITEM *pNextItem, short *UserPreferOffset, USHORT * LeafArray );
extern void TiDTV_MenuRadioBoxInitFuct(TI_DTV_MENU_ITEM *pMenuItem, short * UserPreferOffset, USHORT * LeafArray );
extern int TiDTV_MenuCheckBoxActFuct(TI_DTV_MENU * PreviousMenu, USHORT SelCursorIndex, USHORT UnSelCursorIndex, short * UserPreferOffset, USHORT * LeafArray );
extern unsigned char InRadioBox;
extern unsigned short CurrentRadioBoxItem;
extern UINT16 **pCurDtvMsgBase;
extern TI_DTV_USER_PREFER_DATA UserPreferSetting;
extern TI_DTV_MENU_NODE_NAVIGATION TiDTV_Basic_Navigation;
extern TI_DTV_MENU_NODE_NAVIGATION TiDTV_VChipParentGuideBlock_Navigation;
extern TI_DTV_MENU_NODE_NAVIGATION TiDTV_VChipPassWord_Navigation;
extern TI_DTV_MENU_NODE_NAVIGATION TiDTV_VChipPassWordChange_Navigation;
//******************************************************************************
// G L O B A L V A R I A B L E S
//******************************************************************************
UCHAR InParentalGuidelines = 0;
UCHAR ParentGuideCursor[2]
;
UCHAR PassWordCursor = 0;
UCHAR PassWordCorrect= 0;
UCHAR PassWordInputEnd = 0;
UCHAR PassWordInputing = 0;
USHORT PassWordPool[4];
//******************************************************************************
// S T A T I C F U N C T I O N P R O T O T Y P E S
//******************************************************************************
static USHORT TiDTV_TVParentalGuidelinesHandler();
//******************************************************************************
// L O C A L D E F I N I T I O N S
//******************************************************************************
static USHORT ChangedPassWordPool[4];
static UCHAR ValidPosition[6][6] = {
{1, 0, 0, 0, 0, 0},
{1, 1, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0},
{1, 0, 1, 1, 1, 1},
{1, 0, 1, 1, 1, 1},
{1, 0, 1, 1, 1, 0},
};
static unsigned short TiDTV_SetuplanguageStrings[] = {
ENGLISH_INDEX,
CHINESE_INDEX,
SPANISH_INDEX,
NULL,
};
static unsigned short TiDTV_SetupInputStrings[] = {
// tv
TV_INDEX,
// video
VIDEO_INDEX,
// svideo
SVIDEO_INDEX,
// component
COMPONENT_INDEX,
// hdmi
HDMI_INDEX,
NULL,
};
static unsigned short TiDTV_SetupScreenFormatStrings[] = {
// auto
AUTO_INDEX,
// 16:9
SIXTEENTONINE_INDEX,
// 4:3
FOURTOTHREE_INDEX,
// panorama
PANORAMA_INDEX,
// zoom
ZOOM_INDEX,
NULL,
};
static unsigned short TiDTV_SetupTimeModeStrings[] = {
AUTO_INDEX,
// mode manual
MANUAL_INDEX,
NULL,
};
static unsigned short TiDTV_SetupTimeZoneStrings[] = {
ATLANTIC_INDEX,
// zone 1
EASTERN_INDEX,
// zone 1
CENTRAL_INDEX,
// zone 1
MOUNTAIN_INDEX,
// zone 1
PACIFIC_INDEX,
// zone 1
ALASKA_INDEX,
// zone 1
HAWAII_INDEX,
NULL,
};
static unsigned short TiDTV_SetupTimeAutoShutdownStrings[] = {
TENMIN_INDEX,
// 20 min
TWENTYMIN_INDEX,
// 30 min
THIRTYMIN_INDEX,
// 1 hour
ONEHOUR_INDEX,
// two hour
TWOHOUR_INDEX,
NULL,
};
static unsigned short TiDTV_SetupClosedCaptionOnOffStrings[] = {
ON_INDEX,
OFF_INDEX,
NULL,
};
static unsigned short TiDTV_SetupClosedCaptionModeAnalogTypeStrings[] = {
// cc1
CCONE_INDEX,
// cc2
CCTWO_INDEX,
// cc3
CCTHREE_INDEX,
//cc4
CCFOUR_INDEX,
// t1
TEXTONE_INDEX,
// t2
TEXTTWO_INDEX,
// t3
TEXTTHREE_INDEX,
// t4
TEXTFOUR_INDEX,
NULL,
};
static unsigned short TiDTV_SetupClosedCaptionModeDigitalTypeStrings[] = {
// s1
SERVICEONE_INDEX,
// s2
SERVICETWO_INDEX,
// s3
SERVICETHREE_INDEX,
// s4
SERVICEFOUR_INDEX,
// s5
SERVICEFIVE_INDEX,
// s6
SERVICESIX_INDEX,
NULL,
};
static unsigned short DtvSetupClosedCaptionOptionFontSizeStrings[] = {
SMALL_INDEX,
// standard
STANDARD_INDEX, // standard index
// large
LARGE_INDEX,
NULL,
};
static unsigned short DtvSetupClosedCaptionOptionFontStyleStrings[] = {
// s0
STYLEZERO_INDEX,
// s1
STYLEONE_INDEX,
// s2
STYLETWO_INDEX,
// s3
STYLETHREE_INDEX,
// s4
STYLEFOUR_INDEX,
// s5
STYLEFIVE_INDEX,
// s6
STYLESIX_INDEX,
// s7
STYLESEVEN_INDEX,
NULL,
};
static unsigned short DtvSetupClosedCaptionOptionColorStrings[] = {
// w
WHITE_INDEX,
// b
BLACK_INDEX,
// r
RED_INDEX,
// g
GREEN_INDEX,
// b
BLUE_INDEX,
// y
YELLOW_INDEX,
// m
MAGENTA_INDEX,
// c
CYAN_INDEX,
NULL,
};
static unsigned short DtvSetupClosedCaptionOptionOpacityStrings[] = {
TRANSPARENT_INDEX,
// TRANSLUCENT
TRANSLUCENT_INDEX,
// solid
SOLID_INDEX,
// flashing
FLASHING_INDEX,
NULL,
};
static unsigned short DtvSetupVChipOnOffStrings[] = {
ON_INDEX,
OFF_INDEX,
NULL,
};
static unsigned short DtvSetupVChipMPAARatingStrings[] = {
G_INDEX,
// pg
PG_INDEX,
//pg13
PG13_INDEX,
// r
R_INDEX,
//nc17
NC17_INDEX,
//x
X_INDEX,
// nr
NR_INDEX,
NULL,
};
static USHORT TVY[] = {'T', 'V', '-', 'Y', 0};
static USHORT TVY7[] = {'T', 'V', '-', 'Y', '7', 0};
static USHORT TVG[] = {'T', 'V', '-', 'G', 0};
static USHORT TVPG[] = {'T', 'V', '-', 'P', 'G', 0};
static USHORT TV14[] = {'T', 'V', '-', '1', '4', 0};
static USHORT TVMA[] = {'T', 'V', '-', 'M', 'A', 0};
static USHORT ALL[] = {'A', 'l', 'l', 0};
static USHORT FV[] = {'F', 'V', 0};
static USHORT V[] = {'V', 0};
static USHORT S[] = {'S', 0};
static USHORT L[] = {'L', 0};
static USHORT D[] = {'D', 0};
static USHORT *pTVParentalGuideAgeBasedRatings[6] = {
TVY, TVY7, TVG, TVPG, TV14, TVMA};
static USHORT *pTVParentalGuideContentCategory[6] = {
ALL, FV, V, S, L, D};
//******************************************************************************
// C O D E
//******************************************************************************
/*******************************************************************************
* @RoutineName:: DtvSetupLanguageInitFuct
*
* @Description:: Language initial
*
* @Input ::TI_DTV_MENU_ITEM *pMenuItem
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupLanguageInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPLANGRUAGE_INDEX));
TiDTV_MenuRadioBoxInitFuct(pMenuItem, UserPreferOffset, TiDTV_SetuplanguageStrings );
}
/*******************************************************************************
* @RoutineName:: DtvSetupLanguageActFuct
*
* @Description:: Language action
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupLanguageActFuct(void)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPLANGRUAGE_INDEX));
TiDTV_MenuRadioBoxActFuct(&DtvMainMenu, pCurDtvMenu->pCurItem, UserPreferOffset, (USHORT *) TiDTV_SetuplanguageStrings);
return 1;
}
/*******************************************************************************
* @RoutineName:: DtvSetupInputInitFuct
*
* @Description:: input Init
*
* @Input ::
* TI_DTV_MENU_ITEM *pMenuItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupInputInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPINPUT_INDEX));
TiDTV_MenuRadioBoxInitFuct(pMenuItem, UserPreferOffset, TiDTV_SetupInputStrings );
}
/*******************************************************************************
* @RoutineName:: DtvSetupInputActFuct
*
* @Description:: input action
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupInputActFuct(void)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPINPUT_INDEX));
TiDTV_MenuRadioBoxActFuct(&DtvMainMenu, pCurDtvMenu->pCurItem, UserPreferOffset, (USHORT *) TiDTV_SetupInputStrings);
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -