mmiDsmMain.c 2.87 KB



#if defined(__SKY_3DGUI__)
#include "ATS_basic.h"
#include "ATS_memory.h"
#include "ATS_dsm.h"
#include "ATS_G_utility.h"
#include "SKY_3DGui_interface.h"
#if defined(__SKY_3DGUI_SCREEN_SWITCH__)
#include "SKY_ScreenSwitch.h"
#endif /*__SKY_3DGUI_SCREEN_SWITCH__*/
#if defined(__SKY_3DGUI_MAGIC_MAINMENU__)
#if (ATS_MTK_VERSION >= 0x10A1032 )
#include "mmi_rp_all_defs.h"
#else
#include "GlobalMenuItems.h"
#endif
#ifdef __SKY_3DGUI_MAGIC_MAINMENU_CTRLMENU__
extern void HighligSkymagicmainmenu(void);
#endif
#endif
#ifndef WIN32
extern void animation_engine_init(void);
#endif /*WIN32*/

#if defined (__SKY_3DGUI_HSLIDE_MAINMENU__)
extern void SKY_HS_init(void);
#endif  /*__SKY_3DGUI_HSLIDE_MAINMENU__*/

#ifdef __SKY_3DGUI_SCREEN_UNLOCK_NINE_POINTS__
#include "GlobalMenuItems.h" // ??, yyj
extern void unlock_ninePoints_menu_highlight(void);
#endif

#ifndef WIN32
/*由于涉及 mr_cookie, mr_config, 因此应用入口绑定的注册代码放到mmiDsmMain.c 里面*/
void sky_3Dgui_init_frim_app_param(void)
{
	#ifdef __MMI_DSM_NEW__
	ATS_DSM_APP_FIRM_PARAM param = {0};
	
	strcpy(param.param, "*J,games");
	param.firmNum = 2;
	param.firms[0].firmdata = (kal_uint8*)mr_cookie;
	param.firms[0].size = (kal_uint32)(sizeof(mr_cookie));
	param.firms[0].index = 9;
	param.firms[1].firmdata = (kal_uint8*)mr_config;
	param.firms[1].size = (kal_uint32)(sizeof(mr_config));
	param.firms[1].index = 18;

	ATS_dsm_reg_frim_app(&param, ATS_DSM_APP_MRP);

	strcpy(param.param, "*J,skyread");
	param.firmNum = 2;
	param.firms[0].firmdata = (kal_uint8*)mr_cookie;
	param.firms[0].size = (kal_uint32)(sizeof(mr_cookie));
	param.firms[0].index = 9;
	param.firms[1].firmdata = (kal_uint8*)mr_config;
	param.firms[1].size = (kal_uint32)(sizeof(mr_config));
	param.firms[1].index = 18;

	ATS_dsm_reg_frim_app(&param, ATS_DSM_APP_BOOK);
	
	#endif /*__MMI_DSM_NEW__*/
}
#else
void sky_3Dgui_init_frim_app_param(void)
{
}
#endif /*WIN32*/

void sky_3Dgui_init(void)
{
	ATS_G_CONFIG CONFIG = {0};

	#ifndef WIN32
	animation_engine_init();
	#endif /*__MTK_TARGET__*/

	CONFIG.default_color = 0;
	CONFIG.mem_alloc = ATS_mem_alloc_cacheable;
	CONFIG.mem_free = ATS_mem_free_cacheable;
	ATS_G_init( &CONFIG );

	sky_3Dgui_init_frim_app_param();

	#if defined(__SKY_3DGUI_SCREEN_SWITCH__)
	SKY_ss_init();
	#endif /*__SKY_3DGUI_SCREEN_SWITCH__*/

	ATS_entry_init();

	#ifdef __SKY_3DGUI_MAGIC_MAINMENU__
	#ifdef __SKY_3DGUI_MAGIC_MAINMENU_CTRLMENU__
	SetHiliteHandler(MENU_SETTING_SKY_MAGIC_MAINMENU,HighligSkymagicmainmenu);
	#endif
	#endif
 #ifdef __SSK_PLATFORM_SUPPORT__
	SetHiliteHandler(MENU_SETTING_MAGIC_SOUND,magic_voice_set_highlight_handler); //设置菜单响应函数
#endif

	#if defined (__SKY_3DGUI_HSLIDE_MAINMENU__)
	SKY_HS_init();
	#endif  /*__SKY_3DGUI_HSLIDE_MAINMENU__*/
	#ifdef __SKY_3DGUI_SCREEN_UNLOCK_NINE_POINTS__
	SetHiliteHandler(MENU_SETTING_SKY_UNLOCK_NINE_POINTS,unlock_ninePoints_menu_highlight); //设置菜单响应函数
	#endif
}


#endif /*__SKY_3DGUI__*/