📄 clips_menu_config.c
字号:
/****************************************************************************************************
* Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
* File: clips_menu_config.c
*
* Description:
* =========
****************************************************************************************************/
/****************************************************************************************************
* DEFINITION: Private constants
****************************************************************************************************/
/***************************************************************************************
* OSD layout areas definition
****************************************************************************************/
static CONST OSD_LAYOUT_AREA OsdLayoutAreaBrowser = {
OSD_LAYOUT_AREA_BROWSER_X,
OSD_LAYOUT_AREA_BROWSER_Y,
OSD_AREA_END_X(OSD_LAYOUT_AREA_BROWSER_X, OSD_LAYOUT_AREA_BROWSER_W),
// Quick patch for help text, remove this AREA_HELP_TEXT_H +4)
OSD_AREA_END_Y(OSD_LAYOUT_AREA_BROWSER_Y, (OSD_LAYOUT_AREA_BROWSER_H + AREA_HELP_TEXT_H +4)),
OSD_COLOR_PALETTE_BROWER
};
/***************************************************************************************
* Objects definition
****************************************************************************************/
/***************************************************************************************
* Descriptor : oHelpTextDescriptor
*
* Purpose : Displays Navigation help /ID3 information.
****************************************************************************************/
enum
{
//for mp3
ID3_INDEX_NAME,
ID3_INDEX_ARTIST,
ID3_INDEX_ALBUM,
ID3_INDEX_YEAR,
ID3_INDEX_TRACK,
ID3_INDEX_GENRE,
ID3_INDEX_COMMENT,
ID3_INDEX_ARRAY_SIZE
};
enum
{
//for WMA
WMA_INDEX_TITLE,
WMA_INDEX_AUTHOR,
WMA_INDEX_COPYRIGHT,
WMA_INDEX_DESCRIPTION,
WMA_INDEX_ARRAY_SIZE
};
#if (defined (D_OGG_VORBIS) && defined (CLIPS_ACQUIRE_EXTENDED_INFO))
enum
{
//for OGG
OGG_INDEX_TITLE,
OGG_INDEX_ARTIST,
OGG_INDEX_ALBUM,
OGG_INDEX_COPYRIGHT,
OGG_INDEX_DESCRIPTION,
OGG_INDEX_GENRE,
OGG_INDEX_ARRAY_SIZE
};
CONST EXT_INFO_CONFIG oExtInfoConfigOGG[OGG_INDEX_ARRAY_SIZE]=
{
{S_TITLE, eOGGTitle},
{S_ARTIST, eOGGArtist},
{S_ALBUM, eOGGAlbum},
{S_COPYRIGHT, eOGGCopyright}, // add copyright string
{S_DESCRIPTION, eOGGDescription}, // add description string
{S_GENRE, eOGGGenre}
};
#endif//#if (defined (D_OGG_VORBIS) && defined (CLIPS_ACQUIRE_EXTENDED_INFO))
#if (defined (CLIPS_ACQUIRE_EXTENDED_INFO) && (defined(CLIPS_MP3_EXTRACT_ID3V1_TAG) || defined (CLIPS_WMA_EXTRACT_CONTENT_DESC)))
#ifdef CLIPS_MP3_EXTRACT_ID3V1_TAG
CONST EXT_INFO_CONFIG oExtInfoConfigMP3[ID3_INDEX_ARRAY_SIZE]=
{
{S_NAME, eMP3Name},
{S_ARTIST, eMP3Artist},
{S_ALBUM, eMP3Album},
{S_YEAR, eMP3Year},
{S_TRACK, eMP3TrackNum},
{S_GENRE, eMP3Genre},
{S_COMMENT, eMP3Comment}
};
#endif//CLIPS_MP3_EXTRACT_ID3V1_TAG
#ifdef CLIPS_WMA_EXTRACT_CONTENT_DESC
CONST EXT_INFO_CONFIG oExtInfoConfigWMA[WMA_INDEX_ARRAY_SIZE]=
{
{S_TITLE, eWMATitle},
{S_AUTHOR, eWMAAuthor},
{S_COPYRIGHT, eWMACopyright}, // add copyright string
{S_DESCRIPTION, eWMADescription}, // add description string
};
#endif//CLIPS_WMA_EXTRACT_CONTENT_DESC
#endif //(defined (CLIPS_ACQUIRE_EXTENDED_INFO) && (defined(CLIPS_MP3_EXTRACT_ID3V1_TAG) || defined (CLIPS_WMA_EXTRACT_CONTENT_DESC)))
#define ID3_PADDING_SPACES 4
STATIC CONST MS_DESCRIPTOR_HSCROLL_TEXT oHelpTextDescriptor =
{ // MS_DESCRIPTOR_HSCROLL_TEXT
{ // MS_DESCRIPTOR_MULTILINE_TEXT
{ // MS_DESCRIPTOR_TEXT
{ // MS_DESCRIPTOR
sizeof(MSO_HELP_TEXT),
MS_NAV_NULL,
(MS_ATTR_OSD_LAYER_0 | MS_ATTR_INVISIBLE), // Attributes
{
AREA_HELP_TEXT_X, AREA_HELP_TEXT_Y, AREA_HELP_TEXT_W, AREA_HELP_TEXT_H
},
_HelpTextOperation, // Use operation function
OHSCROLLTEXT_FillOSDSeg,
mpParamNull
},
(MS_X_Y_ALIGN *)&oHelpTextXYAlign,
(MS_COLOR_SET *)&oHelpTextColorSet,
(MS_BITMAP_SET *)&oButtonBitmapSet,
(OSD_TEXT *)NULL,
FONT_0,
NULL,
NULL,
},
8, // left/right boder
0, // top/bottom border
0, // pixelgap
ID3_INDEX_ARRAY_SIZE, // max lines
#ifdef D_GUI_DESCRIPTOR_MULTILINETEXT_EXT1
CLIPS_HSCROLL_TEXT_BG_FIT_H ,
CLIPS_HSCROLL_TEXT_BG_FIT_V,
CLIPS_HSCROLL_TEXT_BG_MARGIN_H,
CLIPS_HSCROLL_TEXT_BG_MARGIN_V,
CLIPS_HSCROLL_TEXT_PREPARE_STR,
#endif//D_GUI_DESCRIPTOR_MULTILINETEXT_EXT1
},
HSCROLL_START_RIGHT, // startpos
HSCROLL_TYPE_FINISH_BEFORE_RESCROLL_REMOVE_SCROLL, // scrolltype
2, // pixelcount
0 // holdtime
};
/***************************************************************************************
* Descriptor : oOpenWindowButtonDescriptor
*
* Purpose : Descriptor of the button that opens a browser page when clicked.
****************************************************************************************/
#ifdef D_GUI_CLIPS_MULTIPAGE
static CONST OSD_TEXT oOpenWindowText = {
OSDR_GetFormUniStr_OsdMessage,
S_OPEN_WINDOW
};
static CONST MS_DESCRIPTOR_BUTTON oOpenWindowButtonDescriptor =
{// MS_DESCRIPTOR
{
{
sizeof(MSO_BUTTON),
MS_NAV_TO_ALGINED_Y | MS_NAV_DISABLE_LR,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_BTN_OPENW_X, AREA_BTN_OPENW_Y, AREA_BTN_OPENW_W, AREA_BTN_OPENW_H
},
_BtnAddWindowOperation,
OBUTTON_FillOSDSeg,
mpParamNull
},
(MS_X_Y_ALIGN *)&oButtonTextXYAlign,
(MS_COLOR_SET *)&oButtonTextColorSet,
(MS_BITMAP_SET *)&oButtonBitmapSet,
(OSD_TEXT *) &oOpenWindowText,
FONT_0,
NULL,
NULL
},
MS_OP_NONE
};
#endif // D_GUI_CLIPS_MULTIPAGE
/***************************************************************************************
* Descriptor : oHomeButtonDescriptor
*
* Purpose : Descriptor of the button that opens the main main when clicked.
****************************************************************************************/
#ifdef D_GUI_HOME_BUTTON
static CONST MS_DESCRIPTOR_BUTTON oHomeButtonDescriptor =
{// MS_DESCRIPTOR
{
{
sizeof(MSO_BUTTON),
MS_NAV_TO_ALGINED_Y | MS_NAV_DISABLE_LR,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
AREA_BTN_HOME_X, AREA_BTN_HOME_Y, AREA_BTN_HOME_W, AREA_BTN_HOME_H
},
_BtnHomeOperation,
OBUTTON_FillOSDSeg,
mpParamNull
},
(MS_X_Y_ALIGN *)&oButtonTextXYAlign,
(MS_COLOR_SET *)&oButtonTextColorSet,
(MS_BITMAP_SET *)&oButtonBitmapSet,
(OSD_TEXT *) NULL,
FONT_0,
(MS_BITMAP_SET *)&oHomeIconBmpSet,
(MS_X_Y_ALIGN *)&oButtonTextXYAlign
},
MS_OP_NONE
};
#endif // D_GUI_HOME_BUTTON
/***************************************************************************************
* Descriptor : oFilterListItemDescriptor
*
* Purpose : Descriptor of objects that represent available values for the filter
* choice object.
****************************************************************************************/
static CONST MS_DESCRIPTOR_LISTITEM oFilterListItemDescriptor =
{// MS_DESCRIPTOR
{
sizeof(MSO_LISTITEM),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
CHOICE_HEIGHT
},
_FilterListItemOperation,
ListItemFillOSDSeg,
mpParamNull
}
};
/***************************************************************************************
* Descriptor : oFilterChoiceDescriptor
*
* Purpose : Descriptor of a tool in the toolkit that allows the user to set (select
* one or more types from a list of options) the file types to be listed.
****************************************************************************************/
static CONST MS_PARAM_CHOICE InitChoiceParam =
{
0
};
#define MAX_FILTER_VALUES 3
static CONST MS_CHOICE_DATA FilterValueTable[MAX_FILTER_VALUES] =
{
{CLIPTYPE_FILTER_MUSIC, S_AUDIO },
{CLIPTYPE_FILTER_PHOTO, S_PHOTO },
{CLIPTYPE_FILTER_MOVIE, S_VIDEO },
};
static CONST MS_DESCRIPTOR_CHOICE oFilterChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0 | MS_ATTR_CHOICE_DISPLAY_AS_BUTTON | MS_ATTR_CHOICE_DISPLAY_BG_BMP,
{
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
CHOICE_HEIGHT
},
_FilterChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
(MS_DESCRIPTOR_LISTITEM*)&oFilterListItemDescriptor,
S_FILTER,
MAX_FILTER_VALUES,
(MS_CHOICE_DATA*)&FilterValueTable,
CIDX_3,//same as button default color
CIDX_6,
CIDX_7,
BMP_BG_2,
mpfMutatorNull
};
/***************************************************************************************
* Descriptor : oShuffleChoiceDescriptor
*
* Purpose : Descriptor of a tool in the toolkit that allows the user to set the
* shuffle mode.
****************************************************************************************/
#ifdef D_GUI_TOOLKIT_ADD_SHUFFLE
#define MAX_SHUFFLE_MODE_VALUES 3
static CONST MS_CHOICE_DATA ShuffleModeValueTable[MAX_SHUFFLE_MODE_VALUES] =
{
{PLAYMODE_NORMAL, S_NORMAL },
{PLAYMODE_SHUFFLE, S_SHUFFLE },
{PLAYMODE_RANDOM, S_RANDOM },
};
static CONST MS_DESCRIPTOR_CHOICE oShuffleChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
CHOICE_HEIGHT
},
_ShuffleChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_SHUFFLE,
MAX_SHUFFLE_MODE_VALUES,
(MS_CHOICE_DATA*)&ShuffleModeValueTable,
CIDX_8,
CIDX_8,
CIDX_6,
BMP_BG_3,
mpfMutatorNull
};
#endif // D_GUI_TOOLKIT_ADD_SHUFFLE
/***************************************************************************************
* Descriptor : oRepeatChoiceDescriptor
*
* Purpose : Descriptor of a tool in the toolkit that allows the user to set the
* repeat mode.
****************************************************************************************/
#define MAX_REPEAT_MODE_VALUES 3
static CONST MS_CHOICE_DATA RepeatModeValueTable[MAX_REPEAT_MODE_VALUES] =
{
{REPEAT_OFF, S_OFF },
{REPEAT_SINGLE, S_SINGLE },
{REPEAT_ALL, S_ALL },
};
static CONST MS_DESCRIPTOR_CHOICE oRepeatChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
CHOICE_HEIGHT
},
_RepeatChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_REPEAT,
MAX_REPEAT_MODE_VALUES,
(MS_CHOICE_DATA*)&RepeatModeValueTable,
CIDX_8,
CIDX_8,
CIDX_6,
BMP_BG_3,
mpfMutatorNull
};
/***************************************************************************************
* Descriptor : oRepeatABChoiceDescriptor
*
* Purpose : Descriptor of a tool in the toolkit that allows the user to set
* repeat AB.
****************************************************************************************/
#ifdef D_GUI_TOOLKIT_ADD_REPEATAB
#define MAX_REPEATAB_MODE_VALUES 3
static CONST MS_CHOICE_DATA RepeatABModeValueTable[MAX_REPEATAB_MODE_VALUES] =
{
{REPEAT_AB_OFF, S_OFF },
{REPEAT_AB_A, S_REPEATAB_A },
{REPEAT_AB_B, S_REPEATAB_B },
};
static CONST MS_DESCRIPTOR_CHOICE oRepeatABChoiceDescriptor =
{
{// MS_DESCRIPTOR
sizeof(MSO_CHOICE),
MS_NAV_TO_ALGINED_Y,
MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_0,
{
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
0,//decided by it's parent vscrolllist
CHOICE_HEIGHT
},
_RepeatABChoiceOperation,
ChoiceFillOSDSeg,
(UINT8*)&InitChoiceParam
},
NULL,
S_REPEATAB_B,
MAX_REPEATAB_MODE_VALUES,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -