?? osd1menu.c
字號:
#include "OSD1MENU.h"
#include "ICControl.h"
#include "OSD1_Define.h"
#include "OSD1CSL.h"
#ifdef OSD1Page
void kyMENUEvent(void)
{
if((++m_cOSDMenu)>2)
m_cOSDMenu=0;
m_cItem=0;
if(m_cOSDMenu>=2)
{
OSD1Disable();
}
else
{
OSD1ClearMenu(BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT);
OSD1ShowPage();
}
// Timer0Start();
}
void OSD1ShowPage(void)
{
uCHAR y;
uCHAR item_num=ALL_MENU[m_cOSDMenu]->Item_Num;
for(y=0;y<item_num;y++)
{
OSD1CleanLine(0,y+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT,OSD_LENGTH);
OSD1ShowLine(ALL_MENU[m_cOSDMenu]->str[y],TXT_STAT,y+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
if(ALL_MENU[m_cOSDMenu]->Par[y].cDataAttr&OSD1_VALUE)
OSD1DrawNum(ALL_MENU[m_cOSDMenu]->EEProm[y],ALL_MENU[m_cOSDMenu]->Par[y].ucValMAX,NUM_STAT,y+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,DRAW_ZERO);
if((ALL_MENU[m_cOSDMenu]->Par[y].cDataAttr&OSD1_ITEM)&&(((uCHAR *)ALL_MENU[m_cOSDMenu]->Par[y].Item)!=NULL))
OSD1ShowLine(ALL_MENU[m_cOSDMenu]->Par[y].Item[(ALL_MENU[m_cOSDMenu]->EEProm[y])],ITEM_STAT,y+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
}
OSD1MoveCursor();
OSD1Enable();
}
void OSD1MoveCursor(void)
{
uCHAR Max=ALL_MENU[m_cOSDMenu]->Par[m_cItem].ucValMAX;
uCHAR Val=ALL_MENU[m_cOSDMenu]->EEProm[m_cItem];
OSD1ShowLine(ALL_MENU[m_cOSDMenu]->str[m_cItem],TXT_STAT,m_cItem+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_RED,OSD_LENGTH,0);
OSD1CleanLine(0,ALL_MENU[m_cOSDMenu]->Item_Num+OSD1PageOriginY+1,BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT,OSD_LENGTH);
OSD1CleanLine(0,ALL_MENU[m_cOSDMenu]->Item_Num+OSD1PageOriginY+2,BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT,OSD_LENGTH);
if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_GUAGE)
OSD1DrawGauge(Val,Max,OSD1PageOriginX,ALL_MENU[m_cOSDMenu]->Item_Num+OSD1PageOriginY+2, BGND_COLOR_GREEN|FGND_COLOR_RED);
if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_VALUE)
OSD1DrawNum(Val,Max,NUM_STAT,ALL_MENU[m_cOSDMenu]->Item_Num+OSD1PageOriginY+2,BGND_COLOR_TRANSPERANT|FGND_COLOR_RED,DRAW_ZERO);
if((ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_ITEM)&&(((uCHAR *)ALL_MENU[m_cOSDMenu]->Par[m_cItem].Item)!=NULL))
OSD1ShowLine(ALL_MENU[m_cOSDMenu]->Par[m_cItem].Item[(ALL_MENU[m_cOSDMenu]->EEProm[m_cItem])],ITEM_STAT,ALL_MENU[m_cOSDMenu]->Item_Num+OSD1PageOriginY+2,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
return;
}
void IRUpDownKeyCtrl(uCHAR x)
{
if(m_bOSDEnable)
{
if(m_cOSDMenu !=2)
{
OSD1ShowLine(ALL_MENU[m_cOSDMenu]->str[m_cItem],TXT_STAT,m_cItem+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
if(x)
{
m_cItem--;
if(m_cItem == 0xff)
m_cItem=ALL_MENU[m_cOSDMenu]->Item_Num-1;
}
else
{
m_cItem++;
if(m_cItem>=ALL_MENU[m_cOSDMenu]->Item_Num)
m_cItem=0;
}
OSD1MoveCursor();
}
}
}
void OSD1ItemAdj(uCHAR cAdj)
{
uCHAR Val=ALL_MENU[m_cOSDMenu]->EEProm[m_cItem];
uCHAR Max=ALL_MENU[m_cOSDMenu]->Par[m_cItem].ucValMAX;
uCHAR Min=ALL_MENU[m_cOSDMenu]->Par[m_cItem].ucValMIN;
uCHAR dev_addr,dev_reg;
if(m_bOSDEnable&&(m_cOSDMenu !=2))
{
if(cAdj)
{
if(Val<Max)
Val++;
else if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_CYCLE)
Val=Min;
}
else
{
if(Val>Min)
Val--;
else if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_CYCLE)
Val=Max;
}
if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].Def!=NULL)
{
dev_addr=ALL_MENU[m_cOSDMenu]->Par[m_cItem].Def->ucDevVal;
dev_reg=ALL_MENU[m_cOSDMenu]->Par[m_cItem].Def->ucRegAdr;
if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].Def->ucDatalen==2)
{
IC_WritByte(dev_addr,dev_reg,Val>>8);
IC_WritByte(dev_addr,dev_reg+1,Val&0xFF);
}
else
IC_WritByte(dev_addr,dev_reg,Val);
}
if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_GUAGE)
OSD1DrawGauge(Val,Max,OSD1PageOriginX,ALL_MENU[m_cOSDMenu]->Item_Num+OSD1PageOriginY+2, BGND_COLOR_GREEN|FGND_COLOR_RED);
if(ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_VALUE)
{
OSD1CleanLine(NUM_STAT,m_cItem+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT,OSD_LENGTH);
OSD1DrawNum(Val,Max,NUM_STAT,m_cItem+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_RED,DRAW_ZERO);
OSD1CleanLine(NUM_STAT,ALL_MENU[m_cOSDMenu]->Item_Num+OSD1PageOriginY+2,BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT,OSD_LENGTH);
OSD1DrawNum(Val,Max,NUM_STAT,ALL_MENU[m_cOSDMenu]->Item_Num+OSD1PageOriginY+2,BGND_COLOR_TRANSPERANT|FGND_COLOR_RED,DRAW_ZERO);
}
if((ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_ITEM)&&(((uCHAR *)ALL_MENU[m_cOSDMenu]->Par[m_cItem].Item)!=NULL))
OSD1ShowLine(ALL_MENU[m_cOSDMenu]->Par[m_cItem].Item[(ALL_MENU[m_cOSDMenu]->EEProm[m_cItem])],ITEM_STAT,m_cItem+OSD1PageOriginY,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
ALL_MENU[m_cOSDMenu]->EEProm[m_cItem]=Val;
if((ALL_MENU[m_cOSDMenu]->Par[m_cItem].cDataAttr&OSD1_FUNC)&&((ALL_MENU[m_cOSDMenu]->Par[m_cItem].func)!=NULL))
{
ALL_MENU[m_cOSDMenu]->Par[m_cItem].func();
}
}
}
// void OSD1ShowNTSC_PAL(void)
// {
// uCHAR i;
//
// OSD1Disable();
// OSD1ClearMenu(BGND_COLOR_TRANSPERANT|FGND_COLOR_TRANSPERANT);
// if(m_cChroma==S_NTSC)
// OSD1ShowLine(iNTSC_E,30,1,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
// else if(m_cChroma==S_PAL)
// OSD1ShowLine(iPAL_E,30,1,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
// else if(m_cChroma==S_SECAM)
// OSD1ShowLine(iSECAM_E,30,1,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
// else if(m_cChroma==S_NTSC_4)
// OSD1ShowLine(iNTSC_4_E,30,1,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
// else if(m_cChroma==S_PAL_M)
// OSD1ShowLine(iPAL_M_E,30,1,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
// else if(m_cChroma==S_PAL_CN)
// OSD1ShowLine(iPAL_CN_E,30,1,BGND_COLOR_TRANSPERANT|FGND_COLOR_GREEN,OSD_LENGTH,0);
//
// OSD1Enable();
// }
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -