亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? resapp.c

?? 這是在BREW平臺上寫的一個小程序, 主要學會使用SDK工具,然后在模擬器上模擬.
?? C
字號:
/*===========================================================================

FILE: resapp.c
===========================================================================*/


/*===============================================================================
INCLUDES AND VARIABLE DEFINITIONS
=============================================================================== */
#include "AEEModGen.h"          // Module interface definitions
#include "AEEAppGen.h"          // Applet interface definitions
#include "AEEShell.h"           // Shell interface definitions
#include "AEEDisp.h"
#include "AEEStdLib.h"
#include "AEEImage.h"
#include "resapp_res.h"
#include "resapp.bid"

#define szResFile "resapp.bar" 

typedef struct _CResApp
{
	AEEApplet a;
	int m_cxWidth;
	int m_cyHeight;
	int m_nCursorX;
	int m_nCursorY;
	IImage * m_pIImage;
}CResApp;

/*-------------------------------------------------------------------
Function Prototypes
-------------------------------------------------------------------*/
static boolean resapp_HandleEvent(IApplet * pi, AEEEvent eCode, 
                                      uint16 wParam, uint32 dwParam);
static boolean resapp_InitAppData(IApplet* pMe);
static void resapp_FreeAppData(IApplet* pMe);
static void Cresapp_Move(CResApp* pMe, int xc, int yc);

/*===============================================================================
FUNCTION DEFINITIONS
=============================================================================== */

/*===========================================================================

FUNCTION: AEEClsCreateInstance

DESCRIPTION
	This function is invoked while the app is being loaded. All Modules must provide this 
	function. Ensure to retain the same name and parameters for this function.
	In here, the module must verify the ClassID and then invoke the AEEApplet_New() function
	that has been provided in AEEAppGen.c. 

   After invoking AEEApplet_New(), this function can do app specific initialization. In this
   example, a generic structure is provided so that app developers need not change app specific
   initialization section every time except for a call to IDisplay_InitAppData(). 
   This is done as follows: InitAppData() is called to initialize AppletData 
   instance. It is app developers responsibility to fill-in app data initialization 
   code of InitAppData(). App developer is also responsible to release memory 
   allocated for data contained in AppletData -- this can be done in 
   IDisplay_FreeAppData().

PROTOTYPE:
   int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)

PARAMETERS:
	clsID: [in]: Specifies the ClassID of the applet which is being loaded

	pIShell: [in]: Contains pointer to the IShell object. 

	pIModule: pin]: Contains pointer to the IModule object to the current module to which
	this app belongs

	ppObj: [out]: On return, *ppObj must point to a valid IApplet structure. Allocation
	of memory for this structure and initializing the base data members is done by AEEApplet_New().

DEPENDENCIES
  none

RETURN VALUE
  AEE_SUCCESS: If the app needs to be loaded and if AEEApplet_New() invocation was
     successful
  EFAILED: If the app does not need to be loaded or if errors occurred in 
     AEEApplet_New(). If this function returns FALSE, the app will not be loaded.

SIDE EFFECTS
  none
===========================================================================*/
int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)
{
   *ppObj = NULL;
		
   if(ClsId == AEECLSID_RESAPP){
      if(AEEApplet_New(sizeof(CResApp), ClsId, pIShell,po,(IApplet**)ppObj,
         (AEEHANDLER)resapp_HandleEvent,(PFNFREEAPPDATA)resapp_FreeAppData) == TRUE)
	  {
		  if(resapp_InitAppData((IApplet*)*ppObj)==TRUE)
		  {
			  return (AEE_SUCCESS);
		  }
      }
   }
	return (EFAILED);
}

static boolean resapp_InitAppData(IApplet* pi)
{
	AEEDeviceInfo di;
	CResApp* pMe = (CResApp*)pi;

	pMe->m_pIImage = NULL;

	if(pMe->a.m_pIShell)
	{
		ISHELL_GetDeviceInfo(pMe->a.m_pIShell, &di);
		pMe->m_cxWidth = di.cxScreen;
		pMe->m_cyHeight = di.cyScreen;
	}

	pMe->m_nCursorX = pMe->m_cxWidth/2;
	pMe->m_nCursorY = pMe->m_cyHeight*2/3;

	if((pMe->m_pIImage = ISHELL_LoadResImage(pMe->a.m_pIShell,
		szResFile, IDB_CURSOR)) == NULL)
	{
		return FALSE;
	}
	return TRUE;
}

static void resapp_FreeAppData(IApplet* pi)
{
	CResApp* pMe = (CResApp*)pi;
	
	if(pMe->m_pIImage != NULL)
	{
		IIMAGE_Release(pMe->m_pIImage);
	}
}

/*===========================================================================

FUNCTION resapp_HandleEvent

DESCRIPTION
	This is the EventHandler for this app. All events to this app are handled in this
	function. All APPs must supply an Event Handler.

PROTOTYPE:
	boolean resapp_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)

PARAMETERS:
	pi: Pointer to the AEEApplet structure. This structure contains information specific
	to this applet. It was initialized during the AEEClsCreateInstance() function.

	ecode: Specifies the Event sent to this applet

   wParam, dwParam: Event specific data.

DEPENDENCIES
  none

RETURN VALUE
  TRUE: If the app has processed the event
  FALSE: If the app did not process the event

SIDE EFFECTS
  none
===========================================================================*/
static boolean resapp_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{  
	AEERect rc;
	AECHAR szBuf[30] = {0};

	CResApp * pMe = (CResApp*)pi;

   switch (eCode) 
	{
      case EVT_APP_START:     
		  IDISPLAY_ClearScreen(pMe->a.m_pIDisplay);

		  ISHELL_LoadResString(pMe->a.m_pIShell, RESAPP_RES_FILE,
			  IDS_STRING1, szBuf, sizeof(szBuf));
		  IDISPLAY_DrawText(pMe->a.m_pIDisplay, AEE_FONT_NORMAL, szBuf,
			  -1, pMe->m_cxWidth/5, pMe->m_cyHeight/8, 0, 0);

		  ISHELL_LoadResString(pMe->a.m_pIShell, RESAPP_RES_FILE,
			  IDS_STRING2, szBuf, sizeof(szBuf));
		  IDISPLAY_DrawText(pMe->a.m_pIDisplay, AEE_FONT_NORMAL,szBuf,
			  -1, pMe->m_cxWidth/5, pMe->m_cyHeight/5, 0, 0);

		  SETAEERECT(&rc, 0, pMe->m_cyHeight/2 - 2, pMe->m_cxWidth, 2);
		  IDISPLAY_DrawRect(pMe->a.m_pIDisplay, &rc, 0, 1, IDF_RECT_FILL);

		  IIMAGE_Draw(pMe->m_pIImage, pMe->m_nCursorX, pMe->m_nCursorY);

		  IDISPLAY_Update(pMe->a.m_pIDisplay);		    
		    
      		return(TRUE);
	  case EVT_KEY:
		  switch(wParam)
		  {
		  case AVK_LEFT:
		  case AVK_RIGHT:
			  Cresapp_Move(pMe, (wParam == AVK_RIGHT ? 1 : -1), 0);
			  break;
		  case AVK_UP:
		  case AVK_DOWN:
			  Cresapp_Move(pMe, 0, (wParam == AVK_UP ? -1 : 1));
			  break;
		  default:
			  return(FALSE);
		  }
      case EVT_APP_STOP:

		    // Add your code here .....

         return TRUE;
      default:
         break;
   }
   return FALSE;
}

static void Cresapp_Move(CResApp* pMe, int xc, int yc)
{
	AEEImageInfo iInfo;
	int min, max;
	int x = pMe->m_nCursorX;
	int y = pMe->m_nCursorY;

	IIMAGE_GetInfo(pMe->m_pIImage, &iInfo);

	//IDISPLAY_EraseRgn(pMe->a.m_pIDisplay, x, y, iInfo.cx, iInfo.cy);

	x +=xc;
	y +=yc;

	min = 0;
	max = pMe->m_cxWidth - iInfo.cx;
	x = ((x , min) ? (min) : (x > max) ? max : (y));

	min = pMe->m_cyHeight/2;
	max = pMe->m_cyHeight - iInfo.cy;
	y = ((y < min) ? (min) : (y > max) ? max : (y));

	IIMAGE_Draw(pMe->m_pIImage, x, y);

	pMe->m_nCursorX = x;
	pMe->m_nCursorY = y;

	IDISPLAY_Update(pMe->a.m_pIDisplay);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产酒店精品激情| 亚洲免费av高清| 国产日韩欧美精品在线| 日韩精品一区二区三区中文精品| 精品污污网站免费看| 91精品国产日韩91久久久久久| 欧美一区二区免费| 国产欧美日韩在线| 亚洲欧美激情一区二区| 天天综合网天天综合色| 国产一区激情在线| 成人黄色a**站在线观看| 91老师片黄在线观看| 欧美日韩国产系列| 久久久久九九视频| 午夜精品一区在线观看| 成人激情免费视频| 日韩欧美色综合| 亚洲国产日韩精品| 国产精品系列在线观看| 在线播放国产精品二区一二区四区 | 成人ar影院免费观看视频| 678五月天丁香亚洲综合网| 久久婷婷成人综合色| 亚洲动漫第一页| www.av亚洲| 亚洲国产成人一区二区三区| 五月天亚洲婷婷| 91福利在线看| 综合激情成人伊人| 国产精品影音先锋| 精品捆绑美女sm三区| 免费一级欧美片在线观看| 在线看一区二区| 一区二区三区中文字幕精品精品| 国产99一区视频免费| 久久久www成人免费无遮挡大片| 日韩精品久久久久久| 欧美性猛片aaaaaaa做受| 一区二区三区四区精品在线视频| 欧美日韩国产a| 一区二区三区四区在线| 91成人免费在线视频| 亚洲一区av在线| 欧洲精品一区二区| 日本女人一区二区三区| 91精品福利在线一区二区三区| 亚洲成人三级小说| 91精品国产综合久久久久久久 | 欧美日韩视频在线第一区| 一区二区三区欧美日| 91精品在线免费观看| 国产伦理精品不卡| 椎名由奈av一区二区三区| 91老师片黄在线观看| 免费观看成人av| 国产精品久久久久桃色tv| 日本久久电影网| 国产在线视频不卡二| 日韩一区在线看| 精品成人一区二区三区四区| 91影院在线免费观看| 日本欧美久久久久免费播放网| 国产网站一区二区| 日韩一区二区三| 91在线免费视频观看| 国产一区二区三区不卡在线观看| 亚洲欧美福利一区二区| 精品粉嫩aⅴ一区二区三区四区| 99久久婷婷国产综合精品电影 | 亚洲欧美日韩一区| 久久人人爽人人爽| 欧美xfplay| 欧美一级免费大片| 在线不卡欧美精品一区二区三区| 91丝袜国产在线播放| 成人综合激情网| 丁香天五香天堂综合| 精品一区二区三区免费播放 | 欧美一区二区成人| 色狠狠桃花综合| 一本久道中文字幕精品亚洲嫩| www.亚洲色图| 97精品超碰一区二区三区| 国产超碰在线一区| 国产91露脸合集magnet| 福利一区二区在线| 国产成人亚洲综合a∨婷婷| 韩国v欧美v日本v亚洲v| 国产精品99久久久| 成人黄色软件下载| 国产91精品一区二区麻豆亚洲| 国产成人在线免费| av日韩在线网站| 欧美午夜一区二区| 精品久久人人做人人爽| 久久精品一二三| 亚洲精品国产成人久久av盗摄| 伊人婷婷欧美激情| 亚洲福利视频导航| 国产精品99久久久久久久女警| 91香蕉视频污| 欧美精选午夜久久久乱码6080| 91麻豆精品国产无毒不卡在线观看 | 精品对白一区国产伦| 欧美韩国日本综合| 午夜一区二区三区视频| 国产乱妇无码大片在线观看| 91啪九色porn原创视频在线观看| 欧美一级一级性生活免费录像| 国产欧美日韩在线视频| 亚洲第一成年网| 成人在线综合网| 日韩欧美一区在线| 亚洲综合图片区| va亚洲va日韩不卡在线观看| 欧美精品亚洲二区| 亚洲午夜免费电影| 9久草视频在线视频精品| 久久综合九色综合欧美98| 午夜欧美2019年伦理| 在线观看91视频| 亚洲精品ww久久久久久p站| 成人综合婷婷国产精品久久 | 91麻豆精品一区二区三区| 国产日产欧美精品一区二区三区| 久久精品国产在热久久| 欧美日韩国产免费一区二区| 亚洲激情五月婷婷| 91麻豆swag| 亚洲福利视频一区| 日韩午夜精品电影| 经典三级一区二区| 国产欧美日韩在线| 成熟亚洲日本毛茸茸凸凹| 国产亚洲欧美色| 国产精品一色哟哟哟| 国产欧美日韩综合精品一区二区| 成人免费视频网站在线观看| 中文字幕一区二区不卡 | ...xxx性欧美| 91久久精品网| 免费日本视频一区| 中文字幕第一区第二区| 欧美日韩视频在线观看一区二区三区| 亚洲综合视频网| 精品国产一区二区三区av性色| 国产99久久精品| 亚洲成人免费视频| 欧美激情一区二区三区四区| 色乱码一区二区三区88| 久久精品99久久久| 亚洲免费av观看| 国产欧美一区在线| 欧美女孩性生活视频| 国产成人av影院| 麻豆精品在线播放| 一区二区三区在线高清| 欧美精品一区二区三区高清aⅴ | 成人在线视频一区二区| 性欧美大战久久久久久久久| 国产精品高潮久久久久无| 欧美日本一道本| 国产日韩欧美精品一区| 日韩视频在线观看一区二区| 91免费在线视频观看| 国产不卡视频在线观看| 美国十次综合导航| 日韩专区一卡二卡| 亚洲一区在线看| 夜夜精品浪潮av一区二区三区| 久久精品欧美一区二区三区不卡| 3d成人h动漫网站入口| 欧美午夜精品理论片a级按摩| 色综合久久九月婷婷色综合| 成人免费视频app| 99久久精品费精品国产一区二区| 成人爽a毛片一区二区免费| 成人美女视频在线观看18| www.欧美亚洲| 色综合久久综合网欧美综合网| 99麻豆久久久国产精品免费| caoporm超碰国产精品| 色综合久久综合| 欧美电影一区二区三区| 日韩欧美一区在线| 日本一区二区免费在线观看视频| 国产精品人妖ts系列视频 | 99久久精品国产麻豆演员表| 懂色av噜噜一区二区三区av | 国产精品二三区| 亚洲成人777| 国产综合一区二区| 91丝袜美女网| 精品国产乱码91久久久久久网站| 久久久久久久久久看片| 成人免费在线观看入口| 日产国产欧美视频一区精品| 成人精品国产一区二区4080| 欧美日韩国产一二三|