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

📄 menu_new_pal.c

📁 lcd tv : MST9E19A原代码
💻 C
📖 第 1 页 / 共 5 页
字号:
                }

                if (g_uwFacPassWord  == 0x9527)
                {
                    menuAction=MIA_ENTERFACTORY;
                    bProcessEvent=TRUE;
                }
                break;

            case MIA_INCVALUE:
            case MIA_DECVALUE:
                if(CURRENT_MENU_ITEM_FUNC.AdjustFunction)
                {
                    if(CURRENT_MENU_ITEM_FUNC.AdjustFunction(menuAction))
                    {
                        DrawOsdSubMenuGroup(g_ucMenuPageIndex, g_ucMenuItemIndex);
                    }
                }
                if ((g_ucMenuPageIndex == MENU_OSD) &&  (g_ucMenuItemIndex == 1))
                {
                    msOsdHide();
                    msClearFbBlock(FONT_ASCII_SPACE, WRITECODEBASE+MAIN_MENU_H_SIZE*SUB_TITLE_Y+SUB_TITLE_TX, 20, 2); // Clear code
                    msClearFbBlock(CT_SUB_MENU_TITLE_TXT, WRITEATTRBASE+MAIN_MENU_H_SIZE*SUB_TITLE_Y+SUB_TITLE_TX, 20, 2); // Clear attribute
                    msClearFbBlock(CP_BLACKCOLOR, WRITECODEBASE+MAIN_MENU_H_SIZE*SUB_AREA_Y+SUB_AREA_X, SUB_AREA_WIDTH, SUB_AREA_HEIGHT); // Clear code
                    msClearFbBlock(CP_BLEND, WRITEATTRBASE+MAIN_MENU_H_SIZE*SUB_AREA_Y+SUB_AREA_X, SUB_AREA_WIDTH, SUB_AREA_HEIGHT); // Clear attribute

                    msDynamicLoadLanguage();
                    g_ucMenuPageIndex = MENU_MAIN;
                    g_ucMenuItemIndex = 5;
                    DrawOsdMenuItem(g_ucMenuPageIndex, g_ucMenuItemIndex);
                    g_ucMenuPageIndex = MENU_OSD;
                    g_ucMenuItemIndex = 1;
                    DrawOsdMenuPage(g_ucMenuPageIndex);
                    msOsdShow();
                }
                if (
                    (g_ucMenuPageIndex == MENU_PICTURE && g_ucMenuItemIndex == 7)
                    || (g_ucMenuPageIndex == MENU_SOUND && g_ucMenuItemIndex == 4)
                    || (g_ucMenuPageIndex == MENU_PC_COLORMODE && g_ucMenuItemIndex == 0)
                    )
                {
                    DrawOsdMenuPage(g_ucMenuPageIndex);
                }
                break;

            case MIA_NEXTITEM:
            case MIA_PREVITEM:		
                g_ucPrevMenuItemIndex = g_ucMenuItemIndex;
                if(menuAction == MIA_NEXTITEM)
                {
                    g_ucMenuItemIndex = CurrentMenuGetNextItem();
                }
                else
                {
                    g_ucMenuItemIndex = CurrentMenuGetPrevItem();
                }

                if(g_ucMenuPageIndex == MENU_MAIN)
                {
                    msOsdDisableSubWinAll();
                    msClearFbBlock(CP_BLACKCOLOR, WRITECODEBASE+MAIN_MENU_H_SIZE*SUB_AREA_Y+SUB_AREA_X, SUB_AREA_WIDTH, SUB_AREA_HEIGHT); // Clear code
                    msClearFbBlock(CP_BLEND, WRITEATTRBASE+MAIN_MENU_H_SIZE*SUB_AREA_Y+SUB_AREA_X, SUB_AREA_WIDTH, SUB_AREA_HEIGHT); // Clear attribute

                    msDynamicLoadLanguage();
                    DrawOsdMenuItemText(g_ucMenuPageIndex, g_ucPrevMenuItemIndex);
                    DrawOsdMenuItem(g_ucMenuPageIndex, g_ucMenuItemIndex);
                    DrawOsdMenuPage(MENU_MAIN + g_ucMenuItemIndex+1);
                }
                else
                {
                    DrawOsdItemSelect(&CURRENT_MENU, g_ucMenuItemIndex);
                }
                break;

            case MIA_GOTONEXT:
            case MIA_GOTOPREV:		
                if( MIA_GOTONEXT == menuAction )
                {
                    // Before change menu, execute function
                    if( CURRENT_MENU_ITEM_FUNC.ExecFunction )
                    {
                        if( FALSE == CURRENT_MENU_ITEM_FUNC.ExecFunction() )
                        {
                            break;
                        }
                    }

                    msOsdDisableSubWinAll();
                    g_ucPrevMenuPageIndex = g_ucMenuPageIndex;
                    g_ucMenuPageIndex = CURRENT_MENU_ITEM.NextMenuPage;
                    g_ucMenuItemIndex = 0;
                    {  // Find the first selectable item:
                        BYTE i;
                        for( i = 0; i < CURRENT_MENU_ITEM_COUNT; ++ i )
                        {
                            if( IsItemSelectable( CURRENT_MENU_ITEMS[i].Flags ) )
                            {
                                g_ucMenuItemIndex = i;
                                break;
                            }
                        }
                    }
                }
                else // MIA_GOTOPREV
                {
                    usrSaveMenu(USER_SAVE_OSD_CURRENT);
                    msOsdDisableSubWinAll();
                    g_ucPrevMenuPageIndex = g_ucMenuPageIndex;
                    g_ucMenuPageIndex = CURRENT_MENU.PrevMenuPage;
                    g_ucMenuItemIndex = GetMenuItemIndex( g_ucMenuPageIndex, g_ucPrevMenuPageIndex );
                }

            case MIA_REDRAWMENU:
                DrawOsdMenu();
                if(CURRENT_MENU.ExecFunction)
                {
                    CURRENT_MENU.ExecFunction();
                }

                if(!(CURRENT_MENU.Flags & MP_STAY))
                {
                    bProcessEvent = TRUE;
                    menuAction = MIA_GOTOPREV;
                }
                break;

            case MIA_EXECUTE:
                if(CURRENT_MENU_ITEM_FUNC.ExecFunction)
                {
                    CURRENT_MENU_ITEM_FUNC.ExecFunction();
                    DrawOsdSubMenuGroup(g_ucMenuPageIndex, g_ucMenuItemIndex);
                }
                break;

            case MIA_ENTERFACTORY:
                g_ucFactoryFlag=0x80;
                g_SysSetting.Languange =LANGUAGE_ENGLISH;
                g_ucMenuPageIndex = MENU_FACTORY;
                g_ucMenuItemIndex = 1;
                g_ucOsdTimeCounter = 0;
                DrawOsdMenu();
                break;

            case MIA_GOTO_FACTORY:
                g_ucFactoryFlag=0x80;
                g_ucMenuPageIndex = MENU_FACTORY_COLOR_MODE;
                g_SysSetting.Languange = LANGUAGE_ENGLISH;
                g_ucMenuItemIndex = 0;
                g_ucOsdTimeCounter = 0;
                menuAction=MIA_REDRAWMENU;
                bProcessEvent=TRUE;
                break;

            case MIA_GOTOROOT:
                usrSaveMenu(USER_SAVE_OSD_CURRENT);
#if WHITE_BALANCE_AUTO
                UART_WB_ID = 0;
#endif
                g_ucMenuPageIndex = MENU_ROOT;
                g_ucMenuItemIndex = 0;
                g_ucOsdTimeCounter = 0;
                menuAction = MIA_REDRAWMENU;
                bProcessEvent = TRUE;
                break;

            case MIA_SOURCE:
                msOsdDisableSubWinAll();
                menuAction = MIA_REDRAWMENU;
                g_ucPrevMenuPageIndex = g_ucMenuPageIndex;
                g_ucMenuPageIndex = MENU_SOURCE;
                g_ucMenuItemIndex = ConvertInputSourceIndexToMenuItemIndex();
                bProcessEvent = TRUE;
                break;

            case MIA_TVCHINC:
                if(IsTVInUse())
                {
                    ExecTVChannelInc();
                }
                else
                {
                    g_SysSetting.ucInputSourceType = INPUTSOURCE_TV;
                    InputSourceSwitch(g_SysSetting.ucInputSourceType);
                    usrSaveSystemSetting();
                }
                break;

            case MIA_TVCHDEC:
                if(IsTVInUse())
                {
                    ExecTVChannelDec();
                }
                else
                {
                    g_SysSetting.ucInputSourceType = INPUTSOURCE_TV;
                    InputSourceSwitch(g_SysSetting.ucInputSourceType);
                    usrSaveSystemSetting();
                }
                break;

            case MIA_TVCHRET:
                if(IsTVInUse())
                {
                    ExecTVChannelRet();
                }
                else
                {
                    g_SysSetting.ucInputSourceType = INPUTSOURCE_TV;
                    InputSourceSwitch(g_SysSetting.ucInputSourceType);
                    usrSaveSystemSetting();
                }
                break;

            case MIA_SEARCHUP:
                TV_ChannelSearchInit(TVSearch_UP);
                break;

            case MIA_SEARCHDOWN:
                TV_ChannelSearchInit(TVSearch_DOWN);
                break;

            case MIA_SEARCH_PREVITEM:
            case MIA_SEARCH_NEXTITEM:
                if (g_eSearchMode == TVSearch_INVALID)
                {
                    menuAction = (menuAction == MIA_SEARCH_PREVITEM ? MIA_PREVITEM: MIA_NEXTITEM);
                    bProcessEvent=TRUE;
                }
                break;

            case MIA_SEARCH_STOP:
                if (g_eSearchMode == TVSearch_INVALID)
                {
                    menuAction = MIA_GOTOPREV;
                    bProcessEvent=TRUE;
                }
                else
                {
                    TV_ChannelSearchStop();
                }
                break;

            case MIA_POWER:
                if (g_ucPowerManagerState == pmPowerIdle)
                {
                    if (g_SysSetting.PowerOn)
                    {
                        if (!g_bPowerBootOn)
                        {
                            usrSaveMenu(USER_SAVE_OSD_CURRENT);
                            g_ucMenuPageIndex = MENU_POWER_OFF;
                            g_ucMenuItemIndex = 0;
                            g_ucOsdTimeCounter = 0;
                            menuAction = MIA_REDRAWMENU;
                            bProcessEvent = TRUE;
                        }
                    }
                    else
                    {
                        menuAction = MIA_GOTONEXT;
                        bProcessEvent = TRUE;
                    }
                }
                break;

            case MIA_VOLUME:
                g_ucMenuPageIndex = MENU_VOLUME;
                g_ucMenuItemIndex = 0;
                menuAction = MIA_REDRAWMENU;
                bProcessEvent = TRUE;
                break;

            case MIA_MUTE:
                g_bAudioMute = !g_bAudioMute;
                devAudioVolumeCtl( AUDIO_VOLUME_TURN_ON );

                g_ucMenuPageIndex = MENU_INPUT_MESSAGE;
                g_ucMenuItemIndex = 0;
                DrawOsdMenu();
                if (g_bAudioMute)
                {
                  g_ucOsdTimeCounter = 0;
                }
                break;

            case MIA_INFO:
                if (g_ucMenuPageIndex != MENU_INPUT_MESSAGE)
                {
                    g_ucMenuPageIndex = MENU_INPUT_MESSAGE;
                }
                else
                {
                    g_ucMenuPageIndex = MENU_ROOT;
                }
                g_ucMenuItemIndex = 0;
                DrawOsdMenu();
                break;

            case MIA_ZOOM:
                if(g_ucMenuPageIndex == MENU_SCALER_MODE)
                {
                    AdjustPictureScale(MIA_INCVALUE);
                    usrSaveMenu(USER_SAVE_OSD_CURRENT);
                }
                else
                {
                    AdjustPictureScale(0);//open scaler Mode menu
                }
                g_ucMenuPageIndex = MENU_SCALER_MODE;
                g_ucMenuItemIndex = 0;
                DrawOsdMenu();
                break;

            case MIA_PICTURE_MODE:
                if(g_ucMenuPageIndex == MENU_PICTURE_MODE)
                {
                    AdjustPicturePictureMode(MIA_INCVALUE);
                }
                else
                {
                    AdjustPicturePictureMode(0);//open PIC Mode menu
                }
                g_ucMenuPageIndex = MENU_PICTURE_MODE;
                g_ucMenuItemIndex = 0;
                DrawOsdMenu();
                break;
 
            case MIA_SOUND_MODE:
                if(g_ucMenuPageIndex == MENU_SOUND_MODE)
                {
                    AdjustSoundSoundMode(MIA_INCVALUE);
                }
                else
                {
                    AdjustSoundSoundMode(0);//open Sound Mode menu
                }
                g_ucMenuPageIndex = MENU_SOUND_MODE;
                g_ucMenuItemIndex = 0;
                DrawOsdMenu();
                break;

            case MIA_MTS:
                if(!IsTVInUse())
                {
                    break;
                }
                AdjustMTSMode(MIA_INCVALUE);
                menuAction = MIA_REDRAWMENU;
                g_ucMenuPageIndex = MENU_MTS_MODE;
                g_ucMenuItemIndex = 0;
                bProcessEvent = TRUE;
                break;

            case MIA_SLEEP:
                if (g_ucMenuPageIndex == MENU_SLEEP_MODE)
                {
                    AdjustSleepTimer(MIA_INCVALUE);
                }
                g_ucMenuPageIndex = MENU_SLEEP_MODE;

⌨️ 快捷键说明

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