📄 o_tvguardian_config.c
字号:
/****************************************************************************************************
* Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
* File: o_tvguardian_config.c
*
* Description:
* =========
****************************************************************************************************/
#include "Config.h" // Global Configuration - do not remove!
/****************************************************************************************************
* DEFINITION: Private constants
****************************************************************************************************/
/***************************************************************************************
* Descriptor : oTVGuardianContainerDescriptor
*
* Purpose :
****************************************************************************************/
static CONST MS_DESCRIPTOR_TVGUARDIAN_COMPONENT oTVGuardianComponentDescriptor =
{// MS_DESCRIPTOR_COMPONENT
{//MS_DESCRIPTOR_CONTAINER
{//MS_DESCRIPTOR
sizeof(MSO_TVGUARDIAN_COMPONENT),
MS_NAV_NULL,
MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
{
AREA_TVGUARDIAN_COMPONENT_X ,
AREA_TVGUARDIAN_COMPONENT_Y ,
AREA_TVGUARDIAN_COMPONENT_W ,
AREA_TVGUARDIAN_COMPONENT_H
},
_TVGuardianComponentOperation,
mpfFillOsdSegNull,
mpParamNull,
},
maContentsNull,
mwNbrContentsNull
},
NULL
};
/***************************************************************************************
* Object definitions
****************************************************************************************/
CONST MS_COLOR_SET oTitleTextColorSet =
{
CIDX_6,
NULL,
NULL,
NULL
};
/***************************************************************************************
* The TVG Setup title text object
****************************************************************************************/
static CONST OSD_TEXT oTVGuardianSetupTitleText =
{ OSDR_GetFormUniStr_OsdMessage, S_TVGUARDIAN_SETUP};
static CONST MS_DESCRIPTOR_TEXT oTVGuardianSetupTitleDescriptor =
{ // MS_DESCRIPTOR_TEXT
{ // MS_DESCRIPTOR
sizeof(MSO_TEXT),
MS_NAV_NULL,
MS_ATTR_OSD_LAYER_0,
{
AREA_TITLE_TEXT_X,
AREA_TITLE_TEXT_Y,
(AREA_TVGUARDIAN_SETUP_W - (AREA_TITLE_TEXT_X<<1)),
TEXT_HEIGHT
},
OTEXT_Operation,
OTEXT_FillOSDSeg,
(UINT8*)NULL
},
(MS_X_Y_ALIGN *)&oTopCenterAlignToContainer,
(MS_COLOR_SET *)&oTitleTextColorSet,
NULL,
(OSD_TEXT*)&oTVGuardianSetupTitleText,
FONT_0,
NULL,
NULL
};
/***************************************************************************************
* The TV Guardian Setup Component objects
****************************************************************************************/
static CONST MS_CHOICE_DATA aOnOffChoiceTable[MAX_CHOICE_ONOFF_VALUES] =
{
{TVG_WORDS_SET_OFF, S_OFF },
{TVG_WORDS_SET_FILTERED, S_FILTERED }
};
static CONST MS_CHOICE_DATA aTVGuardianValueTable[MAX_TVGUARDIAN_VALUES] =
{
{TVG_MODE_OFF, S_OFF },
{TVG_MODE_ONTOL, S_TVG_MODE_ONTOL},
{TVG_MODE_ONMOD, S_MODERATE },
{TVG_MODE_ONSTR, S_TVG_MODE_ONSTR}
};
static CONST MS_DESCRIPTOR_CHOICE oTVGuardianChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
CHOICE_START_X,
AREA_TVGUARDIAN_CHOICE_Y,
CHOICE_WIDTH,
CHOICE_HEIGHT
},
_TVGuardianChoiceOperation,
ChoiceFillOSDSeg,
mpParamNull
},
NULL,
S_TV_GUARDIAN,
MAX_TVGUARDIAN_VALUES,
(MS_CHOICE_DATA*)&aTVGuardianValueTable,
CHOICE_NAME_TEXT_COLOR,
CHOICE_VALUE_TEXT_COLOR,
CHOICE_BACKGROUND_COLOR,
CHOICE_BACKGROUND_BMP,
_TVGuardianChoiceAction
};
/***************************************************************************************
* The Hell/Damn On/Off choice object
****************************************************************************************/
static CONST MS_DESCRIPTOR_CHOICE oHellDamnOnOffChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
CHOICE_START_X,
AREA_HELLDAMN_CHOICE_Y,
CHOICE_WIDTH,
CHOICE_HEIGHT
},
_RestChoiceOperation,
ChoiceFillOSDSeg,
mpParamNull
},
NULL,
S_HELL_DAMN,
MAX_CHOICE_ONOFF_VALUES,
(MS_CHOICE_DATA*)&aOnOffChoiceTable,
CHOICE_NAME_TEXT_COLOR,
CHOICE_VALUE_TEXT_COLOR,
CHOICE_BACKGROUND_COLOR,
CHOICE_BACKGROUND_BMP,
_HellDamnOnOffChoiceAction
};
/***************************************************************************************
* The Religious On/Off choice object
****************************************************************************************/
static CONST MS_DESCRIPTOR_CHOICE oReligiousOnOffChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
CHOICE_START_X,
AREA_RELIGIOUS_CHOICE_Y,
CHOICE_WIDTH,
CHOICE_HEIGHT
},
_RestChoiceOperation,
ChoiceFillOSDSeg,
mpParamNull
},
NULL,
S_RELIGIOUS,
MAX_CHOICE_ONOFF_VALUES,
(MS_CHOICE_DATA*)&aOnOffChoiceTable,
CHOICE_NAME_TEXT_COLOR,
CHOICE_VALUE_TEXT_COLOR,
CHOICE_BACKGROUND_COLOR,
CHOICE_BACKGROUND_BMP,
_ReligiousOnOffChoiceAction
};
/***************************************************************************************
* The Sexual On/Off choice object
****************************************************************************************/
static CONST MS_DESCRIPTOR_CHOICE oSexualOnOffChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
CHOICE_START_X,
AREA_SEXUAL_CHOICE_Y,
CHOICE_WIDTH,
CHOICE_HEIGHT
},
_RestChoiceOperation,
ChoiceFillOSDSeg,
mpParamNull
},
NULL,
S_SEXUAL,
MAX_CHOICE_ONOFF_VALUES,
(MS_CHOICE_DATA*)&aOnOffChoiceTable,
CHOICE_NAME_TEXT_COLOR,
CHOICE_VALUE_TEXT_COLOR,
CHOICE_BACKGROUND_COLOR,
CHOICE_BACKGROUND_BMP,
_SexualOnOffChoiceAction
};
/***************************************************************************************
* The CC Mode choice object
****************************************************************************************/
static CONST MS_CHOICE_DATA aCCModeValueTable[MAX_CCMODE_VALUES] =
{
{TVG_CC_OFF, S_OFF },
{TVG_CC_ONCUSS, S_ON_MUTE },
{TVG_CC_ON, S_ON_CONTINUOUS }
};
static CONST MS_DESCRIPTOR_CHOICE oCCModeChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
CHOICE_START_X,
AREA_CCMODE_CHOICE_Y,
CHOICE_WIDTH,
CHOICE_HEIGHT
},
_RestChoiceOperation,
ChoiceFillOSDSeg,
mpParamNull
},
NULL,
S_CC_MODE,
MAX_CCMODE_VALUES,
(MS_CHOICE_DATA*)&aCCModeValueTable,
CHOICE_NAME_TEXT_COLOR,
CHOICE_VALUE_TEXT_COLOR,
CHOICE_BACKGROUND_COLOR,
CHOICE_BACKGROUND_BMP,
_CCModeChoiceAction
};
/***************************************************************************************
* The CC Channel choice object
****************************************************************************************/
static CONST MS_CHOICE_DATA aCCChannelValueTable[MAX_CCCHANNEL_VALUES] =
{
{TVG_CC1, S_TVG_CC_CC1 },
{TVG_CC2, S_TVG_CC_CC2 }
};
static CONST MS_DESCRIPTOR_CHOICE oCCChannelChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
CHOICE_START_X,
AREA_CCCHANNEL_CHOICE_Y,
CHOICE_WIDTH,
CHOICE_HEIGHT
},
_RestChoiceOperation,
ChoiceFillOSDSeg,
mpParamNull
},
NULL,
S_TVG_CHANNEL,
MAX_CCCHANNEL_VALUES,
(MS_CHOICE_DATA*)&aCCChannelValueTable,
CHOICE_NAME_TEXT_COLOR,
CHOICE_VALUE_TEXT_COLOR,
CHOICE_BACKGROUND_COLOR,
CHOICE_BACKGROUND_BMP,
_CCChannelChoiceAction
};
/***************************************************************************************
* The SetupHelp button object
****************************************************************************************/
static CONST OSD_TEXT oSetupHelpText =
{ OSDR_GetFormUniStr_OsdMessage, S_SETUP_HELP};
STATIC CONST MS_DESCRIPTOR_BUTTON oSetupHelpButtonDescriptor =
{// MS_DESCRIPTOR
{
{
sizeof(MSO_BUTTON),
MS_NAV_DISABLE_LR,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_SETUP_HELP_BUTTON_X,
AREA_SETUP_HELP_BUTTON_Y,
BUTTON_WIDTH,
BUTTON_HEIGHT
},
OBUTTON_Operation,
OBUTTON_FillOSDSeg,
mpParamNull
},
(MS_X_Y_ALIGN *)&oButtonTextXYAlign,
(MS_COLOR_SET *)&oButtonTextColorSet,
(MS_BITMAP_SET *)&oButtonBitmapSet,
(OSD_TEXT *)&oSetupHelpText,
FONT_0,
NULL,
NULL
},
MS_OP_MENU_TVG_SETUP_HELP
};
/***************************************************************************************
* The TV Guardian setup component
****************************************************************************************/
static CONST MS_DESCRIPTOR* CONST apTVGuardianSetupContents[NBR_TVGUARDIAN_SETUP_CONTENTS] = {
(MS_DESCRIPTOR*)&oTVGuardianSetupTitleDescriptor,
(MS_DESCRIPTOR*)&oTVGuardianChoiceDescriptor,
(MS_DESCRIPTOR*)&oHellDamnOnOffChoiceDescriptor,
(MS_DESCRIPTOR*)&oReligiousOnOffChoiceDescriptor,
(MS_DESCRIPTOR*)&oSexualOnOffChoiceDescriptor,
(MS_DESCRIPTOR*)&oCCModeChoiceDescriptor,
(MS_DESCRIPTOR*)&oCCChannelChoiceDescriptor,
//(MS_DESCRIPTOR*)&oOkButtonDescriptor,
(MS_DESCRIPTOR*)&oSetupHelpButtonDescriptor
};
CONST MS_DESCRIPTOR_TVGUARDIAN_SETUP oTVGuardianSetupDescriptor =
{
{// MS_DESCRIPTOR_COMPONENT
{// MS_DESCRIPTOR_CONTAINER
{// MS_DESCRIPTOR
sizeof(MSO_TVGUARDIAN_SETUP),
MS_NAV_DISABLE_LR | MS_NAV_DISABLE_UD |
MS_NAV_CONTAINER_WRAP_LR | MS_NAV_CONTAINER_WRAP_UD | MS_NAV_CONTAINER_GOTO_TOP,
MS_ATTR_CONTAINER | MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_TVGUARDIAN_SETUP_X,
AREA_TVGUARDIAN_SETUP_Y,
AREA_TVGUARDIAN_SETUP_W,
AREA_TVGUARDIAN_SETUP_H
},
_TVGuardianSetupOperation,
_TVGuardianComponentFillOSDSeg,
mpParamNull,
},
(CONST MS_DESCRIPTOR**)apTVGuardianSetupContents,
NBR_TVGUARDIAN_SETUP_CONTENTS,
},
(MS_DESCRIPTOR*)&oTVGuardianChoiceDescriptor
},
COMPONENT_BACKGROUND_BMP,
};
/***************************************************************************************
* The TV Guardian Activation Component objects
****************************************************************************************/
/***************************************************************************************
* The TVG Activation title text object
****************************************************************************************/
static CONST OSD_TEXT oTVGuardianActivationTitleText =
{ OSDR_GetFormUniStr_OsdMessage, S_TVGUARDIAN_ACTIVATION };
static CONST MS_DESCRIPTOR_TEXT oTVGuardianActivationTitleDescriptor =
{ // MS_DESCRIPTOR_TEXT
{ // MS_DESCRIPTOR
sizeof(MSO_TEXT),
MS_NAV_NULL,
MS_ATTR_OSD_LAYER_0,
{
AREA_TITLE_TEXT_X,
AREA_TITLE_TEXT_Y,
(AREA_TVGUARDIAN_ACTIVATION_W - (AREA_TITLE_TEXT_X<<1)),
TEXT_HEIGHT
},
OTEXT_Operation,
OTEXT_FillOSDSeg,
(UINT8*)NULL
},
(MS_X_Y_ALIGN *)&oTopCenterAlignToContainer,
(MS_COLOR_SET *)&oTitleTextColorSet,
NULL,
(OSD_TEXT*)&oTVGuardianActivationTitleText,
FONT_0,
NULL,
NULL
};
/***************************************************************************************
* The TVG Activation multiline text object
****************************************************************************************/
static CONST OSD_TEXT oTVGuardianActivationText =
{ OSDR_GetFormUniStr_OsdMessage, S_TVG_ACTIVATION_MULTILINETEXT };
CONST MS_DESCRIPTOR_MULTILINE_TEXT oTVGuardianActivationTextDescriptor =
{ // MS_DESCRIPTOR_MULTILINE_TEXT
{// MS_DESCRIPTOR_TEXT
{ // MS_DESCRIPTOR
sizeof(MSO_MULTILINE_TEXT),
MS_NAV_NULL,
MS_ATTR_OSD_LAYER_0,
{
AREA_ACTIVATION_MULTILINETEXT_X,
AREA_ACTIVATION_MULTILINETEXT_Y,
AREA_ACTIVATION_MULTILINETEXT_W,
AREA_ACTIVATION_MULTILINETEXT_H,
},
_TVGuardianMultiLineTextOperation,
OMULTILINETEXT_FillOSDSeg,
mpParamNull,
},
(MS_X_Y_ALIGN*)&oTopCenterAlignToContainer,
(MS_COLOR_SET*)&oDefaultTextColorSet,
NULL,
(OSD_TEXT*)&oTVGuardianActivationText,
FONT_0,
NULL,
NULL
},
MULTILINE_TEXT_LEFTRIGHT_MARGIN,
MULTILINE_TEXT_TOPBOTTOM_MARGIN,
MULTILINE_TEXT_LINE_MARGIN,
TVG_ACTIVATION_MULTILINE_TEXT_LINES,
#ifdef D_GUI_DESCRIPTOR_MULTILINETEXT_EXT1
TVG_ACTIVATION_BG_FIT_H ,
TVG_ACTIVATION_BG_FIT_V ,
TVG_ACTIVATION_PIXEL_MARGIN_BG_HORIZONTAL,
TVG_ACTIVATION_PIXEL_MARGIN_BG_VERTICAL ,
TVG_ACTIVATION_PREPARE_STR_FIT
#endif//D_GUI_DESCRIPTOR_MULTILINETEXT_EXT1
};
/***************************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -