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

📄 sfapi.c

📁 MTK平台的6225平台上,支持MP4 MTK平台的6225平台上,支持MP4
💻 C
📖 第 1 页 / 共 4 页
字号:
  	SFApp_KeyHandler(KEY_DOWN_ARROW,KEY_EVENT_DOWN);
}

void SfKeyDownArrow_UpHandler(void)
{
	SFApp_KeyHandler(KEY_DOWN_ARROW,KEY_EVENT_UP);
}

void SfKeyLeftArrow_DownHandler(void)
{
  	SFApp_KeyHandler(KEY_LEFT_ARROW,KEY_EVENT_DOWN);
}

void SfKeyLeftArrow_UpHandler(void)
{
	SFApp_KeyHandler(KEY_LEFT_ARROW,KEY_EVENT_UP);
}

void SfKeyRightArrow_DownHandler(void)
{
  	SFApp_KeyHandler(KEY_RIGHT_ARROW,KEY_EVENT_DOWN);
}

void SfKeyRightArrow_UpHandler(void)
{
	SFApp_KeyHandler(KEY_RIGHT_ARROW,KEY_EVENT_UP);
}



void SfKeyStar_DownHandler(void)
{
  	SFApp_KeyHandler(KEY_STAR,KEY_EVENT_DOWN);
}

void SfKeyStar_UpHandler(void)
{
	SFApp_KeyHandler(KEY_STAR,KEY_EVENT_UP);
}


void SfKeyPound_DownHandler(void)
{
  	SFApp_KeyHandler(KEY_POUND,KEY_EVENT_DOWN);
}

void SfKeyPound_UpHandler(void)
{
	SFApp_KeyHandler(KEY_POUND,KEY_EVENT_UP);
}

void SfKeyClear_DownHandler(void)
{
  	SFApp_KeyHandler(KEY_CLEAR,KEY_EVENT_DOWN);
}

void SfKeyClear_UpHandler(void)
{
	SFApp_KeyHandler(KEY_CLEAR,KEY_EVENT_UP);
}

void SfKeyEnd_DownHandler(void)
{
	SFApp_KeyHandler(KEY_END,KEY_EVENT_DOWN);
}

void SFAppRegistKeyHandler()
{
       ClearInputEventHandler(MMI_DEVICE_KEY);
	   
	SetKeyHandler(SfKey0_DownHandler,KEY_0,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey0_UpHandler,KEY_0,KEY_EVENT_UP);

	SetKeyHandler(SfKey1_DownHandler,KEY_1,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey1_UpHandler,KEY_1,KEY_EVENT_UP);

	SetKeyHandler(SfKey2_DownHandler,KEY_2,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey2_UpHandler,KEY_2,KEY_EVENT_UP);

	SetKeyHandler(SfKey3_DownHandler,KEY_3,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey3_UpHandler,KEY_3,KEY_EVENT_UP);

	SetKeyHandler(SfKey4_DownHandler,KEY_4,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey4_UpHandler,KEY_4,KEY_EVENT_UP);

	SetKeyHandler(SfKey5_DownHandler,KEY_5,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey5_UpHandler,KEY_5,KEY_EVENT_UP);


	SetKeyHandler(SfKey6_DownHandler,KEY_6,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey6_UpHandler,KEY_6,KEY_EVENT_UP);

	SetKeyHandler(SfKey7_DownHandler,KEY_7,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey7_UpHandler,KEY_7,KEY_EVENT_UP);


	SetKeyHandler(SfKey8_DownHandler,KEY_8,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey8_UpHandler,KEY_8,KEY_EVENT_UP);
	
	SetKeyHandler(SfKey9_DownHandler,KEY_9,KEY_EVENT_DOWN);
	SetKeyHandler(SfKey9_UpHandler,KEY_9,KEY_EVENT_UP);


	SetKeyHandler(SfKeyLSK_DownHandler,KEY_LSK,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyLSK_UpHandler,KEY_LSK,KEY_EVENT_UP);

	SetKeyHandler(SfKeyRSK_DownHandler,KEY_RSK,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyRSK_UpHandler,KEY_RSK,KEY_EVENT_UP);

	SetKeyHandler(SfKeyEnter_DownHandler,KEY_ENTER,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyEnter_UpHandler,KEY_ENTER,KEY_EVENT_UP);

	SetKeyHandler(SfKeyUpArrow_DownHandler,KEY_UP_ARROW,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyUpArrow_UpHandler,KEY_UP_ARROW,KEY_EVENT_UP);


	SetKeyHandler(SfKeyDownArrow_DownHandler,KEY_DOWN_ARROW,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyDownArrow_UpHandler,KEY_DOWN_ARROW,KEY_EVENT_UP);

	SetKeyHandler(SfKeyLeftArrow_DownHandler,KEY_LEFT_ARROW,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyLeftArrow_UpHandler,KEY_LEFT_ARROW,KEY_EVENT_UP);

	SetKeyHandler(SfKeyRightArrow_DownHandler,KEY_RIGHT_ARROW,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyRightArrow_UpHandler,KEY_RIGHT_ARROW,KEY_EVENT_UP);
	
	SetKeyHandler(SfKeyStar_DownHandler,KEY_STAR,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyStar_UpHandler,KEY_STAR,KEY_EVENT_UP);

	SetKeyHandler(SfKeyPound_DownHandler,KEY_POUND,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyPound_UpHandler,KEY_POUND,KEY_EVENT_UP);
	
	SetKeyHandler(SfKeyClear_DownHandler,KEY_CLEAR,KEY_EVENT_DOWN);
	SetKeyHandler(SfKeyClear_UpHandler,KEY_CLEAR,KEY_EVENT_UP);
	
	SetKeyHandler(SfKeyEnd_DownHandler,KEY_END,KEY_EVENT_DOWN);
	
}


SFBool SFKey_IsPressed(SFInt aKeyCode)
{
	if(g_kernal.iKeyState&(1<<aKeyCode))
	{
		return SFTrue;
	}
	else
	{
		return SFFalse;
	}
}

static SFInt SFApp_MapKeyCode(S32 aKey)
{
    //kal_prompt_trace(MOD_MMI,"SFApp_MapKeyCode get key ===========%d",aKey);
	switch(aKey){
		case KEY_0:
			return SFKEY_NUM0;
		case KEY_1:
			return SFKEY_NUM1;
		case KEY_2:
			return SFKEY_NUM2;
		case KEY_3:
			return SFKEY_NUM3;
		case KEY_4:
			return SFKEY_NUM4;
		case KEY_5:
			return SFKEY_NUM5;
		case KEY_6:
			return SFKEY_NUM6;
		case KEY_7:
			return SFKEY_NUM7;
		case KEY_8:
			return SFKEY_NUM8;
		case KEY_9:
			return SFKEY_NUM9;
		case KEY_LSK:
			return SFKEY_SL;
		case KEY_RSK:
			return SFKEY_SR;
		case KEY_ENTER:
			return SFKEY_SM;
		case KEY_UP_ARROW:
			return SFKEY_UP;
		case KEY_DOWN_ARROW:
			return SFKEY_DOWN;
		case KEY_LEFT_ARROW:
			return SFKEY_LEFT;
		case KEY_RIGHT_ARROW:
			return SFKEY_RIGHT;
		case KEY_STAR:
			return SFKEY_STAR;
		case KEY_POUND:
			return SFKEY_POUND;
		case KEY_CLEAR:
			return SFKEY_CLR;
		default:
			return SFKEY_NONE;
			
			
	}
}

void SFApp_Leave(void);

static void SFApp_KeyHandler(S32 aKey,S32 aKeyState)
{
	ISFApplication*pApp=SFGetApp();
	//kal_prompt_trace(MOD_MMI,"SFApp_KeyHandler get akey========%d",aKey);
	//kal_prompt_trace(MOD_MMI,"SFApp_KeyHandler get aKeyState========%d",aKeyState);
	if(aKeyState==KEY_EVENT_DOWN)
	{
		if(aKey==KEY_END)
		{
			//close the app
			g_kernal.bAppRunning=SFFalse;
			//terminate request
			SFApp_Terminate();
		}
		else
		{
		aKey=SFApp_MapKeyCode(aKey);
		if(aKey!=SFKEY_NONE)
		{
			g_kernal.iKeyState|=1<<aKey;
			//call the event handler
			pApp->pfnEvtHandler(pApp,EVT_KEYDOWN,(SFWPARAM)aKey,0);
		}
	}
	}
	else if(aKeyState==KEY_EVENT_UP)
	{
		/*if(aKey==KEY_END)
		{
			//close the app
			g_kernal.bAppRunning=SFFalse;
			//terminate request
			SFApp_Terminate();

			SFApp_Leave();
			SFDEBUG("term req");
		}
		else*/
		{
			aKey=SFApp_MapKeyCode(aKey);
			if(aKey!=SFKEY_NONE)
			{
				g_kernal.iKeyState&=~(1<<aKey);
				//call the event handler
				pApp->pfnEvtHandler(pApp,EVT_KEYUP,(SFWPARAM)aKey,0);
			}
		}
	}
}

static void SFApp_PenMoveHandler(mmi_pen_point_struct pos)
{
	ISFApplication*pApp=SFGetApp();
	pApp->pfnEvtHandler(pApp,EVT_POINTER_DRAGGED,SFMAKE_POINT(pos.x,pos.y),0);
}
static void SFApp_PenPressHandler(mmi_pen_point_struct pos)
{
	ISFApplication*pApp=SFGetApp();
	pApp->pfnEvtHandler(pApp,EVT_POINTER_PRESSED,SFMAKE_POINT(pos.x,pos.y),0);
}
static void SFApp_PenReleaseHandler(mmi_pen_point_struct pos)
{
	ISFApplication*pApp=SFGetApp();
	pApp->pfnEvtHandler(pApp,EVT_POINTER_RELEASED,SFMAKE_POINT(pos.x,pos.y),0);
}

//static void SFApp_LoadGameSetting()
//{	
//	S16 error;
//#ifdef __MMI_GAME_MULTICHANNEL_SOUND__
//
//	ReadValue(NVRAM_GFX_BACKGROUND_MUSIC_SETTING, &g_bBgMusicOn, DS_BYTE , &error);
//
//	/* if not init, init as ON */
//	if(g_bBgMusicOn == 0xff)
//	{
//		g_bBgMusicOn = TRUE;
//	}	
//#endif	
//}

static U32 g_myKeyState=0;

static void KeyHandler_ForA_Up(void)
{
	g_myKeyState&=~SFKS_NUM2;
}
static void KeyHandler_ForB_Up(void)
{
	g_myKeyState&=~SFKS_NUM1;
}
static void KeyHandler_ForSelect_Up(void)
{
	g_myKeyState&=~SFKS_NUM8;
}
static void KeyHandler_ForStart_Up(void)
{
	g_myKeyState&=~SFKS_NUM7;
}
static void KeyHandler_ForUp_Up(void)
{
	g_myKeyState&=~SFKS_UP;
}
static void KeyHandler_ForDown_Up(void)
{
	g_myKeyState&=~SFKS_DOWN;
}
static void KeyHandler_ForLeft_Up(void)
{
	g_myKeyState&=~SFKS_LEFT;
}
static void KeyHandler_ForRight_Up(void)
{
	g_myKeyState&=~SFKS_RIGHT;
}
static void KeyHandler_ForA_Down(void)
{
	g_myKeyState|=~SFKS_NUM2;
}
static void KeyHandler_ForB_Down(void)
{
	g_myKeyState|=~SFKS_NUM1;
}
static void KeyHandler_ForSelect_Down(void)
{
	g_myKeyState|=~SFKS_NUM8;
}
static void KeyHandler_ForStart_Down(void)
{
	g_myKeyState|=~SFKS_NUM7;
}
static void KeyHandler_ForUp_Down(void)
{
	g_myKeyState|=SFKS_UP;
}
static void KeyHandler_ForDown_Down(void)
{
	g_myKeyState|=SFKS_DOWN;
}
static void KeyHandler_ForLeft_Down(void)
{
	g_myKeyState|=SFKS_LEFT;
}
static void KeyHandler_ForRight_Down(void)
{
	g_myKeyState|=SFKS_RIGHT;
}
static void KeyHandler_ForSound_Up(void)
{
	g_myKeyState&=~SFKS_NUM9;
}
static void KeyHandler_ForSound_Down(void)
{
	g_myKeyState|=SFKS_NUM9;
}


void SetupKeyHandlers(void)
{
	g_myKeyState=0;
	
	SetKeyHandler(KeyHandler_ForUp_Up,KEY_UP_ARROW,KEY_EVENT_UP);
	SetKeyHandler(KeyHandler_ForDown_Up,KEY_DOWN_ARROW,KEY_EVENT_UP);
	SetKeyHandler(KeyHandler_ForLeft_Up,KEY_LEFT_ARROW,KEY_EVENT_UP);
	SetKeyHandler(KeyHandler_ForRight_Up,KEY_RIGHT_ARROW,KEY_EVENT_UP);
	
	SetKeyHandler(KeyHandler_ForUp_Down,KEY_UP_ARROW,KEY_EVENT_DOWN);
	SetKeyHandler(KeyHandler_ForDown_Down,KEY_DOWN_ARROW,KEY_EVENT_DOWN);
	SetKeyHandler(KeyHandler_ForLeft_Down,KEY_LEFT_ARROW,KEY_EVENT_DOWN);
	SetKeyHandler(KeyHandler_ForRight_Down,KEY_RIGHT_ARROW,KEY_EVENT_DOWN);
	
	SetKeyHandler(KeyHandler_ForA_Up,KEY_1,KEY_EVENT_UP);
	SetKeyHandler(KeyHandler_ForB_Up,KEY_2,KEY_EVENT_UP);
	SetKeyHandler(KeyHandler_ForSelect_Up,KEY_4,KEY_EVENT_UP);
	SetKeyHandler(KeyHandler_ForStart_Up,KEY_5,KEY_EVENT_UP);
	
	SetKeyHandler(KeyHandler_ForA_Down,KEY_1,KEY_EVENT_DOWN);
	SetKeyHandler(KeyHandler_ForB_Down,KEY_2,KEY_EVENT_DOWN);
	SetKeyHandler(KeyHandler_ForSelect_Down,KEY_4,KEY_EVENT_DOWN);
	SetKeyHandler(KeyHandler_ForStart_Down,KEY_5,KEY_EVENT_DOWN);
	
	SetKeyHandler(KeyHandler_ForSound_Up,KEY_VOL_UP,KEY_EVENT_UP);
	SetKeyHandler(KeyHandler_ForSound_Down,KEY_VOL_DOWN,KEY_EVENT_DOWN);
	
	
}


void SFApp_SetupHandlers(void)
{
	//clear key states
	g_kernal.iKeyState=0;

	ClearAllKeyHandler();
	SetKeyHandler(SfKeyEnd_DownHandler,KEY_END,KEY_EVENT_DOWN);
	SetKeyHandler(mmi_gfx_volume_up,	KEY_UP_ARROW, KEY_EVENT_DOWN);
	SetKeyHandler(mmi_gfx_volume_down,	KEY_DOWN_ARROW, KEY_EVENT_DOWN);	
	mmi_pen_register_down_handler(SFApp_PenPressHandler);
	mmi_pen_register_move_handler(SFApp_PenMoveHandler);
	mmi_pen_register_up_handler(SFApp_PenReleaseHandler);
	
	SetupKeyHandlers();
}

#if 0
void SFApp_SetupGDI(void)
{
	gdi_handle gdi_hdlr;
	lcd_power_up();
	entry_full_screen();

	gdi_layer_reset_clip();
	gdi_layer_get_base_handle(&gdi_hdlr);
	gdi_layer_set_blt_layer(gdi_hdlr,0,0,0);

	gdi_layer_set_active(gdi_hdlr);
	gdi_layer_clear(GDI_COLOR_BLACK);
		
	TurnOnBacklight(0);

	gdi_layer_blt_ext(GDI_LAYER_MAIN_BASE_LAYER_HANDLE, 0, 0, 0,
			#ifdef GDI_6_LAYERS
						0, 0,
			#endif
						0, 0, LCD_WIDTH-1, LCD_HEIGHT-1);	

    gdi_layer_lock_frame_buffer();

	mmi_frm_kbd_set_tone_state(MMI_KEY_TONE_DISABLED);
/*
	gdi_handle gdi_hdlr;
	lcd_power_up();
	entry_full_screen();

	gdi_layer_reset_clip();
	gdi_layer_get_base_handle(&gdi_hdlr);
	gdi_layer_set_blt_layer(gdi_hdlr,0,0,0);

	gdi_layer_set_active(gdi_hdlr);
	mmi_frm_kbd_set_tone_state(MMI_KEY_TONE_DISABLED);
*/
}
#endif
/*
方案二*/
void SFApp_SetupGDI(void)
{
	gdi_handle gdi_hdlr;
	lcd_power_up();
	entry_full_screen();

	gdi_layer_reset_clip();
	gdi_layer_get_base_handle(&gdi_hdlr);
	gdi_layer_set_blt_layer(gdi_hdlr,0,0,0);
	gdi_layer_clear(GDI_COLOR_BLACK);    

	gdi_layer_set_active(gdi_hdlr);
	mmi_frm_kbd_set_tone_state(MMI_KEY_TONE_DISABLED);
}

#if 0
void SFApp_FreeGDI(void)
{
	gdi_layer_unlock_frame_buffer();
	lcd_power_down();

	TurnOffBacklight();

	mmi_frm_kbd_set_tone_state(MMI_KEY_TONE_ENABLED);
/*
	lcd_power_down();

	TurnOffBacklight();

	mmi_frm_kbd_set_tone_state(MMI_KEY_TONE_ENABLED);
*/
}
#endif
/*
方案二*/
void SFApp_FreeGDI(void)
{
	lcd_power_down();

	TurnOffBacklight();

	mmi_frm_kbd_set_tone_state(MMI_KEY_TONE_ENABLED);
}


void SFApp_Leave(void);
void SFApp_Enter(void);

void EntrySFApp(PS8 filename, BOOL is_short)
{
	memset(u16_g_game_file_name,0x0,FMGR_PATH_BUFFER_SIZE);
	
	pfnUnicodeStrcpy((PS8)u16_g_game_file_name, filename);
	
	SFApp_Entry();
}

void game_simu_highlight(void)
{
	SetLeftSoftkeyFunction(EntryRomList, KEY_EVENT_UP);
	SetKeyHandler(EntryRomList, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
	SetRightSoftkeyFunction(GoBackHistory,KEY_EVENT_UP);
	SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
}

void GameSimuInit(void)
{
	//SetHiliteHandler(MENU_ID_FNG_GAME_SIMU, game_simu_highlight);
}

U8 mmi_game_simu_delete_history_hdlr( void* in_param )
{
	ISFApplication*pApp=SFGetApp();

	if(g_kernal.bAppRunning)
	{
		g_kernal.bAppRunning = SFFalse;
		
		pApp->pfnEvtHandler(pApp,EVT_APP_DESTROY,0,0);
		SFApp_SetFirstTime(SFTrue);

		SFSystem_Finalize();		
	}
}
	
void SFApp_Entry(void)
{
	//create the app first
	EntryNewScreen(SCR_ID_VDOPLY_STREAM_EDITOR,SFApp_Leave,SFApp_Entry,SFNull);
	SetDelScrnIDCallbackHandler( SCR_ID_VDOPLY_STREAM_EDITOR, (HistoryDelCBPtr)mmi_game_simu_delete_history_hdlr );
	

⌨️ 快捷键说明

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