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

📄 menudef_new_pal.h

📁 lcd tv : MST9E19A原代码
💻 H
字号:
/******************************************************************************
 Copyright (c) 2003 MStar Semiconductor, Inc.
 All rights reserved.

 [Module Name]: MenuDef.h
 [Date]:        06-Jan-2003
 [Comment]:
   Menu Table define header file.
 [Reversion History]:
*******************************************************************************/
#ifndef _MENUDEF_H_
#define _MENUDEF_H_

#include "board.h"
#include "define.h"
#include "keypad.h"


#ifdef _MENUDEF_C_
  #define _MENUDEFDEC_
#else
  #define _MENUDEFDEC_ extern
#endif

typedef enum
{
    CP_BLACKCOLOR,     // 0
    CP_DARKBLUECOLOR,  // 1
    CP_BLUECOLOR,      // 2
    CP_LIGHTBLUECOLOR, // 3
    CP_DARKGREENCOLOR, // 4
    CP_GREENCOLOR,     // 5
    CP_REDCOLOR,       // 6
    CP_ORANGECOLOR,    // 7
    CP_YELLOWCOLOR,    // 8
    CP_DARKGRAYCOLOR,  // 9
    CP_GRAYCOLOR,      // A
    CP_LIGHTGRAYCOLOR, // B
    CP_WHITECOLOR,     // C
    CP_TEACOLOR,       // D
    CP_BLEND,          // E
    CP_TRANSPARENT     // F
} CP_ColorType;

typedef enum
{
    CP_BANK_0,  // 0
    CP_BANK_1,  // 1
    CP_BANK_2,  // 2
    CP_BANK_3,  // 3
    CP_BANK_4,  // 4
    CP_BANK_5,  // 5
    CP_BANK_6,  // 6
    CP_BANK_7   // 7
} CP_ColorBankEnumType;

typedef enum  // Note: The order must match to tblMenus[] (in "MenuTbl.c")
{
    MENU_LOGO,
    MENU_POWER_OFF,
    MENU_POWER_ON,
    MENU_STANDBY,
    MENU_UNSUPPORTED_MODE,
    MENU_ROOT,

    // user definition from here
    //main menu start===>>>>>>>>>>
    MENU_MAIN,
    MENU_PICTURE,
    MENU_PC,
    MENU_SOUND,
    MENU_FUNCTION,
    MENU_PC_GEOMETRY,
    MENU_OSD,
    MENU_CHANNEL,

    MENU_PC_COLORMODE,
    MENU_OSD_INFORMATION,

    // the menu for adjustment
    MENU_PICTURE_SUB_CONTRAST,
    MENU_PICTURE_SUB_BRIGHTNESS,
    MENU_PICTURE_SUB_HUE,
    MENU_PICTURE_SUB_SATURATION,
    MENU_PICTURE_SUB_SHARPNESS,

    MENU_SOUND_SUB_BASS,
    MENU_SOUND_SUB_TREBLE,
    MENU_SOUND_SUB_BALANCE,
    MENU_SOUND_SUB_EQUALIZER,

    MENU_PC_SUB_CONTRAST,
    MENU_PC_SUB_BRIGHTNESS,
    MENU_PC_SUB_HPOSITION,
    MENU_PC_SUB_VPOSITION,
    MENU_PC_SUB_CLOCK,
    MENU_PC_SUB_PHASE,

    MENU_PC_COLORMODE_SUB_USERR,
    MENU_PC_COLORMODE_SUB_USERG,
    MENU_PC_COLORMODE_SUB_USERB,

    MENU_OSD_SUB_DURATION,
    MENU_OSD_SUB_HALFTONE,

    MENU_CHANNEL_FINETUNE,
    MENU_CHANNEL_PROGRAM,    
    MENU_CHANNEL_MANUAL_SCAN,
    MENU_CHANNEL_AUTO_SCAN,
    //main menu end===<<<<<<<<<<<<<<<

    //sigle menu start===>>>>>>>>>>
    MENU_VOLUME,
    MENU_SOURCE,
    MENU_INPUT_MESSAGE,
    MENU_AUTO_ADJUST,
#if( ENABLE_TTX )
    MENU_TTX_ON,
    MENU_NO_TTX,
#endif
// menuTable for view. Ex: mute, source info...
    MENU_PICTURE_MODE,
    MENU_SOUND_MODE,
    MENU_SCALER_MODE,
    MENU_MTS_MODE,
    MENU_SLEEP_MODE,
//sigle menu end===<<<<<<<<<<<<<<

// Factory Menu ...
    MENU_FACTORY,
    MENU_FACTORY_ADC_ADJ,//
    MENU_FACTORY_PICTURE_MODE,//
    MENU_FACTORY_COLOR_MODE,//
    MENU_FACTORY_NONLINEAR_MODE,//
    MENU_FACTORY_VOLUME_NLC,//
    MENU_FACTORY_VIDEO_NLC,//
    MENU_FACTORY_PC_NLC,//
    // user definition end
    MAXMENU
} MenuPageIndexType;

typedef enum
{
    MIA_NOTHING,
    MIA_GOTONEXT, // Goto next page
    MIA_GOTOPREV, // Goto prev
    MIA_NEXTITEM, // Goto next item
    MIA_PREVITEM, // Goto prev item
    MIA_REDRAWMENU,
    MIA_INCVALUE, // Increase Value
    MIA_DECVALUE, // Decrease Value
    MIA_EXECUTE, // Execute Function
    MIA_SOURCE,
    MIA_ENTERFACTORY,
    MIA_GOTO_FACTORY,
    MIA_GOTOROOT,
    MIA_VOLUME,
    MIA_TVCHINC,
    MIA_TVCHDEC,
    MIA_TVCHRET,        //0x10

    MIA_KEY0,
    MIA_KEY1,
    MIA_KEY2,
    MIA_KEY3,
    MIA_KEY4,
    MIA_KEY5,
    MIA_KEY6,
    MIA_KEY7,
    MIA_KEY8,
    MIA_KEY9,
    MIA_KEY100,

    MIA_SEARCHUP,
    MIA_SEARCHDOWN,
    MIA_AUTOSERACH,
    MIA_SEARCH_STOP,
    MIA_SEARCH_PREVITEM,    //0x20
    MIA_SEARCH_NEXTITEM,

    MIA_FAC0,
    MIA_FAC1,
    MIA_FAC2,
    MIA_FAC3,
    MIA_FAC4,
    MIA_FAC5,
    MIA_FAC6,
    MIA_FAC7,
    MIA_FAC8,
    MIA_FAC9,

    MIA_PAL_PROGRAM_UP,
    MIA_PAL_PROGRAM_DOWN,
    MIA_PAL_PROGRAM_LEFT,
    MIA_PAL_PROGRAM_RIGHT,
    MIA_PAL_PROGRAM_NAME,       //0x30
    MIA_PAL_PROGRAM_INSERT,
    MIA_PAL_PROGRAM_DELETE,
    MIA_PAL_PROGRAM_OK,
    MIA_PAL_PROGRAM_CANCEL,

    MIA_INFO,
    MIA_PC_AUTO,
    MIA_MUTE,
    MIA_PICTURE_MODE,
    MIA_SOUND_MODE,
    MIA_ZOOM,
    MIA_MTS,
    MIA_SLEEP,
    MIA_POWER,
    MIA_MAIN_SOURCE,

    MIA_TTX,
    MIA_TTX_REVEAL,
    MIA_TTX_UPDATE,
    MIA_TTX_SIZE,
    MIA_TTX_HOLD,
    MIA_TTX_INDEX,
    MIA_TTX_MIX,
    MIA_TTX_SUBCODE,
    MIA_TTX_LIST,
    MIA_TTX_CANCEL,
    MIA_TTX_SUBTITLE,

    MIA_TTX_KEY0,
    MIA_TTX_KEY1,
    MIA_TTX_KEY2,
    MIA_TTX_KEY3,
    MIA_TTX_KEY4,
    MIA_TTX_KEY5,
    MIA_TTX_KEY6,
    MIA_TTX_KEY7,
    MIA_TTX_KEY8,
    MIA_TTX_KEY9,
    MIA_TTX_UP,
    MIA_TTX_DOWN,

    MIA_TTX_RED,
    MIA_TTX_GREEN,
    MIA_TTX_YELLOW,
    MIA_TTX_CYAN,

    MIA_TTX_EXIT,
} MenuItemActionType;

typedef enum
{
    DWI_NOTHING,
    DWI_TEXT,
    DWI_LOGOICON,
    DWI_COLORICON,
    DWI_INFORMATION,
} DrawMenuTextType;

#if(EnableMultiLanguage)
typedef WORD (*fpDisplayText)(void);
#else
typedef WORD* (*fpDisplayText)(void);
#endif

//typedef BYTE* (*fpDisplayText)(void);
typedef BOOL  (*fpExecFunc)(void);
typedef BYTE  (*fpItemIndex)(void);
typedef BOOL  (*fpAdjustValue)(MenuItemActionType action);
typedef WORD  (*fpGetValue)(void);
typedef WORD  (*fpGetMaxValue)(void);
typedef WORD  (*fpSetMaxValue)(void);

#define MP_STAY         0x01 // Menu Page stay or not
#define MP_INVISIBLE    0x02 // Menu Page visible or not
#define MP_DRAWFRAME    0x10
#define MP_MOVING       0x20

#define MI_SELECTABLE   0x01 // Menu Item selectable or not
#define MI_PC_ONLY      0x02 // Item for PC only
#define MI_VGA_ONLY     0x03
#define MI_VIDEO_ONLY   0x04 // Item for video only
#define MI_TV_ONLY      0x05 // Item for TV only
#define MI_NTSC_ONLY    0x06 // Item for ntsc only
#define MI_ADC_ONLY     0x07 //Item for ADC only
#define MI_PCCOLORTEMPUSER_ONLY             0x08
#define MI_PICTUREMODEUSER_ONLY	            0x09
#define MI_SOUNDNODEUSER_ONLY               0x0A
#define MI_FINETUNEMANUALSELECTABLE_ONLY    0x0B
#define MI_SCART_FUNC_ONLY                  0x0C //Item for SCART only
#define MI_VIDEO_NONE_TV_ONLY               0x0D //Item for video mode except for TV.
#define MI_3D_ONLY                          0x0E //Item for video mode except for TV.
#define MI_DYNAMIC0                        0x0F
#define MI_DYNAMIC1                        0x10
#define MI_DYNAMIC2                        0x11
#define MI_UNSELECTABLE   0x12 // Menu Item selectable or not

#define MI_KEY_MAP  0x01

enum _EnuDSI// Draw sub menu Item Text method
{    
    DSI_TEXT,
    DSI_NUMBER,    
    DSI_HEX_NUMBER,
    DSI_COLORGAUGE,
    DSI_NUMBER_IN6,
    DSI_TEXT_IN0,
    DSI_TEXT_IN1,
    DSI_TEXT_IN2,
    DSI_TEXT_IN3,
    DSI_TEXT_IN4,
    DSI_TEXT_IN5,
    DSI_TEXT_IN6,
    DSI_TEXT_FREQ,
};
#define DSI_END         0x80

typedef struct
{
    WORD* Fonts;
    WORD FontCount;
} MenuFontType;

typedef struct
{
    fpAdjustValue AdjustFunction;
    fpExecFunc ExecFunction;
} MenuItemFuncType;

typedef struct
{
    BYTE Flags;
    BYTE UnSelColorType, SelColorType;
    BYTE XPos, YPos;
    BYTE Length;
    fpDisplayText DisplayText;
    fpGetValue GetValue;
} DrawSubMenuGroupType;

//Bruce.Ding add 060208 15:26 --[UI]
typedef struct
{
    BYTE eKeyType;
    BYTE eItemAction;
}KeyActionMap;

typedef struct
{
    BYTE cActionFlags;
    KeyActionMap *psKeyAction;
}MenuItemKeyAction;
//Bruce.Ding add end

typedef struct
{
    BYTE XPos, YPos;
    BYTE UnSelColorType, SelColorType;
    BYTE NextMenuPage;
    DrawMenuTextType DrawItemMethod;
    fpDisplayText DisplayText;
    MenuItemKeyAction* KeyEvents; //MenuItemActionType *KeyEvents;
    MenuItemFuncType KeyFunction;
    DrawSubMenuGroupType* DrawSubMenuGroup;
    //MenuFontType *Fonts;
    BYTE Flags;
} MenuItemType;

typedef struct
{
    BYTE XSize, YSize;
    BYTE PrevMenuPage;
    MenuItemType* MenuItems;
    BYTE MenuItemCount;
    BYTE ItemSelLength, ItemSubGroupSelLength;
    fpExecFunc ExecFunction;
    //MenuFontType *Fonts;
    BYTE Flags;
} MenuPageType;

#define MPT_USESYSTEMTIMEOUT  0x80
#define MPT_DEFAULT_TIME      5
#define FONT_ASCII_SPACE    0x00


/////////////////////////////////////////////
//  Color Type of Menu Item - Mono Font
//        High nibble is Foreground Color
//        Low nibble is Background Color
/////////////////////////////////////////////
#define CT_MENU_HIDDEN              (CP_DARKGRAYCOLOR<<4)   + CP_BLEND
#define CT_MENU_NORMAL				(CP_YELLOWCOLOR<<4)  + CP_BLEND
#define	CT_MENU_TEXT				(CP_YELLOWCOLOR<<4)  + CP_TRANSPARENT
#define	CT_MENU_BAR					0x70
#define	CT_MENU_BAR_GRAYED			0x90
#define	CT_MENU_TXT_SEL				(CP_DARKBLUECOLOR<<4)  + CP_REDCOLOR
#define	CT_MENU_BAR_SEL				(CP_YELLOWCOLOR<<4) + CP_BLEND//(CP_YELLOWCOLOR<<4)  + CP_BLEND
#define	CT_MENU_ADJ_SEL				(CP_REDCOLOR<<4)  + CP_BLEND

#define	CT_MENU_SOURCE_FRAME		0x01
#define	CT_MENU_SOURCE_TITLE		(CP_YELLOWCOLOR<<4)  + CP_LIGHTBLUECOLOR
#define	CT_SUB_MENU_TITLE_BAR		(CP_WHITECOLOR<<4)  + CP_BLEND
#define	CT_SUB_MENU_TITLE_TXT		(CP_WHITECOLOR<<4)  + CP_LIGHTBLUECOLOR

#define CT_MENU_MAIN_BLACKBAR    (CP_BLACKCOLOR<<4)  + CP_BLACKCOLOR
#define CT_MENU_MAIN_BOTTOMTXT   (CP_WHITECOLOR<<4)  + CP_BLACKCOLOR

#define CT_MENU_PICTURE			CT_MENU_NORMAL//(CP_WHITECOLOR<<4)  + CP_BLEND
#define CT_MENU_PICTURE_TXT_SEL		CT_MENU_TXT_SEL//(CP_BLACKCOLOR<<4)  + CP_YELLOWCOLOR
#define CT_MENU_PICTURE_BAR_SEL		CT_MENU_BAR_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND
#define CT_MENU_PICTURE_ADJ_SEL   	CT_MENU_ADJ_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND

#define CT_MENU_SOUND				CT_MENU_NORMAL//(CP_WHITECOLOR<<4)  + CP_BLEND
#define CT_MENU_SOUND_TXT_SEL		CT_MENU_TXT_SEL//(CP_BLACKCOLOR<<4)  + CP_REDCOLOR//(CP_BLACKCOLOR<<4)  + CP_ORANGECOLOR
#define CT_MENU_SOUND_BAR_SEL		CT_MENU_BAR_SEL//(CP_ORANGECOLOR<<4) + CP_BLEND
#define CT_MENU_SOUND_ADJ_SEL		CT_MENU_ADJ_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND//(CP_ORANGECOLOR<<4) + CP_BLEND
#define CT_MENU_PIP_ADJTXT              (CP_GRAYCOLOR<<4)   + CP_BLEND//kitty0105

#define CT_MENU_CHANNEL				CT_MENU_NORMAL//CT_MENU_NORMAL//(CP_WHITECOLOR<<4)  + CP_BLEND
#define CT_MENU_CHANNEL_TXT_SEL		CT_MENU_TXT_SEL//(CP_BLACKCOLOR<<4)  + CP_REDCOLOR//(CP_BLACKCOLOR<<4)  + CP_BLUECOLOR
#define CT_MENU_CHANNEL_BAR_SEL		CT_MENU_BAR_SEL//(CP_BLUECOLOR<<4)   + CP_BLEND
#define CT_MENU_CHANNEL_ADJ_SEL		CT_MENU_ADJ_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND//(CP_BLUECOLOR<<4)   + CP_BLEND

#define CT_MENU_FUNCTION			CT_MENU_NORMAL//(CP_WHITECOLOR<<4)  + CP_BLEND
#define CT_MENU_FUNCTION_TXT_SEL	CT_MENU_TXT_SEL//(CP_BLACKCOLOR<<4)  + CP_REDCOLOR//(CP_BLACKCOLOR<<4)  + CP_GREENCOLOR
#define CT_MENU_FUNCTION_BAR_SEL	CT_MENU_BAR_SEL//(CP_GREENCOLOR<<4)  + CP_BLEND
#define CT_MENU_FUNCTION_ADJ_SEL	CT_MENU_ADJ_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND//(CP_GREENCOLOR<<4)  + CP_BLEND

#define CT_MENU_PC					CT_MENU_NORMAL//(CP_WHITECOLOR<<4)  + CP_BLEND
#define CT_MENU_PC_TXT_SEL			CT_MENU_TXT_SEL//(CP_BLACKCOLOR<<4)  + CP_REDCOLOR//(CP_BLACKCOLOR<<4)  + CP_REDCOLOR
#define CT_MENU_PC_BAR_SEL			CT_MENU_BAR_SEL//(CP_REDCOLOR<<4)    + CP_BLEND
#define CT_MENU_PC_ADJ_SEL			CT_MENU_ADJ_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND//(CP_REDCOLOR<<4)    + CP_BLEND

#define CT_MENU_PCGEOMETRY			CT_MENU_NORMAL//(CP_WHITECOLOR<<4)  + CP_BLEND
#define CT_MENU_PCGEOMETRY_TXT_SEL	CT_MENU_TXT_SEL//(CP_BLACKCOLOR<<4)  + CP_REDCOLOR//(CP_BLACKCOLOR<<4)  + CP_GREENCOLOR
#define CT_MENU_PCGEOMETRY_BAR_SEL	CT_MENU_BAR_SEL//(CP_GREENCOLOR<<4)  + CP_BLEND
#define CT_MENU_PCGEOMETRY_ADJ_SEL	CT_MENU_ADJ_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND//(CP_GREENCOLOR<<4)  + CP_BLEND

#define CT_MENU_OSD					CT_MENU_NORMAL//(CP_WHITECOLOR<<4)  + CP_BLEND
#define CT_MENU_OSD_TXT_SEL			CT_MENU_TXT_SEL//(CP_BLACKCOLOR<<4)  + CP_REDCOLOR//(CP_BLACKCOLOR<<4)  + CP_TEACOLOR
#define CT_MENU_OSD_BAR_SEL			CT_MENU_BAR_SEL//(CP_TEACOLOR<<4)    + CP_BLEND
#define CT_MENU_OSD_ADJ_SEL			CT_MENU_ADJ_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND//(CP_TEACOLOR<<4)    + CP_BLEND
#define CT_MENU_SOURCE          ((CP_WHITECOLOR<<4)  + CP_BLEND)
#define CT_MENU_SOURCE_SEL      ((CP_BLACKCOLOR<<4)  + CP_ORANGECOLOR)
#define CT_MENU_CHANNEL_SEL_SEARCHING_SUB   (CP_YELLOWCOLOR<<4)  + CP_BLEND//kitty1215

#define CT_MENU_VIDEO_FUNCTION   	        CT_MENU_NORMAL//CT_MENU_NORMAL//(CP_WHITECOLOR<<4)  + CP_BLEND
#define CT_MENU_VIDEO_FUNCTION_TXT_SEL		CT_MENU_TXT_SEL//(CP_BLACKCOLOR<<4)  + CP_REDCOLOR//(CP_BLACKCOLOR<<4)  + CP_BLUECOLOR
#define CT_MENU_VIDEO_FUNCTION_BAR_SEL		CT_MENU_BAR_SEL//(CP_BLUECOLOR<<4)   + CP_BLEND
#define CT_MENU_VIDEO_FUNCTION_ADJ_SEL		CT_MENU_ADJ_SEL//(CP_YELLOWCOLOR<<4) + CP_BLEND//(CP_BLUECOLOR<<4)   + CP_BLEND

#define CT_MENU_INPUTMESSAGE     (CP_GREENCOLOR<<4)  + CP_TRANSPARENT
#define CT_MENU_AUTOSCAN         (CP_GREENCOLOR<<4)  + CP_TRANSPARENT
#define CT_MENU_AUTOADJUST       (CP_BLUECOLOR<<4)   + CP_BLEND

#define CT_MENU_SUB_ADJUSTMENT   (CP_WHITECOLOR<<4)  + CP_BLEND

#define CT_MENU_RED_TEXT         (CP_REDCOLOR<<4)    + CP_TRANSPARENT
#define CT_MENU_NULL        (CP_GRAYCOLOR<<4)   + CP_TRANSPARENT

#define CT_MENU_VIEW     (CP_GREENCOLOR<<4)  + CP_BLEND

/////////////////////////////////////////////
//  Color Type of Menu Item - Color Font
//        High nibble is Color Bank/Group
//        Low nibble is None
/////////////////////////////////////////////
#define CT_MENU_COLORICON        (CP_BANK_0<<4) + NULL

#endif

⌨️ 快捷键说明

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