?? osdcore.c
字號:
vShowPbcState(bSharedInfo(SI_PBC_STATE));
}
}
/* for audio status show */
if (_rOsdStateCtx.fgAudioStatusRecall == TRUE)
{
if (bSharedInfo(SH_OSD_TIMER_AUDIO_CTRL) == 0)
{
_rOsdStateCtx.fgAudioStatusRecall = FALSE;
if (_rOsdStateCtx.bAudioStatus == OSD_AUDIO_SHOW_MUTE)
{
vOsdShowMute(OSD_MUTE_ON);
}
}
}
}
// *********************************************************************
// Function : void vOsdCoreLayer2Refresh(void)
// Description :
// Parameter :
// Return : None
// *********************************************************************
void vOsdCoreLayer2Refresh(void) large
{
uOsdLayer1Status uTmp1;
uOsdLayer2Status uTmp2;
BYTE bCnt, bIdx;
BYTE bChanged;
BYTE bWbMode;
uTmp1.Byte = bSharedInfo(SH_OSD_LAYER1_STATUS);
uTmp2.Byte = bSharedInfo(SH_OSD_LAYER2_STATUS);
bWbMode = bSharedInfo(SH_OSD_WB_MODE);
/* LINE 1 */
bChanged = 0;
bCnt = bSharedInfo(SH_OSD_TIMER_LAYER2_1);
if (uTmp2.Bit.Line1)
{
if (bCnt == 0)
{
uTmp2.Bit.Line1 = FALSE;
bChanged = 1;
}
}
else
{
if (bCnt > 0)
{
uTmp2.Bit.Line1 = TRUE;
bChanged = 1;
}
}
if (bChanged)
{
if (uTmp2.Bit.Line1)
{
bCnt = bSharedInfo(SH_OSD_LAYER1_WB);
bCnt &= (~(0x01 << 0x00));
vSetSharedInfo(SH_OSD_LAYER1_WB, bCnt);
vDisableWB(pbWbLayer1[0x00]);
bCnt = bSharedInfo(SH_OSD_LAYER2_WB);
bCnt |= (0x01 << 0x00);
vSetSharedInfo(SH_OSD_LAYER2_WB, bCnt);
#ifdef SUPPORT_DRM
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) &&(!fgIsInDRMShow())
&& (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#else
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) && (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#endif
{
vEnableWB(pbWbLayer2[0x00]);
/* for input state */
if (uTmp2.Bit.Wb1Hili == TRUE)
{
vInMsgColEn(pbWbLayer2[0x00]);
}
else
{
vInMsgColDis(pbWbLayer2[0x00]);
}
}
}
else
{
bCnt = bSharedInfo(SH_OSD_LAYER2_WB);
bCnt &= (~(0x01 << 0x00));
vSetSharedInfo(SH_OSD_LAYER2_WB, bCnt);
uTmp2.Bit.Wb1Hili = FALSE;
vDisableWB(pbWbLayer2[0x00]);
bCnt = bSharedInfo(SH_OSD_LAYER1_WB);
bCnt |= (0x01 << 0x00);
vSetSharedInfo(SH_OSD_LAYER1_WB, bCnt);
#ifdef SUPPORT_DRM
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) &&(!fgIsInDRMShow())
&& (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#else
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) && (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#endif
{
vEnableWB(pbWbLayer1[0x00]);
/* for input state */
if (uTmp1.Bit.Wb1Hili == TRUE)
{
vInMsgColEn(pbWbLayer1[0x00]);
}
else
{
vInMsgColDis(pbWbLayer1[0x00]);
}
}
}
}
/* LINE 2 */
bChanged = 0;
bCnt = bSharedInfo(SH_OSD_TIMER_LAYER2_2);
if (uTmp2.Bit.Line2)
{
if (bCnt == 0)
{
uTmp2.Bit.Line2 = FALSE;
bChanged = 1;
}
}
else
{
if (bCnt > 0)
{
uTmp2.Bit.Line2 = TRUE;
bChanged = 1;
}
}
if (bChanged)
{
if (uTmp2.Bit.Line2)
{
bCnt = bSharedInfo(SH_OSD_LAYER1_WB);
bCnt &= (~(0x01 << 0x01));
vSetSharedInfo(SH_OSD_LAYER1_WB, bCnt);
vDisableWB(pbWbLayer1[0x01]);
bCnt = bSharedInfo(SH_OSD_LAYER2_WB);
bCnt |= (0x01 << 0x01);
vSetSharedInfo(SH_OSD_LAYER2_WB, bCnt);
#ifdef SUPPORT_DRM
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) &&(!fgIsInDRMShow())
&& (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#else
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) && (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#endif
{
vEnableWB(pbWbLayer2[0x01]);
/* for input state */
if (uTmp2.Bit.Wb2Hili == TRUE)
{
vInMsgColEn(pbWbLayer2[0x01]);
}
else
{
vInMsgColDis(pbWbLayer2[0x01]);
}
}
}
else
{
bCnt = bSharedInfo(SH_OSD_LAYER2_WB);
bCnt &= (~(0x01 << 0x01));
vSetSharedInfo(SH_OSD_LAYER2_WB, bCnt);
uTmp2.Bit.Wb2Hili = FALSE;
vDisableWB(pbWbLayer2[0x01]);
bCnt = bSharedInfo(SH_OSD_LAYER1_WB);
bCnt |= (0x01 << 0x01);
vSetSharedInfo(SH_OSD_LAYER1_WB, bCnt);
#ifdef SUPPORT_DRM
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) &&(!fgIsInDRMShow())
&& (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#else
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) && (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#endif
{
vEnableWB(pbWbLayer1[0x01]);
/* for input state */
if (uTmp1.Bit.Wb2Hili == TRUE)
{
vInMsgColEn(pbWbLayer1[0x01]);
}
else
{
vInMsgColDis(pbWbLayer1[0x01]);
}
}
}
}
/* LINE 3 */
bChanged = 0;
bCnt = bSharedInfo(SH_OSD_TIMER_LAYER2_3);
if (uTmp2.Bit.Line3)
{
if (bCnt == 0)
{
uTmp2.Bit.Line3 = FALSE;
bChanged = 1;
}
}
else
{
if (bCnt > 0)
{
uTmp2.Bit.Line3 = TRUE;
bChanged = 1;
}
}
if (bChanged)
{
if (uTmp2.Bit.Line3)
{
bCnt = bSharedInfo(SH_OSD_LAYER1_WB);
bCnt &= (~(0x01 << 0x02));
vSetSharedInfo(SH_OSD_LAYER1_WB, bCnt);
vDisableWB(pbWbLayer1[0x02]);
bCnt = bSharedInfo(SH_OSD_LAYER2_WB);
bCnt |= (0x01 << 0x02);
vSetSharedInfo(SH_OSD_LAYER2_WB, bCnt);
#ifdef SUPPORT_DRM
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) &&(!fgIsInDRMShow())
&& (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#else
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) && (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#endif
{
vEnableWB(pbWbLayer2[0x02]);
/* for input state */
if (uTmp2.Bit.Wb3Hili == TRUE)
{
vInMsgColEn(pbWbLayer2[0x02]);
}
else
{
vInMsgColDis(pbWbLayer2[0x02]);
}
}
}
else
{
bCnt = bSharedInfo(SH_OSD_LAYER2_WB);
bCnt &= (~(0x01 << 0x02));
vSetSharedInfo(SH_OSD_LAYER2_WB, bCnt);
uTmp2.Bit.Wb3Hili = FALSE;
vDisableWB(pbWbLayer2[0x02]);
bCnt = bSharedInfo(SH_OSD_LAYER1_WB);
bCnt |= (0x01 << 0x02);
vSetSharedInfo(SH_OSD_LAYER1_WB, bCnt);
#ifdef SUPPORT_DRM
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) &&(!fgIsInDRMShow())
&& (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#else
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) && (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#endif
{
vEnableWB(pbWbLayer1[0x02]);
/* for input state */
if (uTmp1.Bit.Wb3Hili == TRUE)
{
vInMsgColEn(pbWbLayer1[0x02]);
}
else
{
vInMsgColDis(pbWbLayer1[0x02]);
}
}
}
}
/* LINE 4 */
bChanged = 0;
bCnt = bSharedInfo(SH_OSD_TIMER_LAYER2_4);
if (uTmp2.Bit.Line4)
{
if (bCnt == 0)
{
uTmp2.Bit.Line4 = FALSE;
bChanged = 1;
}
}
else
{
if (bCnt > 0)
{
uTmp2.Bit.Line4 = TRUE;
bChanged = 1;
}
}
if (bChanged)
{
if (uTmp2.Bit.Line4)
{
bCnt = bSharedInfo(SH_OSD_LAYER1_WB);
bCnt &= (~(0x01 << 0x03));
vSetSharedInfo(SH_OSD_LAYER1_WB, bCnt);
vDisableWB(pbWbLayer1[0x03]);
bCnt = bSharedInfo(SH_OSD_LAYER2_WB);
bCnt |= (0x01 << 0x03);
vSetSharedInfo(SH_OSD_LAYER2_WB, bCnt);
#ifdef SUPPORT_DRM
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) &&(!fgIsInDRMShow())
&& (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#else
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) && (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#endif
{
vEnableWB(pbWbLayer2[0x03]);
/* for input state */
if (uTmp2.Bit.Wb4Hili == TRUE)
{
vInMsgColEn(pbWbLayer2[0x03]);
}
else
{
vInMsgColDis(pbWbLayer2[0x03]);
}
}
}
else
{
bCnt = bSharedInfo(SH_OSD_LAYER2_WB);
bCnt &= (~(0x01 << 0x03));
vSetSharedInfo(SH_OSD_LAYER2_WB, bCnt);
uTmp2.Bit.Wb4Hili = FALSE;
vDisableWB(pbWbLayer2[0x03]);
bCnt = bSharedInfo(SH_OSD_LAYER1_WB);
bCnt |= (0x01 << 0x03);
vSetSharedInfo(SH_OSD_LAYER1_WB, bCnt);
#ifdef SUPPORT_DRM
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) &&(!fgIsInDRMShow())
&& (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#else
if ((!fgIsInSetupMenu()) && (!fgIsScrSaverOn()) && (bWbMode != OSD_WB_FULL_SCR)
#ifdef SUPPORT_MODE_SWITCH_MENU //yan 070409
&& (!fgIsInSmsMenuShow())
#endif
)
#endif
{
vEnableWB(pbWbLayer1[0x03]);
/* for input state */
if (uTmp1.Bit.Wb4Hili == TRUE)
{
vInMsgColEn(pbWbLayer1[0x03]);
}
else
{
vInMsgColDis(pbWbLayer1[0x03]);
}
}
}
}
vSetSharedInfo(SH_OSD_LAYER1_STATUS, uTmp1.Byte);
vSetSharedInfo(SH_OSD_LAYER2_STATUS, uTmp2.Byte);
}
// *********************************************************************
// Function : void vOsdCoreRefresh(void)
// Description : called every seconds
// Parameter :
// Return : None
// *********************************************************************
void vOsdCoreRefresh(BOOL fgIsTimer) large
{
BYTE bIdx;
BYTE bTmp;
/* if is timer beep, count down OSD timer */
if (fgIsTimer == TRUE)
{
for (bIdx = 0; bIdx < OSD_TIMER_MAX; bIdx++)
{
bTmp = bSharedInfo(SH_OSD_TIMER_START + bIdx);
if ((bTmp != OSD_NO_DISAPPEAR) && (bTmp != 0))
{
bTmp--;
vSetSharedInfo(SH_OSD_TIMER_START + bIdx, bTmp);
}
}
} /* fgIsTimer == TRUE */
/* for error message in the layer 2 */
if (OSD_POS_ERROR >= OSD_POS_LAYER2_LINE1)
{
bTmp = bSharedInfo(SH_OSD_TIMER_START + (OSD_POS_ERROR - OSD_POS_LAYER2_LINE1));
bIdx = bSharedInfo(SH_OSD_TIMER_ERR_MSG);
if (bTmp > bIdx)
{
vSetSharedInfo(SH_OSD_TIMER_ERR_MSG, 0);
}
}
vOsdCoreLayer2Refresh();
vOsdCoreLayer1Refresh();
}
// *********************************************************************
// Function : BOOL fgOsdCoreChgColEn(WORD wPosIndex, BYTE bWB)
// Description :
// Parameter :
// Return : None
// *********************************************************************
BOOL fgOsdCoreChgColEn(WORD wPosIndex, BYTE bWB) large
{
BOOL fgChange;
uOsdLayer1Status uTmp1;
uOsdLayer2Status uTmp2;
fgChange = FALSE;
uTmp1.Byte = bSharedInfo(SH_OSD_LAYER1_STATUS);
uTmp2.Byte = bSharedInfo(SH_OSD_LAYER2_STATUS);
if (fgIsLayer2(wPosIndex))
{
if (!fgIsInSetupMenu())
{
fgChange = TRUE;
}
if (bWB == pbWbLayer2[0])
{
uTmp2.Bit.Wb1Hili = TRUE;
}
else if (bWB == pbWbLayer2[1])
{
uTmp2.Bit.Wb2Hili = TRUE;
}
else if (bWB == pbWbLayer2[2])
{
uTmp2.Bit.Wb3Hili = TRUE;
}
else if (bWB == pbWbLayer2[3])
{
uTmp2.Bit.Wb4Hili = TRUE;
}
vSetSharedInfo(SH_OSD_LAYER2_STATUS, uTmp2.Byte);
}
else if (fgIsLayer1(wPosIndex))
{
/* the hili enable is done in layer refresh */
if (bWB == pbWbLayer1[0])
{
uTmp1.Bit.Wb1Hili = TRUE;
if (!(uTmp2.Bit.Line1 || fgIsInSetupMenu()))
{
fgChange = TRUE;
}
}
else if (bWB == pbWbLayer1[1])
{
uTmp1.Bit.Wb2Hili = TRUE;
if (!(uTmp2.Bit.Line2 || fgIsInSetupMenu()))
{
fgChange = TRUE;
}
}
else if (bWB == pbWbLayer1[2])
{
uTmp1.Bit.Wb3Hili = TRUE;
if (!(uTmp2.Bit.Line3 || fgIsInSetupMenu()))
{
fgChange = TRUE;
}
}
else if (bWB == pbWbLayer1[3])
{
uTmp1.Bit.Wb4Hili = TRUE;
if (!(uTmp2.Bit.Line4 || fgIsInSetupMenu()))
{
fgChange = TRUE;
}
}
vSetSharedInfo(SH_OSD_LAYER1_STATUS, uTmp1.Byte);
}
else
{
fgChange = TRUE;
}
return (fgChange);
}
// *********************************************************************
// Function : BOOL fgOsdCoreChgColDis(WORD wPosIndex, BYTE bWB)
// Description :
// Parameter :
// Return : None
// *********************************************************************
BOOL fgOsdCoreChgColDis(WORD wPosIndex, BYTE bWB) large
{
BOOL fgChange;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -