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

📄 slideosd.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:

#include "MediaPlayerOutlook.h"
#include "MediaPlayerOutlookDef.h"
#include "newres.h"
#include "ui_sub.h"     // UI_CORE_STOP, ...
#include "fileopen.h"   // C_DIR, C_MP3FILE, ...

#ifdef _MPLAY_ENABLE_
/***************************MPA_LowLevel.c****************************
*
*  Copyright (C) 2003 by ALi Corporation.  All Rights Reserved.
*
*  File:  MPA_LowLevel.c
*
*  Contents:
*   To draw auxiliary part of Media Player's Outlook -- Implementation
*   mainly, it is for slide show
* 
*  History:
*  Date     By                      Reason      Ver.
*  ====================================
*  2003/10  Gordon J.H. CHEN        Create      v2.6
*
***********************************************************************/


/*********************************************************************
*********************************************************************/
//Media Player Auxiliary Attribute
//private:

HDC gAUXdc;             
static DEVMODE gAUXdevMode;
extern tPEOprParam PEOprParam;  // used to identify pal or ntsc


/*********************************************************************
*********************************************************************/
//Media Player Auxiliary Operation
//public: shared as interface to friends

// DC ...
void InitAUXDC();
void CloseAUXDC();
// Draw ...
void DrawProgressBar(tHighlightType iHighlight);
void DrawProgressItem(int iItemNo, tHighlightType iHighlight);
void DrawSlideShowHelp(BOOL bNeedDirectIcon, tHighlightType iHightlight);
void DrawSlideShowBar(tHighlightType iHightlight);
void DrawSlideShowNum(WORD iCurPic, WORD iTotalPic, tHighlightType iHightlight);
void DrawPlayModeOSD(WORD guiMode, tHighlightType iHighlight);


/*********************************************************************
*********************************************************************/
// And now, implementation begins ...


/********************************************************************/
// DC ...

void InitAUXDC() 
{
    if(   OSD_Setup_Parameter.bTVOutPut==C_PAL
        ||(OSD_Setup_Parameter.bTVOutPut==C_AUTO && PEOprParam.TVSys_Src == C_PAL)  )
        GUI_SetDevMode(&gAUXdevMode, CANVAS_WIDTH, CANVAS_HEIGHT+CANVAS_PAL_ADJUST);
    else  //NTSC
        GUI_SetDevMode(&gAUXdevMode, CANVAS_WIDTH, CANVAS_HEIGHT);
    GUI_InitializeDC(&gAUXdc, &gAUXdevMode, 8); // mix ration range from 0 to 16; LA spec is 65%.
}


/********************************************************************/
// DC ...

void CloseAUXDC()
{
    GUI_TerminizeDC(&gAUXdc);
}


/********************************************************************/
// Draw/Clear Progress Bar for Slide Show and Mix Play

void DrawProgressBar(tHighlightType iHighlight)
{
    RECT rectProgress={PROGRESS_LEFT, PROGRESS_TOP, PROGRESS_RIGHT, PROGRESS_BOTTOM};
    COLORREF clBk, clClear;


    switch(iHighlight)
    {
    case HIGHLIGHT_FOCUS:
//      break;
    case HIGHLIGHT_NORMAL:
        clBk=GetColorInDef256Palette(PROGRESS_CLR_INDEX);
        GUI_CreateButtonControl(gAUXdc, &rectProgress, clBk, clBk, clBk, clBk, "", NORMAL_STRING, DT_LEFT, 0);
        break;
    case HIGHLIGHT_UNFOCUS:
//      break;
    case HIGHLIGHT_GRAY:
//      break;
    default:
        clClear=GetColorInDef256Palette(255);
        GUI_CreateButtonControl2(gAUXdc, &rectProgress, clClear, clClear, clClear, clClear, "", NORMAL_STRING, DT_LEFT, 0);
        break;
    }
}


/********************************************************************/
// Draw/Clear Progress Item for Slide Show and Mix Play

void DrawProgressItem(int iItemNo, tHighlightType iHighlight)
{
    RECT rectProgressItem={PROGRESSITEM_LEFT, PROGRESSITEM_TOP, PROGRESSITEM_RIGHT, PROGRESSITEM_BOTTOM};
    COLORREF clBk, clText;
        
    clBk=GetColorInDef256Palette(PROGRESS_CLR_INDEX);
    
    rectProgressItem.left=PROGRESSITEM_LEFT+((PROGRESSITEM_RIGHT-PROGRESSITEM_LEFT)/PROGRESS_MAX_ITEM_COUNT)*iItemNo;
    rectProgressItem.right=rectProgressItem.left+PROGRESSITEM_WIDTH;
    switch(iHighlight)
    {
    case HIGHLIGHT_FOCUS:
//      break;
    case HIGHLIGHT_NORMAL:
        clText=GetColorInDef256Palette(PROGRESSITEM_CLR_INDEX);
//      GUI_CreateCycle(gAUXdc, clText, clText, (rectProgressItem.left+rectProgressItem.right)/2, (rectProgressItem.top+rectProgressItem.bottom)/2, PROGRESSITEM_RADIUS);
        GUI_CreateButtonControl(gAUXdc, &rectProgressItem, clText, clText, clText, clText, "", NORMAL_STRING, DT_LEFT, 0);
        break;
    case HIGHLIGHT_UNFOCUS:
//      break;
    case HIGHLIGHT_GRAY:
//      break;
    default:            
        GUI_CreateButtonControl(gAUXdc, &rectProgressItem, clBk, clBk, clBk, clBk, "", NORMAL_STRING, DT_LEFT, 0);
        break;
    }
}


/********************************************************************/
// Draw Slide Show Bar (Static)

void DrawSlideShowBar(tHighlightType iHighlight)
{
	static BOOL bCleared=FALSE;
    RECT rectSlideHelp={SLIDEHELP_LEFT, SLIDEHELP_TOP, SLIDEHELP_RIGHT, SLIDEHELP_BOTTOM};
    COLORREF clBk, clBkTop, clBkBot, clClear;

    if(   OSD_Setup_Parameter.bTVOutPut==C_PAL
        ||(OSD_Setup_Parameter.bTVOutPut==C_AUTO && GetDefSetupPara(GETCMD_TVOUTPUT))  )
    {
        rectSlideHelp.top+=CANVAS_PAL_ADJUST;
        rectSlideHelp.bottom+=CANVAS_PAL_ADJUST;
    }

    switch(iHighlight)
    {
    case HIGHLIGHT_FOCUS:
//      break;
    case HIGHLIGHT_NORMAL:
		bCleared=FALSE;
        clBk=GetColorInDef256Palette(SLIDEHELP_CLR_INDEX);
		clBkTop=GetColorInDef256Palette(249);
		clBkBot=GetColorInDef256Palette(231);
        // can not using memory dc, size too big    
        GUI_CreateButtonControl2(gAUXdc, &rectSlideHelp, clBk, clBkTop, clBkBot, clBk, "", NORMAL_STRING, DT_LEFT, 0);
        break;
    case HIGHLIGHT_UNFOCUS:
//      break;
    case HIGHLIGHT_GRAY:
//      break;
    default:
    	if(!bCleared)
		{
	        clClear=GetColorInDef256Palette(255);
	        GUI_CreateButtonControl2(gAUXdc, &rectSlideHelp, clClear, clClear, clClear, clClear, "", NORMAL_STRING, DT_LEFT, 0);
			bCleared=TRUE;
		}
        break;
    }
}


/********************************************************************/
// Draw Slide Show Hint (Dynamic)

char SLIDE_SHOW_HELP_HINT[3][BUF_MAX]=
{
    {
#if( _JPG_ROTATION_MODE==_JPG_ROTATION_ENABLE)
    0xe0, 0x15,                                     // C
    0x00, 0x20,                                     // blank
    0xe0, 0x37, 0x00, 0x39, 0x00, 0x30, 0xe0, 0x39, // 90
    0x00, 0x20, 0x00, 0x20,                         // blank blank
    0xe0, 0x16,                                     // D
    0x00, 0x20,                                     // blank
    0xe0, 0x38, 0x00, 0x39, 0x00, 0x30, 0xe0, 0x39, // 90
    0x00, 0x20, 0x00, 0x20,                         // blank blank  
#else
    0x00, 0x20,                                     // C
    0x00, 0x20,                                     // blank
    0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, // 90
    0x00, 0x20, 0x00, 0x20,                         // blank blank
    0x00, 0x20,                                     // D
    0x00, 0x20,                                     // blank
    0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, // 90
    0x00, 0x20, 0x00, 0x20,                         // blank blank  
#endif
    0xe0, 0x35,                                     // ^
    0x00, 0x20,                                     // blank
    0x00, 0x50, 0x00, 0x72, 0x00, 0x65, 0x00, 0x76, // prev
    0x00, 0x20, 0x00, 0x20,                         // blank blank
    0xe0, 0x36,                                     // V
    0x00, 0x20,                                     // blank
    0x00, 0x4e, 0x00, 0x65, 0x00, 0x78, 0x00, 0x74, // next 
    0x00, 0x00                                      // \0
    },
    
    {
    0x00, 0x20,                                     // C
    0x00, 0x20,                                     // blank
    0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, // 90
    0x00, 0x20, 0x00, 0x20,                         // blank blank
    0x00, 0x20,                                     // D
    0x00, 0x20,                                     // blank
    0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, // 90
    0x00, 0x20, 0x00, 0x20,                         // blank blank  
    0x00, 0x20,                                     // ^
    0x00, 0x20,                                     // blank
    0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, // prev
    0x00, 0x20, 0x00, 0x20,                         // blank blank
    0x00, 0x20,                                     // V
    0x00, 0x20,                                     // blank
    0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, // next 
    0x00, 0x00                                      // \0
    },
    
    {
    0x00, 0x20, 0x00, 0x20,                         // blank blank
    0xe0, 0x03,                                     // []
    0x00, 0x20,                                     // blank
    0x00, 0x53, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x70, // stop 

⌨️ 快捷键说明

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