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

📄 osdav900.c

📁 LCD Monitor 部分源码
💻 C
📖 第 1 页 / 共 2 页
字号:
#define __OSDAV001___

#include "Header\Include.h"

#if(_OSD_TYPE == _OSD900)

#if(_VIDEO_AV_SUPPORT || _VIDEO_SV_SUPPORT || _VIDEO_TV_SUPPORT)

//------------------------------------------------------------
void OSDAVProc()
{
    switch(ucOsdState)
    {
        case _MENU_NONE:                 MAVNonePorc();           break;

        case _MENU_COLOR:
        case _MENU_IMAGE_SETTING:
        case _MENU_OSD_MENU:
        case _MENU_LANGUAGE:
        case _MENU_MISC:
        case _MENU_EXIT:                 MAVMainMenuProc();       break;

        case _MENU_CONTRAST:
        case _MENU_BRIGHTNESS:
        case _MENU_HUE:
        case _MENU_SATURATION:
        case _MENU_COLOR_BACK:           MAVColorPageProc();      break;

        case _MENU_GAMMA:
        case _MENU_SHARPNESS:
        case _MENU_IMAGE_BACK:           MAVImagePageProc();      break;

        case _MENU_OSD_HPOS:
        case _MENU_OSD_VPOS:
        case _MENU_OSD_TIMER:
        case _MENU_OSD_BACK:             MOsdPageProc();        break;

        case _MENU_RESET:
        case _MENU_VOLUME:
        case _MENU_MUTE:
        case _MENU_MISC_BACK:            MMiscPageProc();       break;

        case _MENU_LANGUAGE_ADJ:         MLanguageProc();       break;
        case _MENU_CONTRAST_ADJ:         MContrastProc();       break;
        case _MENU_BRIGHTNESS_ADJ:       MBrightnessProc();     break;
        case _MENU_GAMMA_ADJ:            MGammaProc();          break;
        case _MENU_SHARPNESS_ADJ:        MSharpnessProc();      break;
        case _MENU_OSD_HPOS_ADJ:         MOsdHPosProc();        break;
        case _MENU_OSD_VPOS_ADJ:         MOsdVPosProc();        break;
        case _MENU_OSD_TIMER_ADJ:        MOsdTimerProc();       break;
        case _MENU_VOLUME_ADJ :          MVolumeProc();         break;
        case _MENU_HUE_ADJ:              MAVHueAdjProc();       break;
        case _MENU_SATURATION_ADJ:       MAVSaturationAdjProc();break;
        default:                                                break;
    }
}
//------------------------------------------------------------
void DrawAVMainPage()
{
    // Close Window2
    COsdFxCloseWindow(2);
    // Load font
    CScalerLoadFont(Fnt_MainPage_Ico,0x7a*2,42*2,_COMPRESS_FONT);
    
    SetIconCntAtb(7);                                             //Set Icon Count : 7

    // Out Icon & Out Text
    DispIcon(3,4,0x7a);                                           //Color Icon
    DispIcon(3,7,0x80);                                           //Image setting Icon
    DispIcon(3,10,0x8c);                                          //Osd Menu Icon
    DispIcon(3,13,0x92);                                          //Languege Icon
    DispIcon(3,16,0x98);                                          //Misc Icon
    DispIcon(3,19,0x9e);                                          //Exit Icon

    Gotoxy(7,5,BYTE_DISPLAY);
    Textout((unsigned char code *)sColor[GET_LANGUAGE]);

    Gotoxy(7,8,BYTE_DISPLAY);
    Textout((unsigned char code *)sImageSetting[GET_LANGUAGE]);

    Gotoxy(7,11,BYTE_DISPLAY);
    Textout((unsigned char code *)sOsdMenu[GET_LANGUAGE]);

    Gotoxy(7,14,BYTE_DISPLAY);
    Textout((unsigned char code *)sLanguage[GET_LANGUAGE]);

    Gotoxy(7,17,BYTE_DISPLAY);
    Textout((unsigned char code *)sMisc[GET_LANGUAGE]);

    Gotoxy(7,20,BYTE_DISPLAY);
    Textout((unsigned char code *)sExit[GET_LANGUAGE]);

    DrawAVMainPageSelect(1);
}
//---------------------------------------------------------------------------

void DrawAVColorPage()
{
    // Load font
    CScalerLoadFont(Fnt_ColorTmp_Ico, 0x03,6,_COMPRESS_FONT);
    CScalerLoadFont(Fnt_Color_Ico,0x7a*2,24*2,_COMPRESS_FONT);
    CScalerLoadFont(Fnt_Back_Ico, 0x92*2,6*2,_COMPRESS_FONT);
    
    
    CLEAR_OSD_ADJUST();

    SetIconCntAtb(5);                                             //Set Icon Count : 7
    // Out Icon & Out Text
    DispIcon(3,4,0x7a);                                           //Contrast Icon
    DispIcon(3,7,0x80);                                           //Brightness Icon
    DispIcon(3,10,0x86);                                          //HUE
    DispIcon(3,13,0x8c);                                          //SATURATION
    DispIcon(3,16,0x92);                                          //Back Icon

    Gotoxy(7,5,BYTE_DISPLAY);
    Textout((unsigned char code *)sContrast[GET_LANGUAGE]);

    Gotoxy(7,8,BYTE_DISPLAY);
    Textout((unsigned char code *)sBrightness[GET_LANGUAGE]);

    Gotoxy(7,11,BYTE_DISPLAY);
    Textout((unsigned char code *)sHue[GET_LANGUAGE]);

    Gotoxy(7,14,BYTE_DISPLAY);
    Textout((unsigned char code *)sSaturation[GET_LANGUAGE]);    
                          
    Gotoxy(7,17,BYTE_DISPLAY);
    Textout((unsigned char code *)sBack[GET_LANGUAGE]);

    COsdFxDrawWindow(XSTART(40), YSTART(355), XEND(250), YEND(445), tOSD_WINDOW2_STYLE);
    COsdFxChangeWindowColor(COLOR00(_CP_BLACK), tOSD_WINDOW2_STYLE);

    DrawPen(1,(ucOsdState - _MENU_CONTRAST) * 3 + 5);
}
//---------------------------------------------------------------------------
void DrawAVImagePage()
{
    // Load font
    CScalerLoadFont(Fnt_Image_Ico,0x7a*2,24*2,_COMPRESS_FONT);
    CScalerLoadFont(Fnt_Back_Ico,0x92*2,6*2,_COMPRESS_FONT);

    CLEAR_OSD_ADJUST();

    SetIconCntAtb(5);                                             //Set Icon Count : 7
    // Out Icon & Out Text
    DispIcon(3,4,0x7a);
    DispIcon(3,7,0x80);                                          
    DispIcon(3,10,0x92);

    Gotoxy(7,5,BYTE_DISPLAY);
    Textout((unsigned char code *)sGamma[GET_LANGUAGE]);

    Gotoxy(7,8,BYTE_DISPLAY);
    Textout((unsigned char code *)sSharpness[GET_LANGUAGE]);

    Gotoxy(7,11,BYTE_DISPLAY);
    Textout((unsigned char code *)sBack[GET_LANGUAGE]);

    COsdFxDrawWindow(XSTART(40), YSTART(355), XEND(250), YEND(445), tOSD_WINDOW2_STYLE);
    COsdFxChangeWindowColor(COLOR00(_CP_BLACK), tOSD_WINDOW2_STYLE);

    DrawPen(1,(ucOsdState - _MENU_GAMMA) * 3 + 5);
}
//---------------------------------------------------------------------------




//---------------------------------------------------------------------------
void MAVNonePorc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:                              break;
         case VK_MENU_IN:       MAVNoneMenuIn();        break;
         case VK_PREV_MENU:                             break;
         case VK_NEXT_MENU:                             break;
         case VK_ADJ_DEC:       MAVNoneLR(0);           break;
         case VK_ADJ_INC:       MAVNoneLR(1);           break;
         case VK_DO:                                    break;
         case VK_ENTER:         MAVNoneEnter();         break;
         case VK_LEFT:          MAVNoneLR(0);           break;
         case VK_RIGHT:         MAVNoneLR(1);           break;
     }
}
//------------------------------------------------------------
void MAVNoneEnter()
{
     DoAuto();
}
//------------------------------------------------------------

void MAVNoneLR(unsigned char LR)
{
     LR = LR;
}
//------------------------------------------------------------
void MAVNoneMenuIn()
{
     ucOsdState = _MENU_COLOR;
     LoadLanguageFont();
     InitOSDFrame();
     DrawAVMainPage();
     COsdFxEnableOsd();
}
//------------------------------------------------------------





//------------------------------------------------------------
void MAVMainMenuProc()
{
     switch(ucKeyMessage)
     {                                       
         case VK_MENU_OUT:      MAVMainMenuMenuOut();   break;
         case VK_MENU_IN:       MAVMainMenuMenuIn();    break;
         case VK_PREV_MENU:     MAVMainMenuLR(0);       break;
         case VK_NEXT_MENU:     MAVMainMenuLR(1);       break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MAVMainMenuMenuIn();    break;
         case VK_LEFT:          MAVMainMenuLR(0);       break;
         case VK_RIGHT:         MAVMainMenuLR(1);       break;
     }
}
//------------------------------------------------------------
void MAVMainMenuMenuIn()
{
     CLEAR_OSD_CLIENT();
     switch(ucOsdState)
     {
        case _MENU_COLOR:
             ucOsdState = _MENU_CONTRAST;
             DrawAVColorPage();
             break;
        case _MENU_IMAGE_SETTING:
             ucOsdState = _MENU_GAMMA;
             DrawAVImagePage();
             break;
        case _MENU_OSD_MENU:
             ucOsdState = _MENU_OSD_HPOS;
             DrawOSDPage();
             break;
        case _MENU_LANGUAGE:
             ucOsdState = _MENU_LANGUAGE_ADJ;
             DrawLanguagePage();
             break;
        case _MENU_MISC:
             ucOsdState = _MENU_RESET;
             DrawMiscPage();
             break;
        case _MENU_EXIT:
             ucOsdState = _MENU_NONE;             
             COsdFxDisableOsd();
             break;
     }
}
//------------------------------------------------------------
void MAVMainMenuLR(unsigned char LR)
{
     // Step 1: Clear Old Select
     DrawAVMainPageSelect(0);

     // Step 2: Change Select Item
     if(LR)
     {
         switch(ucOsdState)
         {
            case _MENU_COLOR:             ucOsdState = _MENU_IMAGE_SETTING;       break;
            case _MENU_IMAGE_SETTING:     ucOsdState = _MENU_OSD_MENU;            break;
            case _MENU_OSD_MENU:          ucOsdState = _MENU_LANGUAGE;            break;
            case _MENU_LANGUAGE:          ucOsdState = _MENU_MISC;                break;
            case _MENU_MISC:              ucOsdState = _MENU_EXIT;                break;
            case _MENU_EXIT:              ucOsdState = _MENU_COLOR;               break;
         }
     }
     else

⌨️ 快捷键说明

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