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

📄 mapp_logo.c

📁 mstar 776 开发的车载dvd
💻 C
字号:

///////////////////////////////////////////////////////////////////////////////
/// @file MApp_Logo.h
/// @brief APP for loading and displaying logo
/// @author MStarSemi Inc.
///
/// Logo is currently stored on flash in JPEG format. Before displaying it, we need to decode JPEG source as YUV format.
///
///////////////////////////////////////////////////////////////////////////////

#define MAPP_LOGO_C

///////////////////////////////////////////////////////////////////////////////
#include <stdlib.h>
#include <stdio.h>
#include "DataType.h"
#include "board.h"

#include "Drvge2.h"
#include "MApp_Logo.h"
#include "msAPI_GOP.h"
#include "msAPI_Timer.h"
#include "MApp_UiMenuDraw2.h"
#include "MApp_UiMenuComponent2.h"
#include "MApp_GlobalVar.h"
#include "MApp_UiMenu.h"

#if (DISPLAY_LOGO)
extern OSDClrBtn MApp_UiMenu2_GetOSDClrBtn(U8 OSDGwinID);

////////////////////////////////////////////////////

void MApp_OsdLogo_Show(void)// kevin 071205
{
    U8 logoCount;
    U8 FBID1,FBID2;
    U16 delay1, delay2;
    OSDClrBtn clrBtn;

// Addy for logo
    FBID1 = msAPI_GOP_GWIN_GetFBfromGWIN(u8OSDGWinTbl[GWIN_MAIN_MENU]);
    msAPI_GOP_GWIN_DeleteFB(FBID1);

    MApp_UiMenu2_ResetOSDGWin();
    MApp_UiMenu2_CreateOSDGWin(GWIN_LOGO);
    FBID1=msAPI_GOP_GWIN_GetFBfromGWIN(u8OSDGWinTbl[GWIN_LOGO]);
    msAPI_GOP_GWIN_DeleteFB(FBID1);

    FBID1 = msAPI_GOP_GWIN_GetFreeFBID();
    // Addy 20070913
    //FBID2 = msAPI_GOP_GWIN_GetFreeFBID();

    MDrv_GE_SetDC_CSC_FMT(PE_DC_CSC_COMP, PE_YUV_RANGE_U, PE_UV_RANGE_U, PE_YUV_FMT_0,  PE_YUV_FMT_1);

    // Set FB1 Position and Format
    clrBtn=MApp_UiMenu2_GetOSDClrBtn(GWIN_LOGO);
    // Addy 20070928
    msAPI_GOP_GWIN_CreateFB(FBID1, PANEL_WIDTH, PANEL_HEIGHT, GE_FMT_YUV422);
    msAPI_GOP_GWIN_MapFB2Win(FBID1, u8OSDGWinTbl[GWIN_LOGO]);
    msAPI_GOP_GWIN_Switch2Gwin(u8OSDGWinTbl[GWIN_LOGO]);
    msAPI_GOP_GWIN_SetWinPosition(u8OSDGWinTbl[GWIN_LOGO], clrBtn.x, clrBtn.y);

    // Addy 20070913
    FBID2 = msAPI_GOP_GWIN_GetFreeFBID();

    MDrv_GE_SetDC_CSC_FMT(PE_DC_CSC_COMP, PE_YUV_RANGE_U, PE_UV_RANGE_U, PE_YUV_FMT_0,  PE_YUV_FMT_1);

    // Set FB2 Position and Format
    clrBtn=MApp_UiMenu2_GetOSDClrBtn(GWIN_LOGO);
    // Addy 20070928
    msAPI_GOP_GWIN_CreateFB(FBID2, PANEL_WIDTH, PANEL_HEIGHT, GE_FMT_YUV422/*DEFAULT_FB_FMT*/);
    msAPI_GOP_GWIN_MapFB2Win(FBID2, u8OSDGWinTbl[GWIN_LOGO]);
    msAPI_GOP_GWIN_Switch2Gwin(u8OSDGWinTbl[GWIN_LOGO]);
    msAPI_GOP_GWIN_SetWinPosition(u8OSDGWinTbl[GWIN_LOGO], clrBtn.x, clrBtn.y);

    MApp_UiMenu2_ShowOSDGWin(GWIN_LOGO);
    g_u16GroupXPos = 0;
    g_u16GroupYPos = 0;

    for(logoCount = 4; logoCount < 5; logoCount++)
    {
        if(logoCount == 0)
        {
            delay1 = 300;
            delay2 = 250;
        }
        else if(logoCount == 1)
        {
            delay1 = 200;
            delay2 = 150;
        }
        else if(logoCount == 2)
        {
            delay1 = 100;
            delay2 = 50;
        }
        else if(logoCount == 3)
        {
            delay1 = 50;
            delay2 = 50;
        }
        else if(logoCount == 4)
        {
            delay1 = 50;
            delay2 = 50;
        }

        msAPI_GOP_GWIN_Switch2FB(FBID1);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOA, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID1, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay1);

        msAPI_GOP_GWIN_Switch2FB(FBID2);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOB, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID2, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay1);

        msAPI_GOP_GWIN_Switch2FB(FBID1);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOC, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID1, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay1);

        msAPI_GOP_GWIN_Switch2FB(FBID2);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOD, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID2, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay1);

        msAPI_GOP_GWIN_Switch2FB(FBID1);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOE, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID1, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay1);

        msAPI_GOP_GWIN_Switch2FB(FBID2);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOA, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID2, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay2);

        msAPI_GOP_GWIN_Switch2FB(FBID1);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOB, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID1, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay2);

        msAPI_GOP_GWIN_Switch2FB(FBID2);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOC, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID2, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay2);

        msAPI_GOP_GWIN_Switch2FB(FBID1);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOD, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID1, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay2);

        msAPI_GOP_GWIN_Switch2FB(FBID2);
        MApp_UiMenu_DrawBitmap_2(EN_BMP_LOGOE, EN_CPSTATE_STATICS);
        msAPI_GOP_GWIN_MapFBToWIN(FBID2, u8OSDGWinTbl[GWIN_LOGO]);
        msAPI_Timer_Delayms(delay2);
    }

    MApp_UiMenu2_HideOSDGwin(GWIN_LOGO);
    msAPI_GOP_GWIN_MapFBToWIN(FBID1, u8OSDGWinTbl[GWIN_LOGO]);
    msAPI_GOP_GWIN_DeleteFB(FBID1);
    msAPI_GOP_GWIN_DeleteFB(FBID2);
    // Addy 20071031
    MApp_UiMenu2_DestroyAllGWin();
    msAPI_GOP_GWIN_SwitchGOP(1);
    MApp_UiMenu2_DestroyAllGWin();
    msAPI_GOP_GWIN_SwitchGOP(0);

    MApp_UiMenu2_InitGWin();
// Addy for logo
// -------------------------------------------------
}
#endif
#undef MAPP_LOGO_C

⌨️ 快捷键说明

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