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

📄 mutevolume.c

📁 M3355的源代码
💻 C
字号:
/*****************************************************************************
*  Copyright (C) 2001 Acer Labs, Inc.  All Rights Reserved.
*  File:  ui_TimeSearch.c
*  Contents:  TimeSearch process
*  History:
*     Date        By         Reason        Ver.
*   ======== 	====		=========    ========== 
*   2004.6.4 Gushun Chen    Create it       1.0
*****************************************************************************/

#ifdef _MUTE_ENABLE_
#include <comsub.h>
#include <flash.h>
#include <iic.h>
#include <platform.h>
#include <ui.h>
#include <ui_sub.h>
#include <vobu.h>

#include "uiosd.h"
#include "normal.h"
#include "NMOSD.h"
#include "../FileopenMenu/MediaPlayerOutlook.h"


static BOOL bMuteVolumeStatus = MUTEVOLUME_STATUS_VOLUME;
void SetMuteVolumeStatus(BOOL bStatus)
{	
	bMuteVolumeStatus = bStatus;
	if(bMuteVolumeStatus==MUTEVOLUME_STATUS_MUTE)
	{
		DecSetAPrc(C_VOLUME, MASTER_VOL, 0);
	}
	else
	{
		DecSetAPrc(C_VOLUME, MASTER_VOL, OSD_Setup_Parameter.bMasterVolume);
	}
}

BOOL GetMuteVolumeStatus()
{	
	return bMuteVolumeStatus ;
}

/********************************************************************/
/*    MuteVolume  Sub-function 
/********************************************************************/
void UiSubFuncMuteVolumeInit(void)
{
	if (g_UiCrntFunc!=UI_FUNC_FILEOPEN)
	{
		ClearRectArea(gui_hdc, GUITYPE_MODEGUI);
	   	SetTimer( OSD6_TM_ID, ModeOSDOff, INFINITETIME);
		if(GetMuteVolumeStatus() == MUTEVOLUME_STATUS_VOLUME)
		{
		   	ClearRectArea(gui_hdc, GUITYPE_PLAYMODEGUI);
		   	SetTimer(OSD1_TM_ID,PlayModeGUITimer,INFINITETIME);
		   	SetTimer( SHOWINVALID_TM_ID, ShowInvalidTimer, INFINITETIME);
	   	 	SetTimer( STOP_TM_ID, ShopTimer, INFINITETIME);
		}

    	NextPrevStatus=0;
	}

	if (g_UiCrntSubFunc == UI_SUBFUNC_ZOOM)
		gZoomFuncPlus = TRUE;

	g_UiCrntSubFunc = UI_SUBFUNC_MUTEVOLUME;
	if(GetMuteVolumeStatus() == MUTEVOLUME_STATUS_VOLUME)
	{
		ShowTheSameBackground();
		ShowTheLeftIcon_Volume();
	}
	ShowMuteVolume(GetMuteVolumeStatus());
}

BYTE MuteVolumeRespondTimer(DWORD MsgInput)
{
    PLAYPOINT iPlayPoint;
    WORD iCurPic, iTotalPic;
    
    switch (MsgInput)
    {
    case C_KARAOKE_TIMER:
//		Write_UserPara();
		if(gZoomFuncPlus == TRUE)
		{
		    gZoomFuncPlus = FALSE;
		    g_UiCrntSubFunc = UI_SUBFUNC_ZOOM;
		}
		else
			g_UiCrntSubFunc = UI_SUBFUNC_BASAL;

		if(GetMuteVolumeStatus() == MUTEVOLUME_STATUS_VOLUME)
		{
			ClearRectArea(gui_hdc, GUITYPE_VOLUME_BRIGHT);
    		}
		else
		{
			ClearRectArea(gui_hdc, GUITYPE_MUTE);
		}

		SetTimer(OSD3_TM_ID, KaraokeTimer,INFINITETIME);
     
		if (g_UiCrntFunc != UI_FUNC_FILEOPEN)
		{
			RecoverOsdIcon();	
#ifdef _MIX_Enable_
			if(bMixPlay || FileType == C_JPGFILE)
			{
				MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CHG_HINT, &gAuxParam);
			}
#endif
		}
        return UI_IS_FUNC_MSG;

    case C_ZOOM_TIMER:
		gZoomFuncPlus = FALSE;
        SetTimer(OSD2_TM_ID, CancelZoom, INFINITETIME);
        ClearRectArea(gui_hdc, GUITYPE_ZOOM);
#ifdef _MIX_Enable_
        if(bMixPlay)
        {
            NVGetCurInfo(&iPlayPoint);
            iCurPic=iPlayPoint.wTTN+1;
            iTotalPic=FileOpenMenuGetTTNs();
            gAuxParam.iCurPic=&iCurPic;
            gAuxParam.iTotalPic=&iTotalPic;
            MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
        }
#endif
        return UI_IS_FUNC_MSG;
    default:
        return UI_NOUSE_FUNC_MSG;
    }
}

/********************************************************************/
/*    MuteVolume  Sub-function 
/********************************************************************/
extern BOOL IsWaitPrev;

BYTE MuteVolumeRespondFPKey(DWORD MsgInput)
{
	if(DiscType==C_NO_DISC)
	{
    switch (MsgInput)
    {
			case V_KEY_OPEN:
			case V_KEY_CLOSE:
			case V_KEY_POWER:

			case V_KEY_LEFT:
			case V_KEY_RIGHT:

#ifdef  _KARAOKE_ENABLE_
			case V_KEY_VOLUM:
#endif
			case V_KEY_VOLUP:
			case V_KEY_MUTE:
			case V_KEY_VOLDOWN:
			// these keys supported. // me: share the same action as normal's
				break;
			
			case V_KEY_SETUP:
//				Write_UserPara();
				ClearRectArea(gui_hdc, GUITYPE_VOLUME_BRIGHT);
				SetTimer(OSD3_TM_ID, KaraokeTimer,INFINITETIME);

				g_UiCrntSubFunc = UI_SUBFUNC_BASAL;
				// these keys supported.  // me: should no recover no disc osd
				return UI_NOUSE_FUNC_MSG;  
			default:
				// other keys not supported.
				return UI_IS_FUNC_MSG;  
		}
	}
    switch (MsgInput)
    {
	case V_KEY_CLOSE:
	case V_KEY_POWER:
	case V_KEY_SETUP:
		MuteVolumeRespondTimer(C_KARAOKE_TIMER);
		return UI_NOUSE_FUNC_MSG;
	case V_KEY_OPEN:
//		Write_UserPara();
		if(g_UiCrntSubFunc == UI_SUBFUNC_BRIGHTCONTRASTSHARP)
		{
			ClearRectArea(gui_hdc, GUITYPE_VOLUME_BRIGHT);
			SetTimer(OSD3_TM_ID, KaraokeTimer,INFINITETIME);
		}
		if(gZoomFuncPlus == TRUE)
		{
			g_UiCrntSubFunc = UI_SUBFUNC_ZOOM;
			gZoomFuncPlus = FALSE;
		}
		else
			g_UiCrntSubFunc = UI_SUBFUNC_BASAL;
		return UI_NOUSE_FUNC_MSG;
    case V_KEY_LEFT:
		if(GetMuteVolumeStatus()== MUTEVOLUME_STATUS_MUTE)
		{
			return UI_NOUSE_FUNC_MSG;
		}
        ModifyMuteVolume(V_KEY_LEFT);
        break;
    case V_KEY_RIGHT:
		if(GetMuteVolumeStatus() == MUTEVOLUME_STATUS_MUTE)
		{
			return UI_NOUSE_FUNC_MSG;
		}
		ModifyMuteVolume(V_KEY_RIGHT);
        break;
    case V_KEY_VOLUP:
		if(GetMuteVolumeStatus() == MUTEVOLUME_STATUS_MUTE)
		{
			ClearRectArea(gui_hdc, GUITYPE_VOLUME_BRIGHT);
			SetTimer(OSD3_TM_ID, KaraokeTimer,INFINITETIME);
			ShowTheSameBackground();
			ShowMuteVolume(MUTEVOLUME_STATUS_VOLUME);
			SetMuteVolumeStatus(MUTEVOLUME_STATUS_VOLUME);
			break;
		}
		MuteVolumeRespondTimer(C_KARAOKE_TIMER);
		break;
    case V_KEY_MUTE:
//		SetTimer(OSD1_TM_ID,PlayModeGUITimer,INFINITETIME);//add by chena. TODO: may clear run mode icon such as chapter, title, etc.
		if(IsWaitPrev){
			CloseGUIIcon();

		}
		
		if(GetMuteVolumeStatus() == MUTEVOLUME_STATUS_VOLUME)
		{
			ClearRectArea(gui_hdc, GUITYPE_VOLUME_BRIGHT);
			SetTimer(OSD3_TM_ID, KaraokeTimer,INFINITETIME);
			ShowMuteVolume(MUTEVOLUME_STATUS_MUTE);
			SetMuteVolumeStatus(MUTEVOLUME_STATUS_MUTE);
		}
		else{
			MuteVolumeRespondTimer(C_KARAOKE_TIMER);
			SetMuteVolumeStatus(MUTEVOLUME_STATUS_VOLUME);
		}
		break;

	case V_KEY_ZOOM:
		if(g_UiCoreState==UI_CORE_STOP)
			return UI_NOUSE_FUNC_MSG;
		if(gZoomFuncPlus == TRUE)
		{
			if(bZoomCount==ZOOMNORMAL && (FileType==C_JPGFILE || bMixPlay))
			{
#ifdef _MPLAY_ENABLE_	
				MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);
#endif
			}
			UiSubFuncZoomProc(C_FP_KEY,V_KEY_ZOOM);
			return UI_IS_FUNC_MSG;
		}
		else
		{
			gZoomFuncPlus = TRUE;
			return UI_NOUSE_FUNC_MSG;
		}

	case V_KEY_SurroundOnOff:
	case V_KEY_REPEATSUBTL:
	case V_KEY_REPEAT:
	case V_KEY_REPEAT_AB:
	case V_KEY_SUBP:
	case V_KEY_ANGLE:
	case V_KEY_VOICE:
	case V_KEY_NP:
		
	case V_KEY_BOOKMARK:
	case V_KEY_TMSCR:
	case V_KEY_TTSCR:
	case V_KEY_CONSOLE:
			MuteVolumeRespondTimer(C_KARAOKE_TIMER);
			return UI_NOUSE_FUNC_MSG;

#ifdef _BRIGHT_ENABLE_
	case V_KEY_VOLDOWN:
//		Write_UserPara();
		if(GetMuteVolumeStatus() == MUTEVOLUME_STATUS_VOLUME)
		{
			ClearRectArea(gui_hdc, GUITYPE_VOLUME_BRIGHT);
    		}
		else
		{
			ClearRectArea(gui_hdc, GUITYPE_MUTE);			
		}		
		SetTimer(OSD3_TM_ID, KaraokeTimer,INFINITETIME);
		return UI_NOUSE_FUNC_MSG;
#endif

	case V_KEY_VOLUM:
#ifdef _KARAOKE_ENABLE_
		if(LeftMicStatus == C_LEFT_MIC_OFF && RightMicStatus == C_RIGHT_MIC_OFF)
	    {
	        return UI_IS_FUNC_MSG;
	    }
		MuteVolumeRespondTimer(C_KARAOKE_TIMER);
		SetMuteVolumeStatus(MUTEVOLUME_STATUS_VOLUME);
		return UI_NOUSE_FUNC_MSG;
#else
		break;
#endif
	case V_KEY_DOWN:
	case V_KEY_UP:
		break;
	default:
		if(GetMuteVolumeStatus() == MUTEVOLUME_STATUS_VOLUME)
		{
			MuteVolumeRespondTimer(C_KARAOKE_TIMER);
		}
		return UI_NOUSE_FUNC_MSG;
    }	
	return UI_IS_FUNC_MSG;
}

BYTE UiSubFuncMuteVolumeProc(WORD MsgType, DWORD MsgInput)
{
	switch (MsgType)
    {
    case C_FP_KEY:
        return MuteVolumeRespondFPKey(MsgInput);
    case C_TIMER_ACTIVE:
        return MuteVolumeRespondTimer(MsgInput);
    default:
        return UI_NOUSE_FUNC_MSG;
    }
}
#endif

⌨️ 快捷键说明

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