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

📄 osdvga902.c

📁 LCD Monitor 部分源码
💻 C
📖 第 1 页 / 共 4 页
字号:
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB);  	//Byte 0
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY);	//Byte 1
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR);       //Byte 2
    OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR);      //Byte 2

    Gotoxy(1,3,BYTE_DISPLAY);
    Textout((unsigned char code *)sOsd_Timer[GET_LANGUAGE]);

    //SLIDER(TIMEOUT_GUAGE);
    SPSLIDERTIMER(TIMEOUT_GUAGE);
    
    COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGAColor()
{
    ucOsdState = _MENU_5500K;

    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB);  	//Byte 0
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY);	//Byte 1
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR);       //Byte 2
    OSDClear(0, 1, 0 , COL_WIDTH, COLOR_HEAD, BYTE_COLOR);      //Byte 2
    OSDClear(1, 4, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR);      //Byte 2
    OSDClear(5, 1, 0 , COL_WIDTH, COLOR_BOTTOM, BYTE_COLOR);    //Byte 2

    //Gotoxy(11,0,BYTE_DISPLAY);
    //Textout((unsigned char code *)sColor[GET_LANGUAGE]);
    CenterLineTextout((unsigned char code *)sColor[GET_LANGUAGE],0,COL_WIDTH);

    Gotoxy(2,1,BYTE_DISPLAY);
    Textout((unsigned char code *)s5500k);

    Gotoxy(2,2,BYTE_DISPLAY);
    Textout((unsigned char code *)s6500k);

    Gotoxy(2,3,BYTE_DISPLAY);
    Textout((unsigned char code *)s9300k);
    
    Gotoxy(2,4,BYTE_DISPLAY);
    Textout((unsigned char code *)sUser[GET_LANGUAGE]);

    //display display size  1024 x 768 @ 60Hz
    //Gotoxy(5,5,BYTE_DISPLAY);
    //ShowMode();

    COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGALanguage()
{
    ucOsdState = _MENU_ENGLISH;

    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB);  	//Byte 0
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY);	//Byte 1
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR);       //Byte 2
    OSDClear(0, 1, 0 , COL_WIDTH, COLOR_HEAD, BYTE_COLOR);      //Byte 2
    OSDClear(1, 7, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR);      //Byte 2

    //Gotoxy(9,0,BYTE_DISPLAY);
    //Textout((unsigned char code *)sLanguage[GET_LANGUAGE]);
    CenterLineTextout((unsigned char code *)sLanguage[GET_LANGUAGE],0,COL_WIDTH);

    Gotoxy(2,1,BYTE_DISPLAY);
    Textout((unsigned char code *)sEnglish[GET_LANGUAGE]);

    Gotoxy(2,2,BYTE_DISPLAY);
    Textout((unsigned char code *)sJapanese[GET_LANGUAGE]);

    Gotoxy(2,3,BYTE_DISPLAY);
    Textout((unsigned char code *)sChinese_s[GET_LANGUAGE]);
    
    Gotoxy(2,4,BYTE_DISPLAY);
    Textout((unsigned char code *)sGerman[GET_LANGUAGE]);

    Gotoxy(2,5,BYTE_DISPLAY);
    Textout((unsigned char code *)sFrancais[GET_LANGUAGE]);

    Gotoxy(2,6,BYTE_DISPLAY);
    Textout((unsigned char code *)sEspanol[GET_LANGUAGE]);

    Gotoxy(2,7,BYTE_DISPLAY);
    Textout((unsigned char code *)sItaliano[GET_LANGUAGE]);

    COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGADis_Mode()
{
    ucOsdState = _MENU_DISPLAY_MODE;
}
//------------------------------------------------------------
void DrawVGA_User_Red()
{
    ucOsdState = _MENU_RED;

    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB);  	//Byte 0
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY);	//Byte 1
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR);       //Byte 2
    OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR);      //Byte 2

    Gotoxy(1,3,BYTE_DISPLAY);
    Textout((unsigned char code *)sRed[GET_LANGUAGE]);

    //SLIDER(USER_R_GUAGE);
    SLIDER1(USER_R_GUAGE,0x20);

    //Gotoxy(20,5,BYTE_DISPLAY);
    //Textout((unsigned char code *)sDown_Green[GET_LANGUAGE]);
    RightAlignLineTextOut((unsigned char code *)sDown_Green[GET_LANGUAGE],5,COL_WIDTH-1);
        
    COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGA_User_Green()
{
    ucOsdState = _MENU_GREEN;

    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB);  	//Byte 0
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY);	//Byte 1
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR);       //Byte 2
    OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR);      //Byte 2

    Gotoxy(1,3,BYTE_DISPLAY);
    Textout((unsigned char code *)sGreen[GET_LANGUAGE]);

    //SLIDER(USER_G_GUAGE);
    SLIDER1(USER_G_GUAGE,0x30);

    //Gotoxy(20,5,BYTE_DISPLAY);
    //Textout((unsigned char code *)sDown_Blue[GET_LANGUAGE]);
    RightAlignLineTextOut((unsigned char code *)sDown_Blue[GET_LANGUAGE],5,COL_WIDTH-1);
        
    COsdFxEnableOsd();
}
//------------------------------------------------------------
void DrawVGA_User_Blue()
{
    ucOsdState = _MENU_BLUE;

    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x8c, BYTE_ATTRIB);  	//Byte 0
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0x00, BYTE_DISPLAY);	//Byte 1
    OSDClear(0, ROW_COUNT, 0 , COL_WIDTH, 0, BYTE_COLOR);       //Byte 2
    OSDClear(3, 3, 0 , COL_WIDTH, COLOR_BODY, BYTE_COLOR);      //Byte 2

    Gotoxy(1,3,BYTE_DISPLAY);
    Textout((unsigned char code *)sBlue[GET_LANGUAGE]);

    //SLIDER(USER_G_GUAGE);
    SLIDER1(USER_B_GUAGE,0x40);

    //Gotoxy(20,5,BYTE_DISPLAY);
    //Textout((unsigned char code *)sDown_Red[GET_LANGUAGE]);
    RightAlignLineTextOut((unsigned char code *)sDown_Red[GET_LANGUAGE],5,COL_WIDTH-1);
        
    COsdFxEnableOsd();
}
//------------------------------------------------------------
void MNonePorc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:                          break;
         case VK_ENTER:
         case VK_MENU_IN:       MNoneMenuIn();      break;

         case VK_LEFT:          MNoneLR(LEFT);      break;
         case VK_RIGHT:         MNoneLR(RIGHT);     break;
         case VK_PREV_MENU:     MNoneLR(PREV);      break;
         case VK_NEXT_MENU:     MNoneLR(NEXT);      break;         

         case VK_ADJ_DEC:                       
         case VK_ADJ_INC:
         case VK_DO:            
              //DoAuto();       
              //ucKeyMessage =VK_NONE;
              break;        
     }
}
//------------------------------------------------------------
void MNoneMenuIn()
{
     ucOsdState = _MENU_BRIGHTNESS_CONTRAST;
     LoadLanguageFont();
     InitOSDFrame();
     DrawMainPage();
     MENUITEM_SELECT(1);
     COsdFxEnableOsd();
}
//------------------------------------------------------------
void MNoneLR(unsigned char LR)
{
  #if(_TMDS_SUPPORT)
      LR =LR;    
      #if(_VOLUME_CTRL_TYPE != _AUDIO_NONE) 
        DrawVolume();
        ucOsdState = _MENU_VOLUME_SP;
      #endif
  #else
      LR =LR;
      #if(_VOLUME_CTRL_TYPE != _AUDIO_NONE)
        DrawVolume();
        ucOsdState = _MENU_VOLUME_SP;
      #else
        DrawBright();
        ucOsdState = _MENU_BRIGHT_SP;
      #endif
  #endif
}
//------------------------------------------------------------
void MMainMenuProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MMainMenuOut();         break;
         case VK_ENTER:
         case VK_MENU_IN:       MMainMenuIn();          break;

         case VK_LEFT:          MMainMenuLR(NEXT);      break;
         case VK_RIGHT:         MMainMenuLR(PREV);      break;
         case VK_PREV_MENU:     MMainMenuLR(PREV);      break;
         case VK_NEXT_MENU:     MMainMenuLR(NEXT);      break;

         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;         
     }
}
//------------------------------------------------------------
void MMainMenuOut()
{
     ucOsdState = _MENU_NONE;
     COsdFxDisableOsd();

     ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
     CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MMainMenuIn()
{
    switch(ucOsdState)
    {        
        case _MENU_BRIGHTNESS_CONTRAST:     DrawVGABrightness();        break;
        case _MENU_ADJUST:                  DrawVGAAdjust();            break;
        case _MENU_PHASE_CLOCK:             DrawVGAPhase();             break;
        case _MENU_HV_POSITION:             DrawVGAH_Position();        break;
        case _MENU_MISC:                    
             DrawVGAMisc();
             MENUITEM_SELECT(1);              
             break;
        case _MENU_RESET:	                
             DrawVGAResetAll();          
             DoResetAll();
             break; 
             break;
    }
}
//------------------------------------------------------------
void MMainMenuLR(unsigned char LR)
{
     // 1 CLEAR SELECT
     MENUITEM_CLR(ucOsdState);

     // 2 CHANGE ITEM
     ucOsdState = ValueInRangeChange(_MENU_BRIGHTNESS_CONTRAST,_MENU_RESET,ucOsdState,LR,1);

     // 3 DRAW SELECT
     MENUITEM_SELECT(ucOsdState);
}
//------------------------------------------------------------

void MBrightnessProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MBrightnessMenuOut();       break;
         case VK_ENTER:
         case VK_MENU_IN:       MBrightnessMenuIn();        break;

         case VK_LEFT:          MBrightnessLR(LEFT);        break;
         case VK_RIGHT:         MBrightnessLR(RIGHT);       break;
         case VK_PREV_MENU:     MBrightnessLR(PREV);        break;
         case VK_NEXT_MENU:     MBrightnessLR(NEXT);        break;

         case VK_ADJ_DEC:                                   break;
         case VK_ADJ_INC:                                   break;
         case VK_DO:                                        break;         
     }
}
//------------------------------------------------------------
void MBrightnessMenuOut()
{       
    DrawVGAMainPage();
    ucOsdState = _MENU_BRIGHTNESS_CONTRAST;
    MENUITEM_SELECT(1);
    ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
    CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MBrightnessMenuIn()
{
    DrawVGAContrast();
    ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
    CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MBrightnessLR(unsigned char LR)
{
     unsigned int iBright = BRIGHTNESS_GUAGE;
     SET_KEYREPEATENABLE();
     iBright = ValueInRangeChange(0,100,iBright,LR,0);
     iBright = iBright * (MAX_BRIGHT - MIN_BRIGHT);
     if((iBright % 100) == 0)    iBright /= 100;
     else                        iBright = iBright/100 + 1;
     iBright += MIN_BRIGHT;

     stConBriData.Brightness = iBright;
     SLIDER(BRIGHTNESS_GUAGE);
     CAdjustBrightness();
}
//------------------------------------------------------------

void MContrastProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MContrastMenuOut();     break;
         case VK_ENTER:
         case VK_MENU_IN:       MContrastMenuIn();      break;

         case VK_LEFT:          MContrastLR(LEFT);      break;
         case VK_RIGHT:         MContrastLR(RIGHT);     break;
         case VK_PREV_MENU:     MContrastLR(PREV);      break;         
         case VK_NEXT_MENU:     MContrastLR(NEXT);      break;

         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;         
     }
}
//------------------------------------------------------------
void MContrastMenuOut()
{      
    DrawVGAMainPage();
    ucOsdState = _MENU_BRIGHTNESS_CONTRAST;
    MENUITEM_SELECT(1);    
    ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
    CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MContrastMenuIn()
{
    DrawVGABrightness();
    ucOsdEventMsg = _SAVE_EE_COLORPROC0_MSG;
    CLR_KEYREPEATENABLE();
}
//------------------------------------------------------------
void MContrastLR(unsigned char LR)
{
     unsigned int ucContrast = CONTRAST_GUAGE;
     SET_KEYREPEATENABLE();
     ucContrast = ValueInRangeChange(0,100,ucContrast,LR,0);
     ucContrast = ucContrast * (MAX_CONTRAST - MIN_CONTRAST);

     if(ucContrast % 100 == 0)    ucContrast = ucContrast / 100;
     else                         ucContrast = ucContrast / 100 + 1;
     ucContrast += MIN_CONTRAST ;
     stConBriData.Contrast = ucContrast;
     SLIDER(CONTRAST_GUAGE);
     CAdjustContrast();
}
//------------------------------------------------------------
void MAdjustProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MAdjustMenuOut();       break;
         case VK_ENTER:
         case VK_MENU_IN:       MAdjustMenuIn();        break;

         case VK_LEFT:          MAdjustLR(NEXT);        break;
         case VK_RIGHT:         MAdjustLR(PREV);       break;
         case VK_PREV_MENU:     MAdjustLR(PREV);        break;
         case VK_NEXT_MENU:     MAdjustLR(NEXT);        break;

⌨️ 快捷键说明

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