📄 guistyle_menu_verticalmain.c
字号:
/*****************************************************************************
** TEXAS INSTRUMENTS PROPRIETARY INFORMATION
**
** (c) Copyright, Texas Instruments Incorporated, 2006.
** All Rights Reserved.
**
** Property of Texas Instruments Incorporated. Restricted Rights -
** Use, duplication, or disclosure is subject to restrictions set
** forth in TI's program license agreement and associated documentation.
******************************************************************************/
#include "common.h"
#include "osd.h"
#include "guiStyle_sub.h"
/* This function initializes the menu according to the menu style */
int08 guiStyle_menu_VerticalMain_OnStart( GUI_OPEN_MENU *menu, GUIMSG *msg )
{
uint08 window;
GUIMSG msg2;
if( menu == NULL )
return FAIL;
if( menu->itemId == OSD_ERR_ID_INVALID )
{
/* set the focus on the first item */
menu->itemId = guiStyle_sub_GetFirstItem( menu->menuId, menu->hiddenItemList );
}
/* call any menu specific initialization */
gui_AppAction_OnStart( menu->menuId, msg );
/* highlight the first item */
if( menu->itemId != OSD_ERR_ID_INVALID )
{
if( gui_AppAction_GetHighlightWindow( menu->menuId, &window ) != PASS )
{
window = OSD_ERR_WINNUM_INVALID;
}
guiStyle_item_Highlight( menu->itemId, window, TRUE );
msg2.type = GUIMSG_CHANGEITEMFOCUS;
msg2.data = NULL;
gui_AppAction_GuiMsg( menu->menuId, menu->itemId, &msg2 );
}
return PASS;
}
/* This function takes the menu's current state (selected item, etc) and refreshes the
* OSD item display */
int08 guiStyle_menu_VerticalMain_Redraw( GUI_OPEN_MENU *menu )
{
if( menu == NULL )
return FAIL;
/* call any menu specific redraw */
gui_AppAction_Redraw( menu->menuId, NULL );
return PASS;
}
/* implement navigation for UP, DOWN, RIGHT, and SELECT */
int08 guiStyle_menu_VerticalMain_GuiMsg( GUI_OPEN_MENU *menu, GUIMSG *msg )
{
int16 newId;
uint08 window;
if( msg == NULL || menu == NULL )
return FAIL;
switch( msg->type )
{
case GUIMSG_UP:
newId = guiStyle_sub_GetPreviousItem( menu->itemId, menu->hiddenItemList, TRUE );
if( newId != OSD_ERR_ID_INVALID )
{
if( gui_AppAction_GetHighlightWindow( menu->menuId, &window ) != PASS )
{
window = OSD_ERR_WINNUM_INVALID;
}
guiStyle_item_Highlight( menu->itemId, window, FALSE );
guiStyle_item_Highlight( newId, window, TRUE );
menu->itemId = newId;
msg->type = GUIMSG_CHANGEITEMFOCUS;
msg->data = NULL;
gui_AppAction_GuiMsg( menu->menuId, menu->itemId, msg );
}
break;
case GUIMSG_DOWN:
newId = guiStyle_sub_GetNextItem( menu->itemId, menu->hiddenItemList, TRUE );
if( newId != OSD_ERR_ID_INVALID )
{
if( gui_AppAction_GetHighlightWindow( menu->menuId, &window ) != PASS )
{
window = OSD_ERR_WINNUM_INVALID;
}
guiStyle_item_Highlight( menu->itemId, window, FALSE );
guiStyle_item_Highlight( newId, window, TRUE );
menu->itemId = newId;
msg->type = GUIMSG_CHANGEITEMFOCUS;
msg->data = NULL;
gui_AppAction_GuiMsg( menu->menuId, menu->itemId, msg );
}
break;
case GUIMSG_RIGHT:
case GUIMSG_SELECT:
newId = OSD_GetChildMenuID( menu->itemId );
/* start the new menu */
if( newId != OSD_ERR_ID_INVALID )
guiStyle_StartMenu( newId, 0 );
break;
case GUIMSG_LEFT:
case GUIMSG_STRING:
case GUIMSG_VALUE:
default:
guiStyle_item_GuiMsg( menu, msg );
break;
}
return PASS;
}
int08 guiStyle_menu_VerticalMain_HideItem( GUI_OPEN_MENU *menu, int16 itemId, BOOL hide )
{
int16 nextItemId;
if( hide != TRUE )
return FALSE;
if( itemId == menu->itemId )
{
/* set the focus on the next item */
nextItemId = guiStyle_sub_GetNextItem( menu->itemId, menu->hiddenItemList, TRUE );
}
if( OSD_DisableItemDisplay(itemId) != PASS )
return FAIL;
if( itemId == menu->itemId )
{
menu->itemId = nextItemId;
}
return PASS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -