📄 mapp_logo.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 + -