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

📄 mapp_uimenu.h

📁 mstar 776 开发的车载dvd
💻 H
字号:
/******************************************************************************
 Copyright (c) 2006 MStar Semiconductor, Inc.
 All rights reserved.

 [Module Name]: MApp_UiMenu.h
 [Date]:        2006/09/04
 [Comment]:
   OSD menu relative subroutine.
 [Reversion History]:
*******************************************************************************/
#include "MApp_Return.h"
#include "MApp_Key.h"
#include "MApp_UiMenuDef.h"
#include "MApp_GlobalVar.h"
#include "MApp_DispMenu.h"

#ifndef MAPP_UI_MENU_H
#define MAPP_UI_MENU_H

#ifdef MAPP_UI_MENU_C
#define INTERFACE
#else
#define INTERFACE extern
#endif

#define CURRENT_PAGE            tblMenuPages[g_u8MenuPageIndex]
#define CURRENT_MENU_ITEMS      CURRENT_PAGE.MenuItems
#define CURRENT_MENU_ITEM_COUNT (CURRENT_PAGE.u8MenuItemCount)

#define CURRENT_MENU_ITEM       CURRENT_MENU_ITEMS[g_u8MenuMainItemIndex]
#define CURRENT_MENU_TOUCH_ITEM CURRENT_MENU_ITEM.TouchMenuItem

#define PREV_PAGE               tblMenuPages[g_u8PrevMenuPageIndex]
#define PREV_MENU_ITEMS         PREV_PAGE.MenuItems
#define PREV_MENU_ITEM_COUNT    (PREV_PAGE.u8MenuItemCount)

#define ScreenSaver_Update_Duration        2000        // in ms
#define MANUAL_SCAN_MONITOR_DURATION       1000
#define CC_HOTKEY_DISPLAY_TIME             3000        // in ms
#define HOTKEY_DISPLAY_TIME                u32HotKeyOSD_Duration// in ms
#define EPGUI_EXIT_PERIOD                  45000       // in ms
#define PCMENU_DISPLAY_TIME                40000       // in ms
#define CHLIST_DISPLAY_TIME                u32InfoOSD_Duration// in ms
#define BANNER_UPDATE_TIME                 1000        // in ms
#define TEN_KEY_ITEM_MAX_COUNT             5

 #define DVD_PREVIEW_START_X         61
 #define DVD_PREVIEW_START_Y         30
 #define DVD_PREVIEW_WIDTH            358
 #define DVD_PREVIEW_HEIGHT           174

typedef enum
{
    STATE_UIMENU_INIT,
    STATE_UIMENU_IDLE,
    STATE_UIMENU_CLEAN_UP,
    STATE_UIMENU_GOTO_STANDBY,
    STATE_UIMENU_GOTO_END,
} EN_UIMENU_STATE;

typedef enum
{
    IPLATE_PROG_INFO,
    IPLATE_EVENT_INFO,
    IPLATE_EXTEND_INFO,
    IPLATE_TYPE_NUM
} EN_IPLATE_TYPE;

typedef enum
{
    EN_SCREENSAVER_NULL,
    EN_SCREENSAVER_NOSIGNAL,
    EN_SCREENSAVER_NODATABASE,
    EN_SCREENSAVER_AUDIOONLY,
    EN_SCREENSAVER_BLOCKRATING,
    EN_SCREENSAVER_SCRAMBLE,
    EN_SCREENSAVER_NO_SHOW_PROGRAM,
    EN_SCREENSAVER_NOCABLE,
    EN_SCREENSAVER_NOSYNC,
    EN_SCREENSAVER_NOSYNC_VD,
    EN_SCREENSAVER_UNSUPPORT_MODE,
} EN_SCREENSAVER_TYPE;

typedef enum
{
    AUDIO_TYPE_HIGH_DEC=5,
    AUDIO_TYPE_HIGH_INC,
    AUDIO_TYPE_MID_DEC,
    AUDIO_TYPE_MID_INC,
    AUDIO_TYPE_LOW_DEC,
    AUDIO_TYPE_LOW_INC,
    AUDIO_TYPE_BBE_DEC,
    AUDIO_TYPE_BBE_INC,
    AUDIO_TYPE_NUM

} EN_AUDIO_TYPE;

typedef enum
{
    SPECTRUM_TYPE_BAR,
    SPECTRUM_TYPE_BLOCK,
    SPECTRUM_TYPE_NUM

} EN_SPECTRUM_TYPE;

typedef enum
{
    SPECTRUM_MODE_BARBB,
    SPECTRUM_MODE_BARGB,
    SPECTRUM_MODE_BARRB,
    SPECTRUM_MODE_BLKG,
    SPECTRUM_MODE_BLKO,
    SPECTRUM_MODE_NUM

} EN_SPECTRUM_MODE;


INTERFACE EN_UIMENU_STATE enUiMainMenuState;

INTERFACE OSDDynamicStringStruct_2 st_MenuDynamicStr;
INTERFACE U8 CHAR_BUFFER[STRBUFF_LENGTH];

INTERFACE BIT g_bPowerOnFirst;
INTERFACE BIT g_bSpeakerType;
INTERFACE BIT g_bSpeakerAnimateShow;
INTERFACE U16 g_u16SpeakerCPIndex;
INTERFACE U8 g_u8MenuPageIndex;
INTERFACE U8 g_u8MenuMainItemIndex;
INTERFACE U8 g_u8MenuSubItemIndex;
INTERFACE U8 g_u8MsgPageIndex;
INTERFACE BIT g_bDrawMenuGopSwitch;

INTERFACE U8 g_u8PrevMenuPageIndex;
INTERFACE U8 g_u8PrevMenuMainItemIndex;

INTERFACE U16 g_u16GroupXPos;
INTERFACE U16 g_u16GroupYPos;
INTERFACE U16 g_u16PageMenuWidth;
INTERFACE U16 g_u16PageMenuHeight;
INTERFACE U16 g_u16OffsetX;
INTERFACE U16 g_u16OffsetY;
INTERFACE U16 g_u16Width;
INTERFACE U16 g_u16Height;

INTERFACE BOOLEAN channelInfoDrawed;
INTERFACE BOOLEAN g_showChannelStatus;    //prevent from status icon will be shown under "channel return" & "favorite" conditions

INTERFACE BOOLEAN g_bOSDShow;
INTERFACE U32 u32MainOSD_Duration, u32InfoOSD_Duration,u32HotKeyOSD_Duration, u32MonitorOsdTimer;
INTERFACE U32 u32MonitorBannerTimer,u32MenuScanMonitorTimer,u32MenuSpectrumScanTimer;
INTERFACE U32 u32MonitorSpectrumMenuTime;
INTERFACE EN_SCREENSAVER_TYPE  enCurScreenSaver;
INTERFACE U32 u32ScreenSaver_UpdateTime;

INTERFACE EN_MENU_FLOW_STATE enMenuFlowState;//, enPreMenuFlowState;
INTERFACE EN_IDLE_WINDOW_TYPE enCurIdleWin;

//INTERFACE U8 fDvdMenuOnScreen;

INTERFACE void MApp_UiMenu_UIVariable(void);
INTERFACE void MApp_UiMenu_ProcessKey(ButtonType u8KeyButton);

INTERFACE BOOLEAN MApp_UiMenu_ExecuteKeyEvent(MenuItemActionType menuAction);
INTERFACE void MApp_UiMenu_Monitor(void);
INTERFACE EN_RET MApp_UiMenu_Main(void);
INTERFACE void MApp_UiMenu_DrawSpecificComponent(U16 relative_x, U16 relative_y, DrawComponentType *ComponentList, COMPONENT_STATE_TYPE  ComponentState);
INTERFACE void MApp_UiMenu_RenderMainMenuItem(MenuMainItemType *mainItem,COMPONENT_STATE_TYPE state);
INTERFACE void MApp_UiMenu_DrawMenuItems(void);
INTERFACE void MApp_UiMenu_DrawMenuPage(void);
INTERFACE void MApp_UiMenu_DrawStaticPageItem(void);
INTERFACE U8 MApp_UiMenu_GetMenuItemIndex( U8 u8TargetParentMenuIdx, U8 u8SonMenuIdx );
INTERFACE void MApp_UiMenu_DisplayShortCut(EN_IDLE_WINDOW_TYPE shortcut);
INTERFACE void MApp_UiMenu_HideShortcut();
INTERFACE void MApp_UiMenu_DrawSpectrumMenuItem(MenuMainItemType* pMenuItem);
//INTERFACE void MApp_UiMenu_Show_Warning_Message_Dialog(U8 warningMenuPageIndex);
INTERFACE void MApp_UiMenu_MainMenu_Init(void);
//INTERFACE MenuItemActionType MApp_GetAspectMenuAction(U8 u8KeyValue);
//INTERFACE BOOLEAN MApp_UiMenu_ScreenSaverClear(void);
INTERFACE void MApp_UiMenu_DrawPathMenuItem(MenuMainItemType* pMenuItem);

INTERFACE void MApp_UiMenu2_ResetOSDGWin();
INTERFACE void MApp_UiMenu2_InitGWin();
INTERFACE void MApp_UiMenu2_ClearOSD(U16 x,U16 y, U16 Width, U16 Height);
//INTERFACE void MApp_UiMenu2_DrawBlackOSD(U16 x,U16 y, U16 Width, U16 Height);
INTERFACE OSDClrBtn MApp_UiMenu2_GetOSDClrBtn(U8 OSDGwinID);
INTERFACE void MApp_UiMenu2_GWIN_Enable(U8 winId, BOOLEAN bEnable);
INTERFACE void MApp_UiMenu2_SwitchToGwin(U8 OSDGwinID);
INTERFACE void MApp_UiMenu2_CreateOSDGWin(U8 OSDGwinID);
INTERFACE void MApp_UiMenu2_DeleteOSDGWin(U8 OSDGwinID);
INTERFACE void MApp_UiMenu2_DeleteALLOSDWindow(void);
INTERFACE void MApp_UiMenu2_ShowOSDGWin(U8 OSDGwinID);
INTERFACE void MApp_UiMenu2_HideOSDGwin(U8 OSDGwinID);
INTERFACE void MApp_UiMenu2_DestroyAllGWin(void);
INTERFACE void MApp_UiMenu2_ShowWarningMessageGwin(U8 warningMenuPageIndex);
INTERFACE void MApp_UiMenu2_ShowChannelInfoGwin(EN_IDLE_WINDOW_TYPE shortcut);
//INTERFACE void MApp_UiMenu2_CopyRegion(U8 CopyGwinID, U8 PasteGwinID);
INTERFACE void MApp_UiMenu_DrawSubMenuItems(U8 u8Index);
INTERFACE U8 MApp_UiMenu_GetMenuState( U8 u8MenuIdx );
INTERFACE void MApp_UiMenu2_DisplayScalingSpread(void);//(U8 inc,U16 Step)
INTERFACE void MApp_UiMenu2_DisplayScalingAnimate(void);
INTERFACE void MApp_UiMenu2_DisplayScalingDown(void);//(U8 inc,U16 Step)
INTERFACE void MApp_UiMenu2_DisplayMenuSlideShow(MenuItemActionType menuAction);
INTERFACE void MApp_UiMenu2_DisplayPopUpWindow(U16 winXstart, U16 winYstart, U16 winWidth, U16 winHeight);
INTERFACE void MApp_UiMenu_DrawUnSelSpectrumMenuItem(MenuMainItemType* pMenuItem);
INTERFACE void  MApp_UiMenu_TouchPanelHandler(void);


#undef INTERFACE
#endif

⌨️ 快捷键说明

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