📄 ctrl..c
字号:
{
AdjMute(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_MUTE;
}
else AdjMute(SHOWONLY, DISADJ_COLOR);
// AdjMute(SHOW + INC + 1, DISADJ_COLOR);
break;
case 1:
Flg_ParAdj = ~Flg_ParAdj;
MenuShowSelectStr();
if (Flg_ParAdj) {
AdjVolume(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_VOLUME;
}
else AdjVolume(SHOWONLY, DISADJ_COLOR);
break;
}
// MenuBottomInfo();
CtrlActiveOsdReset();
#else
switch (SubMenuCursor) {
case 1:
AdjMute(SHOW + INC + 1, DISADJ_COLOR);
break;
case 2:
Flg_ParAdj = ~Flg_ParAdj;
if (Flg_ParAdj) {
AdjVolume(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_VOLUME;
}
else AdjVolume(SHOWONLY, DISADJ_COLOR);
break;
}
MenuBottomInfo();
CtrlActiveOsdReset();
#endif
}
#endif
static void CtrlSelMainItem_Tools(void)
{
#if EN_ACEROSD
switch (SubMenuCursor)
{
case 0: // 选择语言
if (IsWidthPanel())
{
Flg_ParAdj = ~Flg_ParAdj;
MenuShowSelectStr();
if(Flg_ParAdj) Adj4B3Disp(SHOW + 1, ENADJ_COLOR); //test
else Adj4B3Disp(SHOW + 1, DISADJ_COLOR);
ParAdjState = ADJPAR_WIDEMODE; //待修改
}
break;
case 1: // DDC/CI 该功能待增加 08-04-22
Flg_ParAdj = ~Flg_ParAdj;
MenuShowSelectStr();
if (Flg_ParAdj) {
AdjDDC_CI(SHOW + 1, ENADJ_COLOR);
ParAdjState = ADJPAR_DDC_CI; //待修改
}
else AdjDDC_CI(SHOW + 1, DISADJ_COLOR);
break;
case 2: // ACM 该功能待增加 08-04-22
#if EN_720MODE || EN_ACM
Flg_ParAdj = ~Flg_ParAdj;
MenuShowSelectStr();
#endif
if (Flg_ParAdj) {
AdjACM(SHOW + 1, ENADJ_COLOR);
ParAdjState = ADJPAR_ACM; //待修改
}
else AdjACM(SHOW + 1, DISADJ_COLOR);
break;
case 3: // Source 该功能待增加 08-04-22
// Flg_ParAdj = ~Flg_ParAdj;
// MenuShowSelectStr();
if (Flg_ParAdj) {
AdjSource(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_SOURCE; //待修改
}
else AdjSource(SHOWONLY, DISADJ_COLOR);
break;
case 4: // Language
Flg_ParAdj = ~Flg_ParAdj;
MenuShowSelectStr();
FontIndex = FontIndexBackup[8];
if (Flg_ParAdj) {
AdjLanguage(SHOW+1, ENADJ_COLOR); //此处不能用SHOWONLY,因为会写进新的字体 08-04-22
ParAdjState = ADJPAR_LANGUAGE;
}
else {
AdjLanguage(SHOW+1, DISADJ_COLOR);
SysPar.Osd_Attr = (SysPar.Osd_Attr & 0xF0)|Language;
ActiveSave_SYSPAR();
SaveSysPar();
MenuShowSubItem();
// MenuBottomInfo();
}
break;
#if 0
case 5:
Flg_ParAdj = ~Flg_ParAdj;
MenuShowSelectStr();
if (Flg_ParAdj) {
AdjPowerSave(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_POWERSAVE;
}
else AdjPowerSave(SHOWONLY, DISADJ_COLOR);
break;
#endif
case 5: // RESET
CtrlReset();
break;
#if EN_CMWIN
case 6: // Color Mangenment
Flg_ParAdj = ~Flg_ParAdj;
if (Flg_ParAdj) {
AdjCMWindow(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_CMWIN;
}
else AdjCMWindow(SHOWONLY, DISADJ_COLOR);
break;
#endif
}
if (SubMenuCursor != 3)
{
// MenuBottomInfo();
CtrlActiveOsdReset();
}
#else
switch (SubMenuCursor) {
case 1: // 选择语言
Flg_ParAdj = ~Flg_ParAdj;
if (Flg_ParAdj) {
AdjLanguage(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_LANGUAGE;
}
else {
AdjLanguage(SHOWONLY, DISADJ_COLOR);
SysPar.Osd_Attr = (SysPar.Osd_Attr & 0xF0)|Language;
ActiveSave_SYSPAR();
SaveSysPar();
MenuShowSubItem();
MenuBottomInfo();
}
break;
case 2: // OSD显示时间
Flg_ParAdj = ~Flg_ParAdj;
if (Flg_ParAdj) {
AdjOsdTime(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_OSDTIME;
}
else AdjOsdTime(SHOWONLY, DISADJ_COLOR);
break;
case 3: // 进入省电的时间
Flg_ParAdj = ~Flg_ParAdj;
if (Flg_ParAdj) {
AdjPowerSave(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_POWERSAVE;
}
else AdjPowerSave(SHOWONLY, DISADJ_COLOR);
break;
case 4: // RESET
CtrlReset();
break;
case 5: // 4:3
if (IsWidthPanel()) Adj4B3Disp(SHOW + INC + 1, DISADJ_COLOR);
break;
#if EN_CMWIN
case 6: // Color Mangenment
Flg_ParAdj = ~Flg_ParAdj;
if (Flg_ParAdj) {
AdjCMWindow(SHOWONLY, ENADJ_COLOR);
ParAdjState = ADJPAR_CMWIN;
}
else AdjCMWindow(SHOWONLY, DISADJ_COLOR);
break;
#endif
}
if (SubMenuCursor != 4) {
MenuBottomInfo();
CtrlActiveOsdReset();
}
#endif
}
/*
********************************************************************************
* 函 数 名: CtrlMenuReturn
* 功能描述: 返回上一级菜单,如果是主菜单,则消除菜单显示
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
static void CtrlMenuReturn(void)
{
OsdDisCursor(); // 除前面的特例以外,所有子项的第一项,表示返回主选择项
#if EN_ACEROSD
OsdCancelSubFrame();
#endif
MenuState = MENU_KEY;
}
/*
********************************************************************************
* 函 数 名: CtrlOsdReset
* 功能描述: 当有OSD显示时,超过规定的间隔时调用该函数消除OSD显示,并将一些参数
* 设置成默认值
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
void CtrlOsdReset(void)
{
CtrlParReset();
CtrlOsdParReset();
if (SysState == SYS_BURNIN) {
MenuBurning();
Flg_EnBurning = 1;
}
}
/*
********************************************************************************
* 函 数 名: CtrlParReset
* 功能描述: 当OSD显示复位时,对需要复位的参数进行操作
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
void CtrlParReset(void)
{
SetTimerEvent(EVENT_SYSREST, 0x00);
MenuState = MENU_OFF;
Flg_ParAdj = 0;
Language = SysPar.Osd_Attr & 0x0F;
}
/*
********************************************************************************
* 函 数 名: CtrlOsdParReset
* 功能描述: 当OSD显示复位时,对OSD相关的参数进行复位
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
void CtrlOsdParReset(void)
{
OsdClear();
AdjOsdHpos(HIDE, 0);
AdjOsdVpos(HIDE, 0);
OsdZoom(EN_OSDZOOM, EN_OSDZOOM);
OsdFontIndexReset();
MenuState = MENU_OFF;
}
/*
********************************************************************************
* 函 数 名: CtrlActiveOsdReset
* 功能描述: 激活OSD显示复位的定时触发事件
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
void CtrlActiveOsdReset(void)
{
SetTimerEvent(EVENT_SYSREST, (SysPar.Osd_Timeout<<1) + 1);
}
void CtrlActiveParSave(void)
{
SetTimerEvent(EVENT_SAVEPAR, 0x04);
}
#define MaxBurnOsdHpos (PanelWidth - OSD_BURNWIN_WIDTH * OSD_FONT_WIDTH)
#define MaxBurnOsdVpos (PanelHeight - OSD_BURNWIN_HEIGHT * OSD_FONT_HEIGHT)
#define BurnOsdHposStep 2
#define BurnOsdVposStep 1
bit Flg_OsdHdir,Flg_OsdVdir;
uint16 xdata BurnOsdHpos = 200;
uint16 xdata BurnOsdVpos = 300;
/*
********************************************************************************
* 函 数 名: CtrlMoveOsd
* 功能描述: 在老化时显示一个移动的窗口
* 输 入: 无
* 返 回: 无
* 注 意: 在退出老化时,要恢复窗口的位置
********************************************************************************
*/
void CtrlMoveOsd(void)
{
if (SysState != SYS_BURNIN) return;
if (Flg_OsdHdir) {
BurnOsdHpos += BurnOsdHposStep;
if (BurnOsdHpos >= MaxBurnOsdHpos) {
BurnOsdHpos = MaxBurnOsdHpos;
Flg_OsdHdir = 0;
}
}
else {
if (BurnOsdHpos <= BurnOsdHposStep) {
BurnOsdHpos = 0;
Flg_OsdHdir = 1;
}
else BurnOsdHpos -= BurnOsdHposStep;
}
if (Flg_OsdVdir) {
BurnOsdVpos += BurnOsdVposStep;
if (BurnOsdVpos >= MaxBurnOsdVpos) {
BurnOsdVpos = MaxBurnOsdVpos;
Flg_OsdVdir = 0;
}
}
else {
if (BurnOsdVpos <= BurnOsdVposStep) {
BurnOsdVpos = 0;
Flg_OsdVdir = 1;
}
else BurnOsdVpos -= BurnOsdVposStep;
}
OsdHpos(BurnOsdHpos);
OsdVpos(BurnOsdVpos);
}
/*
********************************************************************************
* 函 数 名: CtrlAutoImage
* 功能描述: 进行自动调整处理
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
#if EN_DDC_CI
void AutoImagerAdjust(void)
{
CtrlAutoImage();
}
#endif
static void CtrlAutoImage(void)
{
if (GetEventTime(EVENT_SYSREST)) SetTimerEvent(EVENT_SYSREST, 0);
#if EN_ACEROSD
MenuShowInfo(StrAutoAdjust, WHITE, WHITE);
#else
MenuShowInfo(StrAutoAdjust, LIGHTGRAY, BLACK);
#endif
if (AutoTuneProc() == AUTO_OK) {
ActiveSave_VGAMODE();
CtrlActiveParSave();
}
OsdDisable();
MenuState = MENU_OFF;
}
/*
********************************************************************************
* 函 数 名: CtrlAutoColor
* 功能描述: 进行自动调整处理
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
#if EN_DDC_CI
void AutoColorAdjust(void)
{
CtrlAutoColor();
}
#endif
static void CtrlAutoColor(void)
{
if (GetEventTime(EVENT_SYSREST)) SetTimerEvent(EVENT_SYSREST, 0);
#if EN_ACEROSD
MenuShowInfo(StrAutoColor, WHITE, WHITE);
#else
MenuShowInfo(StrAutoColor, LIGHTGRAY, BLACK);
#endif
if (AutoTuneAdc() == AUTO_OK) {
ActiveSave_ADCPAR();
CtrlActiveParSave();
}
OsdDisable();
MenuState = MENU_OFF;
}
/*
********************************************************************************
* 函 数 名: CtrlDispCursor
* 功能描述: 显示当前状态的光标
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
void CtrlDispCursor(void)
{
#if EN_ACEROSD
if (MenuState == MENU_KEY) OsdKeyCursor();
else
{
#if USE_DAEWOO
#else
#if !EN_COLORMANGEMENT
if(KeyMenuCursor == 0)
{
if(SubMenuCursor == 0) SubMenuCursor++;
}
#endif
#endif
#if USE_AUDIO
if(KeyMenuCursor == 3) //在第3项菜单下,防止辅助光标进入无功能项 08-04-22
#else
if(KeyMenuCursor == 2)
#endif
{
if(SubMenuCursor == 0)
{
if(!IsWidthPanel()) SubMenuCursor++;
}
#if !EN_DDC_CI
if(SubMenuCursor == 1) SubMenuCursor++;
#endif
#if EN_720MODE
#else
#if !EN_ACM
if(SubMenuCursor == 2) SubMenuCursor++;
#endif
#endif
#if !EN_SOURCE
if(SubMenuCursor == 3) SubMenuCursor++;
#endif
}
OsdCursor(SubMenuCursor * 2 + SubMenuWin.Vs + 3, PALETTE_SUBFRAME+1);
}
#else
if (MenuState == MENU_KEY) OsdKeyCursor();
else {
OsdCursor(SubMenuCursor + 5, YELLOW);
}
#endif
}
/*
********************************************************************************
* 函 数 名: CtrlCursorLeft
* 功能描述: 向左移动主菜单光标
* 输 入: 无
* 返 回: 无
********************************************************************************
*/
static void CtrlCursorLeft(void)
{
#if EN_ACEROSD
OsdKeyCancelCursor();
#if USE_AUDIO
if (KeyMenuCursor == 0) KeyMenuCursor = 4;
#else
if (KeyMenuCursor == 0) KeyMenuCursor = 3;
#endif
#else
#if USE_AUDIO
if (KeyMenuCursor == 0) KeyMenuCursor = 5;
#else
if (KeyMenuCursor == 0) KeyMenuCursor = 4;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -